为了实”微服”,用了dubbo管理各个生产者,消费者之间的关系,使服务之间透明。主要关系:
图凑活看吧,个人理解大概意思是这样子。
注解:
zookeeper负责rpc服务之间的通信,
dubbo负责系统之间的服务的管理(github下载连接),
consumer服务消费者,消费者一般是是web工程(负责接收htttp等请求,可以理解为带有controller层),
provider为生产者,一般是业务,为service层,
所以上面流程对应途中的顺序是
1,dubbo注册到zookeeper为通信做准备,
2,服务生产者暴露服务接口到dubbo,
3,服务消费者注册需要的服务到dubbo,
4,消费者通过获取的到的对应的服务接口调用对应的servcie接口,
环境搭建:
下载和系统对应的jdk,zookeeper,dubbo-admin(我能提供2.5.4版本的);
jdk安装不在说,
一,zookeeper安装win7直接点击.exe按照提示就行,mac安装可以用:
$brew install zookeeper
==> Downloading https://homebrew.bintray.com/bottles/zookeeper-3.4.6_1.mavericks.bottle.2.tar.gz
######################################################################## 100.0%
==> Pouring zookeeper-3.4.6_1.mavericks.bottle.2.tar.gz
==> Caveats
To have launchd start zookeeper at login:
ln -sfv /usr/local/opt/zookeeper/*.plist ~/Library/LaunchAgents
Then to load zookeeper now:
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.zookeeper.plist
Or, if you don't want/need launchctl, you can just run:
zkServer start
==> Summary
�� /usr/local/Cellar/zookeeper/3.4.6_1: 207 files, 13M
安装完成可以从下面目录看下配置文件(win环境下zoo.cfg是没有安装之后,所以可以把zoo_sample.cfg复制从新命名为zoo.cfg,原因是zk启动的时候需要加载)。
ls /usr/local/etc/zookeeper
defaults log4j.properties zoo.cfg zoo_sample.cfg
zookeeper服务启动
$ zkServer start
JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Starting zookeeper ... STARTED
可以用zk客户端看是否可连接:
$zkCli
Connecting to localhost:2181
Welcome to ZooKeeper!
JLine support is enabled
[zk: localhost:2181(CONNECTING) 0]
[zk: localhost:2181(CONNECTING) 0]
WATCHER::
WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] ls
[zk: localhost:2181(CONNECTED) 1] ls /
二,dubbo-admin安装:
打开tomcat找到webapps删除默认的ROOT把下载好的复制到这目录,找到WEB—INF文件,可以看到有个dubbo.properties文件,打开之后看到