Spring 集成 Dubbo
Duboo是什么
DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,000,000,000+次访问量支持,并被广泛应用于阿里巴巴集团的各成员站点。
可以看出在阿里内部广泛应用,类似的还有Spring Cloud。
准备工作
准备两虚机,我这里用了CentOS7.2,加上本机可组成多提供者和消费者(当然一个虚机和不用虚机也可以)
我准备的两台IP为:192.168.124.129(用于 dubbo-admin) 192.168.124.131(用于 zookeeper 注册中心)
具体实现步骤
1、安装zookeeper
在其中一台虚机(192.168.124.131)中安装zookeeper,我这里安装的是zookeeper-3.4.9
下载后上传到虚机任意目录后解压,我上传到了 /usr/local 中文件夹名 zookeeper 后启动
/usr/local/zookeeper/bin/zkServer.sh start
[root@localhost ~]# /usr/local/zookeeper/bin/zkServer.sh start
2、部署dubbo-amdin
在另一台虚机(192.168.124.129)中部署dubbo-amdin 如果用的是duboo-admin 2.5.4的话是不能用jdk1.8,可以从github下载源码编译,最新版是支持的
部署很简单,
用编译好的直接替换 Tomcat 下webapps/ROOT中文件,打开WEB-INF/dubbo.properties并进行如下修改
dubbo.registry.address=zookeeper://192.168.124.131:2181 注册中心地址dubbo.admin.root.password=root --管理员密码
打开 192.168.124.129:8080 出现登录界面如下:
用root账号登录界面如下:
登录成功后看到如下界面,提供者和消费者都还没有,接下来的任务是注册提供者
3、提供者实现(Provider)
先建项目:
最格结构如下:
提供者配置文件applicationProvider.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"
4、消费者
消费者配置文件applicationConsumer.xml
<?xml version="1.0" encoding="UTF-8" ?><beans xmlns="http://www.springframework.org/schema/beans"
MVC配置 spring-mvc.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"
5、运行情况
运行提供者, 再看Dubbo Admin中提供者界面,已经注册成功
运得消费者后再看Dubbo Admin中消费者界面,已注册成功
打包提供者和消费者后发布到 129服务器,后运行
在Dubbo Admin 中看到提供者和消费者都是两个
6、负载均衡
增加负载,设置为轮询
把本地代码修改返回加上 本地 两个字后,我们刷新消费者可以看到,有这两个字和没有信息交替出现,证明我们的负载成功了
7、Github
相关代码放到了Github中 地址:https://github.com/kuaibao/kuaibao-dubbo
只是最简单的实现,如有好的建议请帮忙改进,谢谢!