随笔分类 -  消息中间件

摘要:channel架构图 InterFace Server:负责对协议进行解析,将不同的协议分发到不同的Channel Channel Layer:频道层,可以是一个FIFO队列,通常使用Redis Django中配置Channel: CHANNEL_LAYERS的配置: CHANNEL_LAYERS 阅读全文
posted @ 2020-05-28 19:32 HarvardFly 阅读(2171) 评论(0) 推荐(1) 编辑
摘要:RabbitMQ中RPC的实现:客户端发送请求消息,服务端回复响应消息,为了接受响应response,客户端需要发送一个回调队列的地址来接受响应,每条消息在发送的时候会带上一个唯一的correlation_id,相应的服务端处理计算后会将结果返回到对应的correlation_id。 RPC调用流程 阅读全文
posted @ 2019-01-20 16:17 HarvardFly 阅读(1844) 评论(0) 推荐(2) 编辑
摘要:RabbitMQ是一个消息代理,它接受和转发消息,是一个由 Erlang 语言开发的遵循AMQP协议的开源实现。在RabbitMQ中生产者不会将消息直接发送到队列当中,而是将消息直接发送到交换机(exchange),交换机用来接受生产者发送的消息并将这些消息发送给绑定的队列,即:生产者-->交换机- 阅读全文
posted @ 2018-12-29 18:20 HarvardFly 阅读(2398) 评论(0) 推荐(0) 编辑
摘要:在Kafka中,当有新消费者加入或者订阅的topic数发生变化时,会触发Rebalance(再均衡:在同一个消费者组当中,分区的所有权从一个消费者转移到另外一个消费者)机制,Rebalance顾名思义就是重新均衡消费者消费。Rebalance的过程如下: 第一步:所有成员都向coordinator发 阅读全文
posted @ 2018-12-16 13:11 HarvardFly 阅读(6950) 评论(0) 推荐(1) 编辑
摘要:在kafka的消费者中,有一个非常关键的机制,那就是offset机制。它使得Kafka在消费的过程中即使挂了或者引发再均衡问题重新分配Partation,当下次重新恢复消费时仍然可以知道从哪里开始消费。它好比看一本书中的书签标记,每次通过书签标记(offset)就能快速找到该从哪里开始看(消费)。 阅读全文
posted @ 2018-12-14 11:51 HarvardFly 阅读(54791) 评论(2) 推荐(4) 编辑
摘要:Kafka是一种分布式的基于发布/订阅的消息系统,它的高吞吐量、灵活的offset是其它消息系统所没有的。 Kafka发送消息主要有三种方式: 1.发送并忘记 2.同步发送 3.异步发送+回调函数 下面以单节点的方式分别用三种方法发送1w条消息测试: 方式一:发送并忘记(不关心消息是否正常到达,对返 阅读全文
posted @ 2018-12-13 16:51 HarvardFly 阅读(22021) 评论(2) 推荐(7) 编辑

点击右上角即可分享
微信分享提示