
MQ
文章平均质量分 79
小时候刮奖刮到“谢”字还不肯扔,非要把“谢谢惠顾”都刮的干干净净的,才舍得放手,和后来太多的事情一模一样。
雪孤城
所念皆星河,所系皆山河
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
RocketMQ高频面试问题
1. RocketMQ如何防止消息丢失1.1 RocketMQ丢消息的场景生产者向RocketMQ发送消息时RocketMQ主节点向从节点同步消息时消费者向RocketMQ拉取消息消费时1.2 生产者端使用事务消息机制防止消息丢失1.2.1 half消息的作用在本地事务执行之前发送给RocketMQ,且对下游的积分服务是不可见的。所以,half消息的作用就是确认RocketMQ服务的可用性。1.2.2 half消息写入失败了怎么处理一般来说,half消息写入失败,即认为RocketM原创 2021-04-11 23:35:19 · 12391 阅读 · 0 评论 -
RocketMQ的事务消息模式
1. 事务消息简介即,在分布式系统中保证最终一致性的两阶段提交的消息实现。侧重点:保证本地事务执行 与消息发送两个操作的原子性2. 事务消息发送流程消息生产者向Broker投递一个half(事务)消息(如需保证幂等性,可以携带一个唯一的key作为参数)确认Broker接收到消息(消息会在Broker本地进行存储,但是该消息的状态对消费者不可见)生产者确认消息发送成功后,回调executeLocalTransaction方法来执行本地事务生产者提交本地事务的执行状态Broker进行最终处理原创 2021-03-30 22:49:51 · 8371 阅读 · 0 评论 -
RocketMQ的消息类型及简单代码示例
1. MQ简介1.1 简介MQ(Message Queue)消息队列,是基础数据结构中“先进先出”的一种数据结构。一般用来解决应用解耦,异步消息,流量削峰等问题,实现高性能,高可用,可伸缩和最终一致性架构。把要传输的数据(消息)放在队列中,用队列机制来实现消息传递——生产者产生消息并把消息放入队列,然后由消费者去处理。消费者可以到指定队列拉取消息,或者订阅相应的队列,由MQ服务端给其推送消息。1.2 作用异步:主业务执行结束后从属业务通过MQ,异步执行,减低业务的响应时间,提高用户体验。解耦:原创 2021-03-14 23:26:13 · 1006 阅读 · 2 评论 -
RocketMQ安装(windows)
1. 官网下载官网:http://rocketmq.apache.org/dowloading/releases/以 4.8.0 版本为例:2. 配置坏境变量3. 启动3.1 启动NAMESERVER在RocketMQ文件夹下的bin目录下,打开CMD窗口,执行 start mqnamesrv.cmd 命令来启动NAMESERVER。注意:成功会有提示窗口(不要关闭)3.2 启动BROKER在RocketMQ文件夹下的bin目录下,打开CMD窗口,执行 start mqbroker.原创 2021-03-13 23:05:35 · 27362 阅读 · 0 评论 -
Kafka学习笔记(四)工作流程
Kafka学习笔记(四)工作流程发布 - 订阅消息的工作流程:1.生产者定期向主题发送消息。2.Kafka代理存储为该特定主题配置的分区中的所有消息。 它确保消息在分区之间平等共享。 如果生产者发送两个消息并且有两个分区,Kafka将在第一分区中存储一个消息,在第二分区中存储第二消息。3.消费者订阅特定主题。4.一旦消费者订阅主题,Kafka将向消费者提供主题的当前偏移,并且还将偏移保存...原创 2019-12-25 17:37:28 · 160 阅读 · 0 评论 -
Kafka学习笔记(三)架构
Kafka学习笔记(三)架构Kafka架构图:一个典型的Kafka集群中包含若干Producer(可以是web前端产生的Page View,或者是服务器日志,系统CPU、Memory等),若干broker(Kafka支持水平扩展,一般broker数量越多,集群吞吐率越高),若干Consumer Group,以及一个Zookeeper集群。Kafka通过Zookeeper管理集群配置,选举l...原创 2019-12-25 12:00:51 · 314 阅读 · 0 评论 -
Kafka学习笔记(二)名词解析
Kafka学习笔记(二)名词解析一个Topic配置了3个partition。Partition1有两个offset:0和1。Partition2有4个offset。Partition3有1个offset。副本的id和副本所在的机器的id恰好相同。如果一个topic的副本数为3,那么Kafka将在集群中为每个partition创建3个相同的副本。集群中的每个broker存储一个或多个parti...原创 2019-12-24 18:15:35 · 444 阅读 · 0 评论 -
Kafka学习笔记(一)
Kafka学习笔记(一)简介1.kafka简介:Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一个分布式发布 - 订阅消息系统和一个强大的队列...原创 2019-12-24 17:49:04 · 286 阅读 · 0 评论 -
RabbitMQ小结(八)面试题
RabbitMQ小结(八)面试题1.为什么你要使用消息队列?1)解耦缺点:系统间耦合性太强,如图所示,如果D系统也要接入系统A则需要修改系统A的原有代码,过于麻烦。优点:将消息写入MQ,需要消息的系统可以自行从MQ处订阅,而系统A不需要修改源码。2)异步传统模式:缺点:存在部分非必要的业务代码以同步的方式运行,过于耗费时间。中间件模式:优点:将消息写入MQ,非必要...原创 2020-01-19 11:48:33 · 373 阅读 · 0 评论 -
RabbitMQ小结(七)工作模式
RabbitMQ小结(七)工作模式1.simple简单模式消息生产者P将消息放入队列消息的消费者(consumer) 监听(while) 消息队列,如果队列中有消息,就消费掉,消息被拿走后,自动从队列中删除(可能会有消息的丢失)应用场景:聊天(中间有一个过度的服务器)2. work工作模式(资源的竞争)消息产生者将消息放入队列,消费者可以有多个,消费者C1和C2同时监听同一个...原创 2020-01-16 18:22:25 · 230 阅读 · 0 评论 -
RabbitMQ小结(六)SpringBoot整合RabbitMQ
RabbitMQ小结(六)SpringBoot整合RabbitMQ1.pom文件<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...原创 2020-01-13 15:09:35 · 216 阅读 · 0 评论 -
RabbitMQ小结(五)java整合之简单模式
RabbitMQ小结(五)java整合之简单模式简单模式架构图1.环境2.生产者package com.jbp.mq;import com.rabbitmq.client.Channel;import com.rabbitmq.client.Connection;import com.rabbitmq.client.ConnectionFactory;import java...原创 2020-01-13 11:51:34 · 224 阅读 · 0 评论 -
RabbitMQ小结(四)架构
RabbitMQ小结(四)架构1.架构图2.术语解析RabbitMQ Server: 也叫broker server,它是一种传输服务。 他的角色就是维护一条 从Producer到Consumer的路线,保证数据能够按照指定的方式进行传输。Producer: 消息生产者,如图A、B、C,数据的发送方。消息生产者连接RabbitMQ服 务器然后将消息投递到Exchange。Consum...原创 2020-01-10 14:18:20 · 1567 阅读 · 0 评论 -
RabbitMQ小结(三)启动服务闪退
RabbitMQ小结(三)启动服务闪退大概原因:1.Erang版本不兼容2.电脑用户名是中文名3.RabbitMQ安装目录有空格或者中文中文用户名解决办法:设置软连接,绕过中文名的目录1.管理员运行cmd然后打开RabbitMQ安装目录2.rabbitmq-service.bat remove3.set RABBITMQ_BASE=D:\rabbitmq_server\data(...原创 2020-01-08 18:04:51 · 7714 阅读 · 2 评论 -
RabbitMQ小结(二)安装
RabbitMQ小结(二)安装1.下载 Eralng网址:https://www.erlang.org/downloads2.安装Eralng一直next即可3.设置Eralng系统环境变量此电脑–>鼠标右键“属性”–>高级系统设置–>环境变量–>“新建”系统环境变量变量名:ERLANG_HOME变量值即是erlang的安装地址,点击确定更改系统变量...原创 2020-01-08 17:51:21 · 332 阅读 · 0 评论 -
RabbitMQ小结(一)入门
RabbitMQ小结(一)入门1.概念RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放 标准,为面向...原创 2020-01-08 16:08:38 · 389 阅读 · 0 评论