随着项目越来越大,局势就是项目拆分,大项目拆分成很多项目,各种技术也应允而生。
从应用交互层面,按我的理解dubbo和rabbitmq就对比分析进行学习。
dubbo和zookeeper结合
  1.zookeeper基于服务发布和治理
  2.dubbo注册服务和发布应用接口
  配置说明:
  <!-- 提供方 -->    
  <dubbo:application name="productor-batman"></dubbo:application>
    <!-- 使用zookeeper注册中心暴露服务地址 -->
    <dubbo:registry protocol="zookeeper" address="192.168.153.147:2181" />
    <!-- 用dubbo协议在20880端口暴露服务 -->
    <dubbo:protocol name="dubbo" port="20880" />   
    <!-- 用户服务接口 -->
    <dubbo:service interface="com.batman.model.Apple" ref="apple" />
  <!-- 消费方 -->
    <dubbo:application name="consumer-batman" />
    <!-- 使用zookeeper注册中心暴露服务地址 -->
    <dubbo:registry protocol="zookeeper" address="192.168.153.147:2181" />
    <!-- 用户服务接口 -->
    <dubbo:reference interface="com.batman.model.Apple" id="apple" check="false" />
    3.发布服务说白了就是对需要发布的接口封装成外部调用的jar包让其它应用程序调用
      消费者如果引用了jar并调用,那么生产者要引用并实现该接口
      流程就是这么简单,注册并发布接口,消费者和生产者之间就可以通讯
rabbitmq
  1.安装mq,建立连接
  2.声明一个rabbitTemplate,指定连接信息
  3.建立消息队列
  4.发布服务
    我们使用的rabbitmq其实就是对spring的amqp做了封装,应用之间通过接口关联指定的消息队列
    来达到通讯的目的。好处就是接口不用发布,但是需要指定使用的队列名称
二者比较:
  相同点
  1.都需要安装第三方插件,一个是zookeeper一个是rabbitmq
  2.都是通过发布接口的方式
  不同点
  1.dubbo直接发布接口,消费方可以直接调用;rabbitmq需要指定消息队列
    dubbo的缺点是每个需要调用的接口都要发布,rabbitmq写在业务处理类里面
  2.dubbo直接一个dubbo:reference搞定,rabbitmq要对springamqp做多层封装才能达到通用的目标
  3.dubbo支持负债均衡,rabbitmq??
  4.关于socket通讯和rpc框架的使用,dubbo和rabbitmq底层框架原理有待学习

最新文章

  1. 解决EasyUI-Datagrid和LinqToEntity结合应用时排序问题
  2. python使用urllib2抓取网页
  3. CentOS软件安装目录查找
  4. 关于\t
  5. 免安装oracle驱动访问数据库
  6. BZOJ 1034 [ZJOI2008]泡泡堂BNB
  7. wikioi 1044 拦截导弹 (1999年NOIP全国联赛提高组)
  8. [HeadFirst-HTMLCSS学习笔记][第十二章HTML5标记]
  9. 设计模式值六大原则——设计模式之六大原则——单一职责原则(SRP)
  10. 关于获取URL中传值的解决方法--升级版
  11. CentOS 搭建git服务
  12. 常见模块(三) pickle模块和json模块
  13. 第二篇*1、Python基本数据类型
  14. LabVIEW(十一):条件结构的巧用
  15. React-使用styled-components
  16. mysql库、表、索引
  17. asp企业网站源码部分
  18. 基于HttpClient JSONObject与JSONArray的使用
  19. java对redis的基本操作(一)
  20. 小tip: 某简单的字符重叠与图形生成----张鑫旭

热门文章

  1. 类(class)相关概念小结
  2. 获取物化视图定义语句的SQL
  3. php命令行生成与读取配置文件
  4. 编写hadoop程序,并打包jar到hadoop集群运行
  5. Linux打包、压缩与解压详解
  6. JS--我发现,原来你是这样的JS(四)(看看变量,作用域,垃圾回收机制是啥)
  7. TNS-12549问题分析及解决办法
  8. LeetCode题解之Find All Duplicates in an Array
  9. 前端开发使用Photoshop切图详细步骤
  10. Percona Xtradb Cluster的设计与实现