面向服务编程之Dubbo
来源:互联网 发布:php redis队列处理秒杀 编辑:程序博客网 时间:2024/06/05 08:11
随着分布式系统在互联网的不断普及,各种架构层出不穷,但核心思想都是将各个相关的系统分离出去,互相暴露出接口以备调用。调用方式一般有以下几种
1、Webservice:基于soap协议,安全性较高,但效率较低。
2、使用restful形式的服务:http+json。安全性能较差,效率较高,系统之间如果频繁调用,不方便管理。
3、使用dubbo。使用rpc协议进行远程调用,直接使用socket通信。传输效率高,并且可以统计出系统之间的调用关系、调用次数。
dubbo是阿里的开源项目,目前在互联网应用最为广泛。所以本文将对dubbo形式的系统通信方式进行大致讲解。
Dubbo的架构图
节点角色说明:
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
Monitor: 统计服务的调用次调和调用时间的监控中心。
Container: 服务运行容器。
注册中心我们一般使用Zookeeper来实现,实际编程中,我们大概只关注Consumer和Provide,即服务的提供者,和服务的调用者。
具体使用方法
Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可。
发布服务者:
<!-- 提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="cn.natonr" />
<!--远程注册中心-->
<dubbo:registry protocol="zookeeper" address="192.168.25.128:2181" />
<!-- 用dubbo协议在20880端口暴露服务 -->
<dubbo:protocol name="dubbo" port="20880" />
<!-- 声明需要暴露的服务接口 -->
<dubbo:service interface="cn.naton.service.ItemService" ref="itemServiceImpl" timeout="600000"/>
调用服务者:
<!-- 引用dubbo服务 --><dubbo:application name="cn-naton-web"/>
<!--远程注册中心-->
<dubbo:registry protocol="zookeeper" address="192.168.25.128:2181"/>
<!--声明你要调用的服务-->
<dubbo:reference interface="cn.naton.service.ItemService" id="itemService" />
配置完成后,即可在web层调用service的方法,无需访问对应工程的ip,一切都由dubbo进行管理。
铸剑团队签名:
【总监】十二春秋之,3483099@qq.com;
【Master】戈稻不苍,han169@126.com;
【Java开发】雨鸶,343691194@qq.com;思齐骏惠,qiangzhang1227@163.com;小王子,545106057@qq.com;巡山小钻风,840260821@qq.com;
【VS开发】豆点,2268800211@qq.com;
【系统测试】土镜问道,847071279@qq.com;尘子与自由,695187655@qq.com;
【大数据】沙漠绿洲,caozhipan@126.com;张三省,570417591@qq.com;
【网络】夜孤星,11297761@qq.com;
【系统运营】三石头,261453882@qq.com;平凡怪咖,591169003@qq.com;
【容灾备份】秋天的雨,18568921@qq.com;
【安全】保密,你懂的。
原创作者:小王子
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- 面向服务编程之Dubbo
- 浅谈SOA面向服务化编程架构(dubbo)
- 浅谈SOA面向服务化编程架构(dubbo)
- 浅谈SOA面向服务化编程架构(dubbo)
- Dubbo之——Dubbo服务集群
- Dubbo之——Dubbo服务集群
- 面向服务编程
- 面向云服务编程
- Dubbo之——Shell脚本维护Dubbo服务
- Dubbo系列(四)Dubbo之服务降级
- Dubbo系列(十一)Dubbo应用之集群服务
- Dubbo之——Shell脚本维护Dubbo服务
- 使用dubbo与zookeeper搭建面向服务的架构工程
- 面向对象、接口、服务编程
- Dubbo环境搭建之二 创建服务
- Dubbo服务之启动时检测
- Dubbo点滴(3)之服务配置ServiceConfig
- Dubbo之——服务只注册
- meta标签属性应用及部分实用标签复习
- [算法]时间复杂度
- GridView 使用方法详解
- bootstrapTable和mui中表格的使用
- 堆排序实现
- 面向服务编程之Dubbo
- ok请求
- 输入一个一维数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。
- STL之容器
- 如何找出U盘中隐藏的文件夹
- HTML/CSS导航菜单-伸缩菜单的制作(垂直方向)
- Reflection2017.9.17
- 根据条件查找信息
- java中的嵌套循环