在之前的项目工作一直在用dubbo,但都没有时间去自己搭建和研究过源码。这几天看有点时间就自己动手搭建了一下。
官方文档
http://alibaba.github.io/dubbo-doc-static/User+Guide-zh.htm
里面对dubbo做了详细介绍。
体验步骤
文档中的体验demo部署过于复杂,要到github下载源码、还要打包、还要部署什么的,太复杂。
- 到dubbo的github上下载源码https://github.com/alibaba/dubbo,如果没有在电脑上安装git的话,找到DownLoad ZIP直接下载也行。
- 下载完成后如果是IDEA的话,直接File-->import project-->找到dubbo文件下pom.xml
- 如果是eclipse,官方给出的解决方法是
mvn eclipse:eclipse Eclipse -> Menu -> File -> Import -> Exsiting Projects to Workspace -> Browse -> - 还需要在一电脑或虚拟机上安装一个ZooKeeper
-
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
- 到dubbo项目下,dubbo-demo-->dubbo-dumo-consumer和dubbo-demo-provider->src->test->resources->dubbo.properties配置
- 将dubbo.registry.address=multicast://224.5.6.7:1234注销,添加dubbo.registry.address=zookeeper://172.16.3.58:2181 ,将172.16.3.58改成自己的IP
- dubbo-dumo-consumer和dubbo-demo-provider的dubbo.properies都要改
- 通过编译器直接运行test->java->com.alibaba.dubbo.demo.provider的DemoProvider.可以多启动几个,启动多个provider时,每次都需要修改一下dubbo.protocol.port=20880的端口号
- 通过编译器直接运行test->java->com.alibaba.dubbo.demo.comsumer的DemoConsumer.可以多启动几个
图中是我启动的provider第二个,第一个端口是20880,第二个是20881,都通过172.16.3.58的zookeeper注册中心进行注册。
起一个Consumer,先到zookeeper注册拿到服务列表从图中看到consumer已经与provider进行通讯,并且实现了软负载。
PS:可能启动zooKeeper的时候回报错误,解决方法是添加加黑代码
nohup $JAVA "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \
-cp "$CLASSPATH" $JVMFLAGS $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &
zkpid=$!;
if [ $? -eq 0 ]
then
<strong>while [ ! -d `dirname $ZOOPIDFILE` ]
do
sleep 1;
done</strong>
if /bin/echo -n $zkpid > "$ZOOPIDFILE"
then
sleep 1
echo STARTED
else
echo FAILED TO WRITE PID
exit 1
fi

628

被折叠的 条评论
为什么被折叠?



