Dubbox 分布式服务框架
概念
- dubbox 属于dubbo的升级版,用在分布式的项目中,是一种分布式服务框架,
- 特点
- RPC 远程服务调用
- RPC 远程服务调用
- 特点
实现不同进程之间的通信,例如分布式项目中,查询品牌的Service,在运营商管理后台Control中调用,就实现的不同服务器直接的数据交互,又例如在android中的分享功能,微信同QQ之间进程相互唤醒机制;在这些又涉及到心跳,长连接,短连接等等
- SOA 服务治理
服务的治理,从名字可以理解对于服务进行监听,监管,可以在dubbox后台查看服务的注册,消费的次数,时间等信息,同时也可以将web层 service层进行分离,实现多对多的关系
原理实现
service一启动就会部署到tomcat容器中,同时向zookeeper注册中心建立长连接,注册服务,另一边通过这个从注册中心去订阅服务,也是长连接,一旦连接失效,dubbox通过软负载算法推荐另一个低负载的service供其调用。
下图是目前市面上主流的分布式项目图解,朋友们可以参考一下
-
dubbox源码编译,部署到tomcat中
下载dubbox源码包 dubbox-master.zip ,将此压缩包解压,在命令符下进入 dubbo-admin 目录 ,输入 maven 命令
mvnpackage-Dmaven.skip.test=true
进入 target 文件夹,你会看到一个 dubbo-admin-2.8.4.war ,将其放到tomcat中webapp中就可以了
如果你部署在 zookeeper 同一台主机并且端口是默认的 2181,则无需修改任何配置。 如果不是在一台主机上或端口被修改,需要修改 WEB-INF 下的 dubbo.properties ,修改如 下配置:
dubbo.registry.address=zookeeper://127.0.0.1:2181
打开浏览器,输入 http://192.168.25.132:8080/dubbo-admin/ ,登录用户名和密码均为 root 进入首页,之后在这个后台界面大家就可以看到自己部署的service了