Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1209|回复: 1
打印 上一主题 下一主题

消息队列相关

[复制链接]

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
跳转到指定楼层
楼主
发表于 2019-5-2 18:41:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 java 于 2019-5-8 18:10 编辑

青山_20181205_分布式架构核心组件之消息队列.mp4

MQ存储转发消息1.实现异步 : 批量数据的异步处理
2.实现解耦:串行任务的并行化
3.流量削峰:高负载任务的负载均衡
4.实现广播:一对多的通信
订阅 发布


RabbitMQ的工作模型


信道(Channel):多路复用连接中的一条独立的双向数据流通道。为会话提供物理传输介质。


TCP长连接
交换机分发消息
交换机绑定到队列
实现协议 AMQP 协议(夸语言)  Advanced Message Queuing Protocol
JMS(java message service)规范

basicPublic("GP_DIRECT_EXCHANGE","spring","test");


#代表0个或者多个单词
*代表1个单词

Spring Boot整合RabbitMQ

谁使用谁创建
重复创建相同属性的对象是不会报错的





路由保证
1.mandatory=true+ReturnListener
2.备份交换机


消息存储
durable参数
1.队列持久化
2.交换机持久化
3.消息持久化  deliverMode(2)

消费者确认
channel.basicAck(); //手工应答
channel.basicReject(); //单条拒绝
channel.basicNack(); //批量拒绝
正常情况下 消费者是自动发送ACK的   手动要设置 autoAck = false
其它
1.消费者回调a.消费者发送应答消息
b.消费者调用生产者的api
2.补偿机制
a.重发消息
b.控制次数

3.消息幂等性
消费端做消息幂等性的处理
msgId  bizId
重账控制

消息顺序性保证


回复

使用道具 举报

697

主题

1142

帖子

4086

积分

认证用户组

Rank: 5Rank: 5

积分
4086
沙发
 楼主| 发表于 2019-5-19 14:16:23 | 只看该作者
面试避坑指南之并发编程的原理_kafaka.mp4

分布式消息通信
MOM(Message oriented middleware)


Kafka  A distributed streaming platform
一款分布式消息发布和订阅系统,具有高性能、高吞吐量的特点而被广泛应用于大数据传输场景。它是由LinkedIn公司开发,
使用Scala语言编写,之后成为Apache基金会的一个顶级项目。
kafka提供类似JMS的特性,但是在设计和实现上是完全不同的,而且他也不是JMS规范的实现。




回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-5-5 00:20 , Processed in 0.087336 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表