MQ
文章平均质量分 69
summer_west_fish
本科毕业深圳大学,拥有Java开发10年的经验。 拥有Devops、敏捷和项目管理多年的经验,并且获得PMP、ACP和DOP等相关证书。
展开
-
Kafka之集群架构原理
创建一个TopicA的主题,3个分区分别存储在不同的服务器,注意Topic是一个逻辑上的概念。原创 2022-07-30 23:30:20 · 724 阅读 · 0 评论 -
Kafka基础操作命令
1、查看所有的topic。2、查看topic详情。原创 2022-07-24 07:54:07 · 530 阅读 · 0 评论 -
Docker 安装 Kafaka
Docker 安装 Kafaka原创 2022-07-13 11:30:31 · 1174 阅读 · 0 评论 -
MQ实际场景解决方案参考
如果我们生产者每发一条消息,都要MQ持久化到磁盘中,然后再发起ack或nack的回调。这样的话是不是我们MQ的吞吐量很不高,因为每次都要把消息持久化到磁盘中。写入磁盘这个动作是很慢的,在高并发场景下是不能够接受的,吞吐量太低了。所以MQ持久化磁盘真实的实现,是通过异步调用处理的,他是有一定的机制,如:等到有几千条消息的时候,会一次性的刷盘到磁盘上面。而不是每来一条消息,就刷盘一次。(1)消息生产者把消息发送给MQ,如果接收成功,MQ会返回一个ack消息给生产者;(2)如果消息接收不成功,MQ会返回一个nac原创 2022-06-08 16:28:20 · 1736 阅读 · 1 评论 -
RocketMQ:一次完整的通信流程是怎样的?
Producer 与 NameServer集群中的其中一个节点(随机选择)建立长连接,定期从 NameServer 获取 Topic 路由信息,并向提供 Topic 服务的 Broker Master 建立长连接,且定时向 Broker 发送心跳。Producer 只能将消息发送到 Broker master;Consumer 则不一样,它同时和提供 Topic 服务的 Master 和 Slave建立长连接,既可以从 Broker Master 订阅消息,也可以从 Broker Slave 订阅消息。具体原创 2022-06-08 10:34:27 · 468 阅读 · 0 评论 -
RocketMQ消息领域模型
Message(消息)就是要传输的信息。一条消息必须有一个主题(Topic),主题可以看做是你的信件要邮寄的地址。一条消息也可以拥有一个可选的标签(Tag)和额处的键值对,它们可以用于设置一个业务 Key 并在 Broker 上查找此消息以便在开发期间查找问题。Topic(主题)可以看做消息的规类,它是消息的第一级类型。比如一个电商系统可以分为:交易消息、物流消息等,一条消息必须有一个 Topic 。Topic 与生产者和消费者的关系非常松散,一个 Topic 可以有0个、1个、多个生产者向其发送消息,一个原创 2022-06-07 17:08:05 · 286 阅读 · 0 评论 -
Docker安装RabbitMQ
一、安装命令docker pull rabbitmqdocker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:latest二、开启页面管理模块docker exec -it rabbitmq /bin/bashrabbitmq-plugins listrabbitmq-plugins enable rabbitmq_management三、访问用户名/密码: guest/guest访问地址:..........原创 2022-01-04 18:55:47 · 1348 阅读 · 0 评论 -
到底什么时候该使用MQ?
一、MQ是干嘛的消息总线(Message Queue),后文称MQ,是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了MQ之后,消息发送上游只需要依赖MQ,逻辑上和物理上都不用依赖其他服务。二、什么时候不使用消息总线既然MQ是互联网分层架构中的解耦利器,那所有通讯都使用MQ岂不是很好?这是一个严重的误区,调用与被调用的关系,是无法被MQ取代的。MQ的不足是:1)系统更复杂,多了一个M.原创 2021-09-27 10:05:59 · 309 阅读 · 0 评论 -
MQ消息幂等
mq1、应用解耦2、削峰填谷3、异步提速原创 2021-01-25 23:17:54 · 83 阅读 · 0 评论 -
RocketMQ集群部署结构
RocketMQ四大核心组成部分:NameServer、Broker、Producer以及Consumer四部分;各组件通讯Tip:我们可以看到RocketMQ啥都是集群部署的,这是他吞吐量大,高可用的原因之一,集群的模式也很花哨,可以支持多master 模式、多master多slave异步复制模式、多 master多slave同步双写模式。NameServer是一个功能齐全的服务器,其角色类似Dubbo中的Zookeeper,但NameServer与Zookeeper相比更轻量。主要是因为每个NameSe原创 2021-08-23 17:42:26 · 648 阅读 · 0 评论 -
RocketMQ如何支持分布式事务消息
A(存在DB操作)、B(存在DB操作)两方需要保证分布式事务一致性,通过引入中间层MQ,A和MQ保持事务一致性(异常情况下通过MQ反查A接口实现check),B和MQ保证事务一致(通过重试),从而达到最终事务一致性。原理:大事务 = 小事务 + 异步1. MQ与DB一致性原理(两方事务)上图是RocketMQ提供的保证MQ消息、DB事务一致性的方案。MQ消息、DB操作一致性方案:1)发送消息到MQ服务器,此时消息状态为SEND_OK。此消息为consumer不可见。2)执原创 2021-08-23 17:27:41 · 290 阅读 · 0 评论 -
MQ消息模型:发布 - 订阅模型和队列模型有什么区别?
主题和队列有什么区别?最初的消息队列,就是一个严格意义上的队列。在计算机领域,“队列(Queue)”是一种数据结构,有完整而严格的定义。在维基百科中,队列的定义是这样的:队列是先进先出(FIFO, First-In-First-Out)的线性表(Linear List)。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为 rear)进行插入操作,在前端(称为 front)进行删除操作。这个定义里面包含几个关键点,第一个是先进先出,这里面隐含着的一个要求是,在消息入队出队过程中,需要原创 2021-09-13 11:25:23 · 2349 阅读 · 1 评论 -
全新一代消息中间件Pulsar
系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习..原创 2021-06-18 15:09:58 · 387 阅读 · 0 评论