首页 > 其他分享 >kafka消息队列的优化

kafka消息队列的优化

时间:2024-07-31 17:30:37浏览次数:11  
标签:p1 消费者 队列 partition broker kafka topic 优化

kafka

​ 消息队列,内是列表,列表的每个节点就是消息,有序号,offset指代

对于消息队列的优化

1.高性能:

(1)对消息进行分类,每一类是一个topic topic1,topic2......,增加多个消费者,生产者

(2)生产者将数据按照topic 投递到不同的队列中
消费者根据需要订阅不同的topic
这样就降低了topic队列的压力

(3)可以将单个topic队列拆分成好几段,每段就是一个partition,有partition1,partition2.......
有多个消费者,每个消费者负责一个partition分区

2.高扩展性:

​ 每个partition都在同一台机器上会导致单个机器cpu内存过高,将每个partition分配到多个机器上,
​ 每一台机器就代表一个broker

3.高可用:

​ 为了防止broker损坏,再给每个partitiion加副本,称为replicas , p1叫leader,p1副本叫follower
​ leader负责读写,follower负责同步p1的消息,再将p1,p2分散到不同的broker上面

4.持久化和过期策略:

​ 再将所有的broker增加保留策略 (retention policy),定期清除。然后存储到磁盘上,保证磁盘不会超载

5.消费者组consumer group

​ 新增的消费者不会直接跟着最新的offset消费,可从某个offset开始消费 ,消费者组consumer group,每个

​ 消费者消费自己的partiittion进度胡不打搅

6.维护

​ 加入zookeeper管理broker

标签:p1,消费者,队列,partition,broker,kafka,topic,优化
From: https://www.cnblogs.com/by0429/p/18335076

相关文章

  • MySQL优化器derived_merge
    衍生表的优化:合并|具化一、mysql优化器对于衍生表的优化处理可以从两方面进行:将衍生表合并到外部查询将衍生表具化为内部临时表1、示例1:SELECT * FROM (SELECT * FROMt1) ASderived_t1;衍生表 derived_t1合并处理后,实际执行的查询类似如下:SELECT......
  • Flask框架内容基础3 -- 使用redis实现异步任务队列
    前面所了解的所有请求都是同步的,那么当面临异步请求时,应该怎么做?调用者:携带参数发送请求API:接收请求并生成一个任务ID,接下来:返回给调用者+放到任务队列中worker:等待redis队列(List),一旦接收到任务,就执行并将结果返回到结果队列(Hash)调用者:等待n秒后,携带任务ID再次发送请求,获......
  • java中队列queue操作
    文章目录前景描述方法描述结语前景描述java中的queue(队列)是比较常见的数据结构,它继承于collection(集合),但相对collection,queue提供了一些独有的功能,为特定场景下操作元素提供了便利。queue在java中的顶级接口是Queue,该接口定义了queue的基本操作一共有六个add,offer......
  • 斜率优化
    P5785[SDOI2012]任务安排快进到DP式子:\[f(i)=\min\{f(j)+T(i)\times(C(i)-C(j))+m\times(C(n)-C(j))\}\]把\(\min\)去掉,然后拆括号:\[f(i)=f(j)+T(i)\timesC(i)-T(i)\timesC(j)+m\timesC(n)-m\timesC(j)\]移项:\[\underline{f(j......
  • 【第二篇章】优秀的机器学习策略 超参数优化之决策树
    在机器学习的浩瀚星空中,决策树作为一颗璀璨的星辰,以其直观易懂、解释性强以及高效处理分类与回归任务的能力,赢得了众多数据科学家与工程师的青睐。随着大数据时代的到来,如何从海量数据中提炼出有价值的信息,构建出既准确又可靠的预测模型,成为了机器学习领域不断探索的热点。......
  • 优化数据处理效率,解读 EasyMR 大数据组件升级
    EasyMR作为袋鼠云基于云原生技术和Hadoop、Hive、Spark、Flink、Hbase、Presto等开源大数据组件构建的弹性计算引擎。此前,我们已就其展开了多方位、多角度的详尽介绍。而此次,我们成功接入了大数据组件的升级和回滚功能,能够借助EasyMR来掌控大数据组件的升级与回滚流程。在本......
  • golang对遍历目录操作的优化
    一转眼go1.23都快发布了,时间过得真快。不过今天我们把时间倒流回三年半之前,来关注一个在go1.16引入的关于处理目录时的优化。对于go1.16的新变化,大家印象最深的可能是io包的大规模重构,但这个重构实际上还引进了一个优化,这篇文章要说的就是这个优化。本文默认Linux环境,不过这个......
  • MySQL入门学习-设计优化.范式设计
        以下是关于MySQL入门学习中设计优化和范式设计的一些基本信息:一、设计优化:1.索引优化:  -选择合适的列创建索引,通常在经常用于查询、连接、排序的列上创建索引。  -避免在过多的列上创建索引,以免影响插入、更新和删除操作的性能。  -对于大型......
  • MySQL入门学习-设计优化.生成列
        在MySQL中,生成列(GeneratedColumn)是一种特殊的列类型,它的值是根据其他列的值或表达式计算得到的。生成列可以分为两种类型:存储生成列(StoredGeneratedColumn)和虚拟生成列(VirtualGeneratedColumn)。一、特点和使用方法:1.存储生成列:  -特点:    ......
  • go高并发之路——消息中间件kafka(上)
    一般高并发的业务都是某个时间段的请求量特别大,比如本人负责的直播业务,基本上一天就两个高峰段:早上和晚上的特定时间段。其它的时间里,流量基本都比较平稳。那么面对流量高峰,我们可以采取哪些措施呢?常见的有服务器和DB提前扩容、监控告警(盯监控)、流量削峰、加缓存、网关限流、服务......