https://blog.csdn.net/yuanlaijike/article/details/79654183
最近在学习一个分布式项目,使用到了 dubbo
,之前没有使用过,体验一下,分布式项目地址:点击这里。
下面我使用 dubbo 官网的一张图来介绍下dubbo
(本人才开始学习,如有错误,欢迎指正):
Registry:注册中心,相当于房产中介,服务提供者和使用者都需要在这里注册/使用服务,我使用 zookeeper 实现。
Monitor:监控中心,相当于房产局,它可以统计服务提供者和服务使用者的一些信息,及他们之间的关系,我使用 dubbo admin 实现。
Provider:服务提供者,相当于房东,提供服务。
Consumer:服务消费者,想当于租户,使用服务。
下面我通俗的解释下 dubbo 的整个流程,我将服务比喻成房子:
start:dubbo 一启动,房东想好自己准备要租出去的房子
register:房东将房子拿到房产中介那边进行登记,并留下自己的联系方式
subscribe:租户告诉房产中介自己想租一个什么样的房子
notify:房产中介回复给租户符合条件的房子的房东的联系方式
invoke:租户拿着联系方式去找房东租房子
count:房产局全程监控着房东和租户之间的交易
其中:
start、register、subscribe 在 dubbo 服务一启动就完成了
notify、count 是异步执行的
invoke 是同步执行的
一、搭建 Java 和 Tomcat 环境
这一步比较简单,直接跳过,不会的可以看下这篇文章:Linux搭建JavaWeb开发环境(Java、Tomcat、MySQL)
二、搭建 Zookeeper 环境
我使用的是 zookeeper-3.5.2-alpha,点我下载。
三、搭建 Dubbo 监控中心
版本要求:
请使用 dubbo-admin-2.5.6.war 及以上版本,否则会不支持JDK1.8!下载链接:点击这里
小心踩坑:
如果你的 zookeeper 和 dubbo-admin 在一台服务器上,dubbo-admin 不用修改任何内容!
如果不在一台服务器上,将 war 包解压后,修改项目 /WEF-INF/dubbo.properties文件,将 zookeeper 地址改为其所在服务器的地址(这里同时能修改 root 用户和 guest 用户的密码)。