消息中间件notify,metaq,kafka对比(上)

 notify由于不是开源的源码的实现就略过,详细了解下原理:

一 架构原理

架构主要由notify client 、config server 、notify server 、data base组成,其中notify client为消费消息端, config server 为阿里巴巴许多服务注册发现中心,在这也相当于充当了服务发现中心, notify server 消息的发送端, database 为存储中心.


二 特性及适用场景

它的核心特性是: 提供事务支持、不保证消息顺序、消息可能会重复、推模型,定位于无序消息投递,所以 更适用于 : 面向需要更加安全可靠地交易类场景,无序,推模式。

1 分布式事务特性-交易状态最终一致性的保证

可以保证业务操作和消息发送组成一个分布式事务,业务操作和消息发送就是一个原子操作,有这种业务场景的需求就可以选择notify.

2 推送的方式、消息的无序和最高实时的消息服务

因为是推送的方式加无序就可以保证最好的实时性,推送模型就是当消息发到服务端就会立刻无间歇推送到客户端.

3 双写特性

为了解决单点故障的问题,notify实现的是双写的方式,就比如在发一条消息的时候会同时写到两个database的实例当中,当两个实例都成功的时候才算发送成功,这就保证了消息存储的高度可靠,有需要高度可靠的数据的处理就可以用notify

4 支持消息属性表达式过滤

如果有业务场景比较复杂的,需要有复杂的筛选条件下的业务就可以选择notify.

metaq 现在开源的名称叫做rocketMq 已经开源在github上.

一 架构原理

主要就是由consumer (消费者)、producer(生产者)、broker(存储中心)、Name Server(topic路由中心)几部分组成 消费者和生产者都和name server长连接





二 特性及适用场景,以及代码实现

未完待续....

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • “ 消息队列已经逐渐成为企业IT系统内部通信的核心手段。它具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列...
    落羽成霜丶阅读 9,485评论 1 41
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,802评论 8 265
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,328评论 19 139
  • ——在快节奏中漫步 很多人都受不了都市生活的快节奏,生活节奏,快的几尽疯狂,让许多人都得了“匆忙症”,你急...
    TA志云阅读 2,383评论 0 3
  • 你好。爱上同性室友,很痛苦。 千舟 亲爱的千舟: 你好。这大概是我们收到最简短的一封来信了,但一眼扫过去,我们认为...
    这很大学生阅读 1,839评论 0 0