
消息队列
文章平均质量分 81
消息队列
小毕超
人工智能、微服务架构领域专研者,国内软考高级系统架构设计师职称,国际TOGAF鉴定级企业架构设计师、PMP项目管理师,华为云·云享专家,优快云博客专家。曾获“联想杯”移动互联比赛 江苏省一和国二成绩,第四届全国应用型人才比赛“兄弟连杯”国一成绩。
展开
-
Kafka 集群 KRaft 模式搭建
Kafka的KRaft模式是一种新的元数据管理方式,旨在去除对ZooKeeper的依赖,使Kafka成为一个完全自包含的系统。在Kafka的传统模式下,元数据管理依赖于ZooKeeper,这增加了部署和运维的复杂性。为了解决这个问题,Kafka社区引入了KRaft模式。在KRaft模式下,所有的元数据,包括主题、分区信息、副本位置等,都被存储在Kafka集群内部的特殊日志中。这个日志使用Raft协议来保证一致性。原创 2024-06-02 15:41:01 · 1987 阅读 · 0 评论 -
K8s 部署 Zookeeper 和 Kafka 集群
K8s 部署 Zookeeper 和 Kafka 集群原创 2024-04-20 20:42:55 · 1172 阅读 · 0 评论 -
KafKa -相关参数优化
broker 处理消息的最大线程数,默认为 3,建议设为 cpu 核数 + 1:例如:cpu 核数 8 :2. 处理磁盘 IO 的线程数broker 处理磁盘 IO 的线程数,建议设为 cpu 核数 x 2 :例如:cpu 核数 8:3. 数据落盘策略Kafka重度依赖底层操作系统提供的功能。当上层有写操作时,操作系统只是将数据写入,同时标记属性为。当读操作发生时,先从中查找,如果发生缺页才进行磁盘调度,最终返回需要的数据。实际上是把尽可能多的空闲内存都当做了磁盘缓存来使用。但是也带来了问题,如果此原创 2022-06-05 10:00:00 · 5087 阅读 · 1 评论 -
KafKa - 控制器作用 及 选举策略
在 中分为 和 分区,其中分区副本在前几篇文章中都进行了讲解,本篇文章针对 进行分析,其中在 集群中,一个一般就表示一台物理机器,那机器之间的协作是怎样的呢?其实会有一个选举成为 控制器 角色,它主要负责维护集群中所有分区和副本的状态,当某个分区的 节点发生宕机(一个分区中存在多个不同的副本,只有Leader副本提供对外服务),该控制器将负责该分区选举副本,当检测到某个分区的分区副本数据中发生变化的时候该控制器负责通知给所有的,当某个增加分区数量时,由控制器负责分区重新分配。下面是控制器的作用原创 2022-06-04 10:00:00 · 1325 阅读 · 0 评论 -
KafKa - 分区副本消息同步策略 及 消息丢失问题
在开始前需要了解两个概念: 和 :其中 也叫做复制点,表示副本间同步的位置,如下图所示:其中 就是消息数最少的那个副本的当前最大的 值为 的值,也是消费者能够消费最大的值。同样在主从复制的时候也是以该值作为分界线向后同步主节点的数据。对于,节点只保存自身的,但是节点除了保存自身的,还会保存节点的。那我们向 kafka 发送一条消息,是怎样进行同步的呢?就以上图为例,假如我们发送了 4 条消息,值 为 首先数据消息会被写入 节点, 增大自己的 值为 15 此时 值还是 11然后 节原创 2022-06-03 10:00:00 · 1910 阅读 · 1 评论 -
KafKa - 分区副本ISR选举机制
一、KafKa -分区副本ISR选举机制kafka 中每一个主题又进一步划分成若干个分区。副本的概念实际上是在分区层级下定义的,每个分区配置有多若干个副本。所谓的副本,本质上就是一个只能追加写消息的提交日志,根据kafka副本机制的定义,同一个分区下的所有副本保存着相同的消息序列,这些副本分散的保存在不同的Broker上,从而能够对抗部分Broker宕机带来的数据不可用。如下图,在3节点的 kafka 集群中,对 topic:主题1 分了三个分区三个副本。在 kafka 分区中的副本机制中,又原创 2022-05-29 22:03:12 · 2464 阅读 · 2 评论 -
KafKa - 消息持久化策略 及 消息查找策略讲解
一、kafka 消息持久化策略Kafka实际上就是日志消息存储系统, 根据offset获取对应的消息,消费者获取到消息之后该消息不会立即从mq中移除,而是继续存储在磁盘中。Kafka 会将topic分成多个不同的分区、每个分区中拆分成多个不同的segment文件存储日志。每个segment文件都会有 .index 文件 (消息偏移量索引文件),.log 文件(消息物理存放文件),timeindex文件(时间索引文件),在默认的情况下,每个segment文件容量最大是为500mb,如果超过了500mb 则原创 2022-05-29 20:28:00 · 4243 阅读 · 0 评论 -
KafKa - SpringBoot 集成 Kafka 及 消息的顺序性
一、KafkaKafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线原创 2022-05-29 11:37:07 · 2349 阅读 · 0 评论 -
SpringBoot整合RocketMQ、发布订阅、顺序消息、事物消息、消息重试和死信队列
SpringBoot整合RocketMQ、发布订阅、顺序消息、事物消息、消息重试和死信队列一、RocketMQRocketMQ是阿里巴巴旗下一款开源的MQ框架,经历过双十一考研、Java编程语言实现,有非常好完整生态系统Rocketmq相比于Rabbitmq、kafka具有主要优势特性有:支持事务消息(能够解决分布式事务的问题)支持顺序消息(底层已经使用内存队列实现)支持consumer端tag过滤,减少不必要的网络传输二、Kafka与RocketMQ对比kafka中Broker是物理原创 2020-12-27 23:30:48 · 4219 阅读 · 9 评论 -
RocketMQ双主双备集群搭建
RocketMQ双主双备集群搭建一、RocketMQRocketMQ是阿里巴巴旗下一款开源的MQ框架,经历过双十一考研、Java编程语言实现,有非常好完整生态系统。相比于Rabbitmq、kafka具有主要优势特性有:支持事务消息(能够解决分布式事务的问题)支持顺序消息(底层已经使用内存队列实现)支持consumer端tag过滤,减少不必要的网络传输二、集群结构Name Server 服务注册发现 用于生产者获取Broker节点信息 类似eureka存储节点注册信息 去中心化思想Br原创 2020-12-27 18:50:08 · 2372 阅读 · 0 评论 -
KafKa - 集群模式搭建
高吞吐量KafaKa集群搭建与使用一、Kafka消息中间件简介Apache Kafka是分布式发布-订阅消息系统,在 kafka官网上对 kafka 的定义:一个分布式发布-订阅消息传递系统。 它最初由LinkedIn公司开发,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。Kafka是一种快速、可扩展的、设计内在就是分布式的,分区的和可复制的提交日志服务。Kafka并没有遵循JMS规范,它只提供了发布和订阅通讯方式。kafka中文官网:http://kafka.apach原创 2020-12-04 15:58:38 · 3533 阅读 · 0 评论 -
高性能RabbitMQ消息队列介绍 及 SpringBoot整合
一、高性能RabbitMQRabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ 等),因此,在 2006 年的 6 月,Cisco 、Redhat、iMatix 等联合制定了 AMQP 的公原创 2020-07-26 18:06:04 · 2433 阅读 · 1 评论 -
CenterOS下配置RocketMQ
CenterOS下配置RocketMQ将压缩包上传至服务器1. tar -xzvf rocketmq.tar.gz2. 进入bin目录,启动namesrv nohup sh mqnamesrv & 3. 查看日志 tail -f nohup.out 结尾:The Name Server boot success. serializeType=JSON 表示启动成功 4. 启动broker nohup sh mqbroker -n 0.0.0.0:9876 &am原创 2020-07-19 12:06:51 · 1012 阅读 · 1 评论 -
SpringBoot整合ActiveMQ消息队列
SpringBoot ActiveMQActiveMQpom.xmlapplication.propertiesActiveMQConfig.java(发布订阅)消息提供者ProducerService.javaProducerServiceImpl.java消息接收者点对点订阅测试ActiveControllerActiveMQApache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,Active原创 2020-07-19 11:28:09 · 881 阅读 · 0 评论 -
SpringBoot RocketMQ发布订阅
SpringBoot RocketMQ发布订阅pom <!-- rocketMQ--> <dependency> <groupId>org.apache.rocketmq</groupId> <artifactId>rocketmq-client</artifactId> <version>4.1.0-incubati原创 2020-07-19 12:57:21 · 1811 阅读 · 0 评论