dubbo和rabbitmq对比
随着项目越来越大,局势就是项目拆分,大项目拆分成很多项目,各种技术也应允而生。
从应用交互层面,按我的理解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底层框架原理有待学习
dubbo和rabbitmq对比的更多相关文章
- 远程服务调用RPC框架介绍,微服务架构介绍和RPC框架对比,dubbo、SpringClound对比
远程服务调用RPC框架介绍,微服务架构介绍和RPC框架对比,dubbo.SpringClound对比 远程服务调用RPC框架介绍,RPC简单的来说就是像调用本地服务一样调用远程服务. 分布式RPC需要 ...
- Spring Cloud,Dubbo及HSF对比
Round 1:背景 Dubbo,是阿里巴巴服务化治理的核心框架,并被广泛应用于阿里巴巴集团的各成员站点.阿里巴巴近几年对开源社区的贡献不论在国内还是国外都是引人注目的,比如:JStorm捐赠给Apa ...
- dubbo与springcloud对比与面试
对比:具体见此博客: http://www.sohu.com/a/108961261_468650 dubbo:组装机 springcloud:品牌机 打个不恰当的比喻:使用Dubbo构建的微服务架构 ...
- dubbo通信协议之对比
对dubbo的协议的学习,可以知道目前主流RPC通信大概是什么情况,本文参考dubbo官方文档 http://dubbo.io/User+Guide-zh.htm dubbo共支持如下几种通信协议: ...
- 7、Kafka、AMQ、RabbitMQ对比
Kafka AMQ RabbitMQ 应用场景 AMQ/RabbitMQ Kafka
- 关于dubbo通信协议之对比
对dubbo的协议的学习,可以知道目前主流RPC通信大概是什么情况, dubbo共支持如下几种通信协议: dubbo:// rmi:// hessian:// http:// webservice:/ ...
- Kafka与RabbitMQ对比
Infi-chu: http://www.cnblogs.com/Infi-chu/ Kafka是LinkedIn在2012年发布的开源的消息发布订阅系统,他主要用于处理活跃的流式数据.大数据量的数据 ...
- kafka和rabbitmq对比
1.吞吐量kafka吞吐量更高:1)Zero Copy机制,内核copy数据直接copy到网络设备,不必经过内核到用户再到内核的copy,减小了copy次数和上下文切换次数,大大提高了效率.2)磁盘顺 ...
- Kafka和RabbitMQ 对比
1) Kafka成为业界大数据松耦合架构,异步,队列 特点:吞吐量高50m/s. Kafka和RabbitMQ都是MQ机制,它差异 Kafka作为大数据产品,可以作为数据源,也可以作为结果数据中转 ...
随机推荐
- Python标准库--UUID
UUID(Universally Unique Identifier)是128位通用唯一识别码,通常由32字节的字符串表示.它可以保证时间和空间的唯一性,也称为GUID,全称为:UUID —— Uni ...
- 正则表达式 ?P<name>
import re # 将匹配的数字乘以 2 def double(matched): value = int(matched.group('value')) return str(value * 2 ...
- python的小数据池 is和== 以及再谈编码
---恢复内容开始--- 1. 小数据池, id() 小数据池针对的是: int, str, bool 在py文件中几乎所有的字符串都会缓存. id() 查看变量的内存地址 # a = 10 # b ...
- Python爬虫入门教程石家庄链家租房数据抓取
1. 写在前面 这篇博客爬取了链家网的租房信息,爬取到的数据在后面的博客中可以作为一些数据分析的素材.我们需要爬取的网址为:https://sjz.lianjia.com/zufang/ 2. 分析网 ...
- 【代码笔记】iOS-二维码
一,工程图. 二,代码. ViewController.m #import "ViewController.h" #import "ScanViewController. ...
- jQuery中的deferred对象和extend方法
1⃣️deferred对象 deferred对象是jQuery的回调函数解决方案,它是从jQuery1.5.0版本开始引入的功能 deferred对象的方法 (1) $.Deferred() 生成一个 ...
- ReactNative仿微信朋友圈App
摘要: 欢迎各位同学加入: React-Native群:397885169 大前端群:544587175 大神超多,热情无私帮助解决各种问题. 一.前沿||潜心修心,学无止尽.生活如此,coding亦 ...
- 犀牛Rhino教程合集37部
犀牛Rhino教程合集37部 教程说明:英文视频教程,部分有中文字幕,大部分有工程文件 教程格式:Flv.MP4格式,大部分高清,确保能看清软件上的文字 发货方式:百度网盘下载链接(教程较多,可转存到 ...
- XML与DataSet的相互转换
转:https://www.cnblogs.com/kunEssay/p/6168824.html XML与DataSet的相互转换的类 一.XML与DataSet的相互转换的类 using Syst ...
- Linux基础知识与基础命令
Linux基础知识与基础命令 系统目录 Linux只有一个根目录,没有盘符的概念,文件目录是一个倒立的树形结构. 常用的目录功能 bin 与程序相关的文件 boot 与系统启动相关 cdrom 与Li ...