dubbo demo 的 github 地址 、
https://github.com/alibaba/dubbo/tree/master/dubbo-demo
1 安装与准备
dubbo 采用全 spring 配置方式,透明化接入应用,对应用没有侵入。
运行一个 demo 程序需要准备这些:
- 注册中心 zookeeper
- tomcat
- 示例 dubbo demo 的 provider,consumer
- dubbo admin 管理程序
使用 idea 打开 dubbo-demo ,执行
mvn install -Dmaven.test.skip=true
命令
2 运行
2.1 使用 ZooKeeper 作为注册中心
进入解压后的 zookeeper 目录,创建 conf/zoo.cfg(可参考同目录下的 sample 文件),其内容如下:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper/tmp/data # 自己定义
dataLogDir=/tmp/zookeeper/tmp/log # 自己定义
clientPort=2181
server.1=localhost:2287:3387
执行 bin/zkServer.cmd start
启动 zookeeper,执行bin/zkCli.cmd -server 127.0.0.1:2181
查看是否启动成功。
2.2 dubbo 提供者和消费者服务
Demo 在 dubbo-demo 文件夹下,因为前面在 dubbox 下执行过 mvn install,都已经打包好了,这里可以直接执行来启动 demo provider, consumer,如下图所示。
当 provider 执行后看到
...
[12/01/18 02:18:29:029 CST] main INFO zookeeper.ZookeeperRegistry: [DUBBO] Notify urls for subscribe url provider://192.168.96.1:8888/services/com.alibaba.dubbo.demo.user.facade.AnotherUserRestService?accepts=500&anyhost=true&application=demo-provider&category=configurators&check=false&connections=100&dubbo=2.8.4&extension=com.alibaba.dubbo.demo.extension.TraceInterceptor, com.alibaba.dubbo.demo.extension.TraceFilter, com.alibaba.dubbo.demo.extension.ClientTraceFilter, com.alibaba.dubbo.demo.extension.DynamicTraceBinding, com.alibaba.dubbo.demo.extension.CustomExceptionMapper, com.alibaba.dubbo.rpc.protocol.rest.support.LoggingFilter&generic=false&interface=com.alibaba.dubbo.demo.user.facade.AnotherUserRestService&methods=getUser,registerUser&organization=dubbox&owner=programmer&pid=3428&server=tomcat&side=provider&threads=500&timeout=2000×tamp=1515737909679&validation=true, urls: [empty://192.168.96.1:8888/services/com.alibaba.dubbo.demo.user.facade.AnotherUserRestService?accepts=500&anyhost=true&application=demo-provider&category=configurators&check=false&connections=100&dubbo=2.8.4&extension=com.alibaba.dubbo.demo.extension.TraceInterceptor, com.alibaba.dubbo.demo.extension.TraceFilter, com.alibaba.dubbo.demo.extension.ClientTraceFilter, com.alibaba.dubbo.demo.extension.DynamicTraceBinding, com.alibaba.dubbo.demo.extension.CustomExceptionMapper, com.alibaba.dubbo.rpc.protocol.rest.support.LoggingFilter&generic=false&interface=com.alibaba.dubbo.demo.user.facade.AnotherUserRestService&methods=getUser,registerUser&organization=dubbox&owner=programmer&pid=3428&server=tomcat&side=provider&threads=500&timeout=2000×tamp=1515737909679&validation=true], dubbo version: 2.8.4, current host: 127.0.0.1
[12/01/18 02:18:29:029 CST] main INFO container.Main: [DUBBO] Dubbo SpringContainer started!, dubbo version: 2.8.4, current host: 127.0.0.1
[2018-01-12 14:18:29] Dubbo service server started!
consumer 执行后看到
...
[12/01/18 02:33:19:019 CST] main INFO support.LoggingFilter: [DUBBO] The contents of request body is:
{"id":1,"username":"username1"}
, dubbo version: 2.8.4, current host: 192.168.96.1
SUCCESS: got user User (id=1, name='username1')
[12/01/18 02:33:19:019 CST] main INFO container.Main: [DUBBO] Dubbo SpringContainer started!, dubbo version: 2.8.4, current host: 192.168.96.1
[2018-01-12 14:33:19] Dubbo service server started!
2.3 tomcat 运行 dubbo admin
在 dubbo-admin 的 target 目录下找到 war 包(没有的话就 mvn package 一下),放到 tomcat 目录下的webapps 下。
执行bin/startup.bat
启动 tomcat,打开localhost:8080
,一开始会有点慢,tomcat 要解压 war 文件,解压完毕后 webapps 下出现对应的文件夹(如上面 ls 所示),进入该文件夹,
> vim webapps/dubbo-admin-2.8.4/WEB-INF/dubbo.properties
编辑 dubbo-admin 的 zookeeper 配置。
dubbo.registry.address=zookeeper://127.0.0.1:2181
# 帐号对应的密码,初次访问的时候需要用到
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest
启动 shutdown.bat
关闭已经启动的 tomcat ,再使用 startup.bat
重启 tomcat
打开 http://localhost:8080/dubbo-admin-2.8.4
,输入帐号密码即可看到 dubbo-admin 的管理页面。上面运行的 provider 和 consumer demo 在服务治理下。
参考:
dubbo 简介与 dubbo demo 运行
http://wulfric.me/2017/03/intro-dubbo/