- dubbo
分布式企业级分布式框架
https://dubbo.gitbooks.io/dubbo-user-book/content/preface/background.html
二,背景
三,dubbo框架的原理
四,zookeeper
分布式协调服务组件
目的:解决分布式数据事务一致性
节点:类似于路径,节点可以存储数据
能做什么
- 管理配置文件
- 充当dubbo的注册中心
- 管理域名
单节点安装
条件:安装JDK,
解压,
http://archive.apache.org/dist/zookeeper/zookeeper-3.4.10/
创建配置文件zoo.cfg
启动
集群安装
安装三个zookeeper
- 创建集群目录
- 配置完整一个服务
复制单节点到集群目录
创建数据文件目录
在数据文件目录添加myid文件
修改zk1/conf/zoo.cfg
myid:用于存储节点表示(编号)
zoo.cfg文件:用于配置集群
- 复制2份,共计三个服务
分别修改zk2,zk3的myid,zoo.cfg文件内容
- 启动
注意:关闭单节点zookeeper,避免避免端口冲突
五,安装监控中心
-
创建安装目录
-
解压
-
修改配置文件
-
启动
禁用防火墙
六,安装管理控制台(不是必须安装,只是为了方便管理)
- 解压tomcat,清空tomcat/webapps/ROOT
- 解压dubbo-admin.war至tomcat/webapps/ROO目录
- 修改dubbo.properties
- 启动tomcat
七,项目结构
dubbo-service:用于添加JAVA接口interface
dubbo-provider:用于添加JAVA接口实现类,并且发布服务
dubbo-consumer:用于消费服务,即服务的调用
服务发布
创建dubbo-service项目
https://mvnrepository.com/artifact/com.alibaba/dubbo/2.5.8
修改pom文件
|
|
创建dubbo-provider 项目
修改pom文件添加依赖
|
|
dubbo-provider.xml
|
编写main方法发布
|
创建dubbo-consumer项目
修改POM文件
|
创建dubbo-consumer.xml文件
|
编写测试类comsumer的main方法
|
八,负载均衡和注解
配置文件的方式
- 随机
loadbalance=”dandom”
默认是随机的
- 轮询
如果很慢就会卡住拥挤
loadbalance=”roundrobin”
- 最小活跃数原则
loadbalance
=
“leastactive”
- 一致性hash原则
一次调用成功永远调用
loadbalance
=
“consistenthash”
comsummer的XML文件配置
<
dubbo:reference
id
=
“demoService”
interface
=
“com.ljw.service.DemoService”
loadbalance
=
“dandom”
/>
注解的方式
Provider项目修改配置,开启注解
|
实现类添加注解
|
Comsumer项目
POM
|
开启注解
<!– 4
开启注解
–>
<
dubbo:annotation
package
=
“com.ljw.comsumer”
/>
测试类
|
九,dubbo多版本
部分程序更新,部分服务不更新的情况
Provider项目
|
Comsumer项目
|
十,分组聚合
Comsumer