dubbo 试用全过程
概述:
dubbo服务容器是一个standalone的启动程序,因为后台服务不需要Tomcat或JBoss等Web容器的功能,如果硬要用Web容器去加载服务提供方,增加复杂性,也浪费资源。 服务容器只是一个简单的Main方法,并加载一个简单的Spring容器,用于暴露服务。 服务容器的加载内容可以扩展,内置了spring, jetty, log4j等加载,可通过Container扩展点进行扩展,参见:Container Spring Container 自动加载META-INF/spring目录下的所有Spring配置
1.下载地址
https://github.com/alibaba/dubbo/
2.导入IDE
cd ~/dubbo
mvn eclipse:eclipse(执行了两次mvn下载,第一次执行失败有些jar没下载下来,重新执行成功) Eclipse -> Menu -> File -> Import -> Exsiting Projects to Workspace -> Browse -> Finish 3. 如果修改dubbo源码则需要重新构建dubbo
cd ~/dubbo
mvn clean install -Dmaven.test.skip
cd dubbo/target 4.Install the zookeeper registry:
cd ~
wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz
tar zxvf zookeeper-3.3.3.tar.gz
cd zookeeper-3.3.3/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
- edit: dataDir=/home/xxx/data
cd ../bin
./zkServer.sh start
cd ~/dubbo/dubbo-demo-provider/conf
vi dubbo.properties
- edit: dubbo.registry.adddress=zookeeper://127.0.0.1:2181
cd ../bin
./restart.sh
cd ~/dubbo/dubbo-demo-consumer/conf
vi dubbo.properties
- edit: dubbo.registry.adddress=zookeeper://127.0.0.1:2181
cd ../bin
./restart.sh
cd ~/dubbo/dubbo-simple-monitor/conf
vi dubbo.properties
- edit: dubbo.registry.adddress=zookeeper://127.0.0.1:2181
cd ../bin
./restart.sh 5.启动过程
00zkServer.cmd
01start_provider.bat
02start_consumer.bat(可选,基本不用)
03start_monitor.bat (可选,监控使用,会占用本地8080端口)
04start_admin.bat(基本不用,管理控制器部署在tomcat下即可,dubbo-admin-2.5.4-SNAPSHOT.war) 6.服务端开发
通过dubbo自带例子下进行开发,采用maven构建,mvn build 7.客户端开发
通过java工程开发,但是至少需要导入如下jar8.管理控制台
http://127.0.0.1:8087(8080端口被监控应用占用了,找了好长时间的原因)
dubbo-admin-2.5.4-SNAPSHOT.war(该war一定要部署在tomcat/webapp/ROOT下面)
root/rooot
消费者访问服务必须长连接才能在管理控制台看见消费者,因为是基于zookeeper进行连接的,一但客户端线程结束,则立马会断开zookeeper的连接
9.客户端事例代码
package com.rigid;
import java.io.IOException;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import com.alibaba.dubbo.demo.VendorService;
public class Main3 {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext(
"/bin/conf/spring.*");
context.start();
VendorService vendorService = (VendorService) context.getBean("vendorService");
vendorService.createVendor("rigid");
System.in.read();
}
}
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean id="orderService" class="com.rigid.OrderService"></bean> </beans>
dubbo 试用全过程的更多相关文章
- dubbo简述
转http://blog.csdn.net/hzzhoushaoyu/article/details/4327309 一.前言 部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一 ...
- dubbo学习过程、使用经验分享及实现原理简单介绍
一.前言 部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下. 整理这篇文章差不 ...
- 【Dubbo基础】dubbo学习过程、使用经验分享及实现原理简单介绍
一.前言 部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下. 整理这篇文章差不 ...
- Dubbo学习总结(2)——Dubbo架构详解
一.前言 部门去年年中开始各种改造,第一步是模块服务化,这边初选dubbo试用在一些非重要模块上,慢慢引入到一些稍微重要的功能上,半年时间,学习过程及线上使用遇到的些问题在此总结下. 整理这篇文章差不 ...
- 【活动】监控宝惹火Docker监控,开放试用中
要说这两年最火爆的技术有哪些,Docker绝对是其中之一. 有人说,Docker缺少必要的运维监控工具,实践起来有难度. 幸福来的太快了. 云智慧旗下产品监控宝又惹火了,推出重量级新功能——Docke ...
- dubbo 转
http://blog.csdn.net/zhiguozhu/article/details/50517513 背景 随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式 ...
- dubbo模块组织方式
dubbo源码版本:2.5.4 阿里通过maven将dubbo的36个模块组织成了一个项目,各个模块结构如下: -------------------------------------------- ...
- Dubbo框架中的应用(两)--服务治理
Dubbo服务治理了看法 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGlzaGVoZQ==/font/5a6L5L2T/fontsize/400/fi ...
- Dubbo集成步骤
dubbo协议实现与webservice一样的效果,用于服务调用之间的接口.dubbo可在中间实现真正意义上的中间调用管理,是一个中间管理系统. demo:http://www.devnote.cn/ ...
随机推荐
- bug提交模板
简述所属版本所属模块严重等级优先级分配给[网络情况][前置条件][详情描述] 1. 2. 3.[预期结果][实际结果][历史版本][备注][是否补充用例] 另外: 1.若和界面有关的bug尽量提供对应 ...
- Git pull 强制覆盖本地文件
git fetch --all git reset --hard origin/master git pull
- Python学习笔记05
类 继承:单继承,多继承 方法:self开头,类似C#中的this 属性:直接写变量 对象:使用类名() 构造 __init__():构造函数 #多继承 class A(object): ...... ...
- UVa11082 Matrix Decompressing(最小费用最大流)
题目大概有一个n*m的矩阵,已知各行所有数的和的前缀和和各列所有数的和的前缀和,且矩阵各个数都在1到20的范围内,求该矩阵的一个可能的情况. POJ2396的弱化版本吧..建图的关键在于: 把行.列看 ...
- 使用oracle11g_instant_client来解决在不安装oracle客户端的情况下连接服务端
一.下载instantclient_11_2,可去oracle官网进行下载. 二.解压缩下载的instantclient_11_2,将instantclient_11_2目录拖放到C:\Program ...
- Javascript 利用a标签自动解析URL分析网址实例
/* * @function: 通过a标签解析url标签 * @param:url url参数是字符串,解析的目标 通过IE6-9 chrome Firefox测试 * */ function par ...
- APP测试流程
1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向 ...
- 【BZOJ】1998: [Hnoi2010]Fsk物品调度
http://www.lydsy.com/JudgeOnline/problem.php?id=1998 题意: 给你6个整数$n,s,q,p,m,d$. 有$n$个位置和$n-1$个盒子,位置编号从 ...
- linux修改系统编码
Windows的默认编码为GBK,Linux的默认编码为UTF-8.在Windows下编辑的中文,在Linux下显示为乱码.一种方法是在windows进行转码,比如使用ue工具在文件-->转换 ...
- Selenium_webdriver获取iframe子页面元素
有时候我们在定位一个页面元素的时候发现一直定位不了,反复检查自己写的定位器没有任何问题,代码也没有任何问题.这时你就要看一下这个页面元素是否在一个iframe中,这可能就是找不到的原因之一.如果你在一 ...
8.管理控制台