Kafka Topic创建三步曲

空心菜 发表了文章 0 个评论 2076 次浏览 2020-09-19 15:22 来自相关话题

Kafka Topic Consumer

通常在生产环境新增业务主题,我们都需要提前预测到,然后做好充分的准备,本文将介绍在生产环境中创建Topic时需要考虑的所有参数。


首先创建新Topic的时候,我们需要设置合理的分区数和副本数,不合理的设置将会给系统的性能和可靠性带来影响。


创建一个Topic

kafka/bin/kafka-topics.sh --create \
--zookeeper localhost:2181 \
--replication-factor 2 \
--partitions 3 \
--topic unique-topic-name

分区(Partitions)

Kafka主题分为多个分区,其中包含以不变顺序排列的消息。分区中的每个消息均通过其唯一偏移量进行分配和标识。


分区使我们可以在多个Broker之间分配主题数据,从而平衡Broker之间的负载。每个分区只能由一个Consumer Group使用,因此,服务的并行性受Topic拥有的分区数约束。


分区数受两个主要因素的影响,即消息数和每条消息的平均大小。如果交易量很大,您将需要使用代理数量作为乘法倍数,以允许在所有使用者上共享负载,并避免创建热分区,该分区会对特定代理造成高负载。我们的目标是使分区吞吐量达到1MB/s。


设置分区数:


--partitions [number]

副本(Replicas)

Kafka Topic Producer writes

如果leader分区发生故障并且需要跟随者(follower)副本替换它并成为领导者(leader),则Kafka可以选择复制Topic分区。在配置Topic时,请记住,分区是为实现快速读写速度,可伸缩性和分发大量数据而设计的。


另一方面,复制因子(RF)旨在确保指定的容错目标。副本不会直接影响性能,因为在任何给定时间,只有一个(leader)领导者分区负责通过Broker服务器处理生产者和使用者请求。


在决定复制因子时的另一个考虑因素是,为了满足生产容量会话,需要考虑服务需要的消费者数量。


设置复制因子(RF):
如果你的Topic承载的是关键业务,推荐你设置复制因子为3,其他的设置为2就够了。

--replication-factor [number]

Tips:  但这里需要注意一点的是, RF <= Broker Number



保留(Retention)

将消息保留在Topic中的时间或最大Topic大小。根据你的用例确定。默认情况下,保留期限为7天,但这是可配置的。


设置Retention:


--config retention.ms=[number]

压缩(Compaction)

为了释放空间并清理不需要的记录,Kafka压缩可以根据记录的日期和大小删除记录。它还可以删除具有相同键的每个记录,同时保留该记录的最新版本。基于键的压缩对于控制Topic的大小非常有用,其中只有最新的记录版本才是重要的。


启用压缩:


log.cleanup.policy=compact

分享阅读原文: http://suo.im/5W8p1p

elasticsearch创建索引失败

回复

Something 回复了问题 2 人关注 1 个回复 2277 次浏览 2020-09-03 15:23 来自相关话题

Kafka启动报错java.net.UnknownHostException

空心菜 回复了问题 1 人关注 1 个回复 4301 次浏览 2020-08-15 23:14 来自相关话题

请教大神,kafka使用时间戳获取offsets中,当时间戳是当前时间时,为什么获取到的offset是null?

空心菜 回复了问题 1 人关注 1 个回复 4166 次浏览 2018-08-13 16:36 来自相关话题

Elasticsearch怎么备份和迁移数据

空心菜 回复了问题 3 人关注 3 个回复 9010 次浏览 2018-07-17 09:18 来自相关话题

kafka-server 启动脚本分享

回复

Ansible 发起了问题 1 人关注 0 个回复 5722 次浏览 2017-11-16 14:29 来自相关话题

hbase SessionExpiredException: KeeperErrorCode = Session expired

OpenSkill 回复了问题 2 人关注 1 个回复 14573 次浏览 2017-10-15 13:54 来自相关话题

最近看到好多推荐OVM社区虚拟化软件的,谁用过,性能如何?

虚拟化老兵 回复了问题 3 人关注 2 个回复 3730 次浏览 2017-09-13 14:11 来自相关话题

免费虚拟化OVM与 OpenStack对比

虚拟化老兵 发表了文章 0 个评论 3571 次浏览 2017-09-13 14:06 来自相关话题

OpenStack作为一款全球化的开源软件,其设计之初的定位就是对于大中型企业,因为这些企业可以派出丰富而强大的技术团队进行深度开发与维护,而对缺乏软件开发和运维能力的传统企业及中小企业来说,易思捷OVM是100%更好的选择。(技术服务qq 群22 ...查看全部
    OpenStack作为一款全球化的开源软件,其设计之初的定位就是对于大中型企业,因为这些企业可以派出丰富而强大的技术团队进行深度开发与维护,而对缺乏软件开发和运维能力的传统企业及中小企业来说,易思捷OVM是100%更好的选择。(技术服务qq
群22265939)
[b]OVM是开箱即用的一站式解决方案[/b]
OpenStack的开源软件安装部署对于很多运维人员来说都不陌生,企业大多只提供安装包和简单的安装文档,而这些安装过程大多会涉及到数据库、redis、rabbitmq、ruby等环境的配置,这些配置也要求运维人员学习以上软件的安装部署,否则一步配置错误就会导致整体的安装部署失败,从而造成整个安装部署少则2-3天多则1-2周才能完成的窘境,复杂的安装部署过程让运维人员疲惫不堪。Openstack作为开源产品也不例外,并且 OpenStack可下载的厂商定制版本就有20多个,客户根本不知道应选择哪个版本,更不要说在不同厂商版本之间组合、混搭、迁移了,对于IT投入较小且缺乏专业人才的中小企业而言只能望洋兴叹。
而OVM是面向数据中心的一款开箱即用的免费服务器虚拟化软件,有别于传统的开源软件,OVM安装部署全部(包括管理平台和计算节点)采用一键式的ISO方式,整个安装过程就像是在安装一个Centos操作系统一样的简单,只用花费10-20分钟的过程就可以完成。即使是运维小白,通过OVM提供的ISO镜像也可在1小时内完成整个产品的安装部署。

[b]OVM的稳定性经得起考验[/b]
OVM从架构设计之初就充分考虑到产品的稳定性,并把稳定性放在了第一位。因为作为一款Iaas级的虚拟化管理软件,它不仅仅是一个软件,更是连接用户数据中心的中枢(包括物理机、存储、网络、防火墙、灾备等)。在架构设计上,OVM同时具备了开源软件和商业软件的优点,首先保证产品无单点故障,即管理平台高可用;其次支持分布式部署,将不可预估因素造成的损失降到最小。OVM架构包括分布式和插件式,这两个特点既允许用户将不同的模块和服务部署在同一台Server上面,也可以将其分开部署在多台Server上,大大了提高了部署的灵活性,同时也可将单点故障的风险降到最小。另外OVM引入了Zookeeper、Pacemaker等软件来为OVM提供高可用性,避免单点故障的发生。OVM的每个版本均经过严格的内测,再正式对外发布,每一个环节我们都严把质量关,将稳定性自始至终贯穿到OVM产品的每个环节。
而OpenStack每半年升级一次,每次升级都需要花费大量时间修复bug。根据www.51cto.com做的一项关于OpenStack的用户调查, 33.33%的用户认为OpenStack还不够稳定而且修改难度大。

[b]OVM升级更轻松简单[/b]
对于一个产品来说,迭代升级是必然的事情,未来产品研发规划中, OVM将考虑如何让用户不费吹灰之力就可以升级使用最新版本。最终做到与UI无缝结合,用户只需点击WEB管理平台中的一键升级按钮便可轻松实现版本的快速升级,并且不会影响到业务的正常运行。
而OpenStack的Nova,Swift,Cinder和Neutron分别使用各自的数据库存储配置信息,
要升级就要修改多个数据库schema,做不到热升级。再如,HP作为OpenStack的白金会员在部署网络服务(Neutron)时,遇到了噩梦般的经历,不得不重写网络组件的代码才能达到大规模应用的要求。OpenStack还有一个问题就是半年快速迭代,发布新产品,速度太快,老版本跟不上,理论上,新版本向下兼容,但当一些版本改动较大,加入新功能时,如果企业已经深度应用了旧版本,可能面临技术无法升级,或者需要重度开发的问题。由此说明,OpenStack在集成性、扩展性和实用性上还不足,如果要选用,需要一支专家队伍帮助实施。

[b]OVM可以提供端到端的服务[/b]

易思捷OVM社区作为OVM产品唯一的服务商,提供统一的产品功能和技术服务,以用户需求为导向来提供产品功能,也可以为用户提供端到端的服务保障。
而OpenStack不能提供端到端的服务保障。云平台必备的自动化部署、自动化运维、状态监控、设备管理、可用性检测、安全性、可靠性和平台自修复功能在OpenStack中或者缺失,或者散落在单独产品中。客户拿到手的只是散落的“骨架“,必须通过专业技术人员手工将多厂商、多版本的逐个功能集成起来,这对于中小企业来说显然难度很大。

[b]OVM的架构和性能更优[/b]

与OpenStack笨重的架构对比,OVM更加的轻量级,对于产品初期的按照及后期的运维都要简单得多。众所周知,OpenStack大小模块和组件加起来会有好几十个,要想真正搞懂每个组件,一两个人是无法完成的,是必须要有一个强大的技术团队才能支撑起来的。而且直接使用开源的OpenStack会存在很多bug,无法规模化商用,所以很多企业只能选择商业公司封装的OpenStack版本。另外需要着重说明的是,OpenStack不是产品,只是架构,在开源社区开发的各类版本,只有在“封装”之后才可以使用。一般的企业不具备这种技术实力,需要IT公司帮助实施、运维、开发等工作,这样无疑又加重了企业的总体成本。
综上,与OpenStack相比,易思捷OVM产品架构的设计严格按照商业产品架构的高标准要求,始终把产品的稳定性、易用性、可扩展性,以及产品的高性能放在第一位,秉承“用户是上帝”的理念,为用户提供优质的服务和高品质的产品,让大家共同来使用和见证中国人自己的虚拟化产品!
(技术服务qq群22265939)

大话超融合:全融合云IT帮您轻松上云

OT学习平台 发表了文章 0 个评论 2772 次浏览 2017-08-24 14:34 来自相关话题

超融合基础架构,是一种将计算、网络、存储和安全等资源作为基本组成元素,根据系统需求进行选择和预定义的一种技术架构。 深信服紧密围绕客户价值需求,提出了超融合构建的企业级云方案,其在逻辑上分为两个层面:一层是云基础架构层面,通过超融合来实现,只用通用 ...查看全部
超融合基础架构,是一种将计算、网络、存储和安全等资源作为基本组成元素,根据系统需求进行选择和预定义的一种技术架构。
深信服紧密围绕客户价值需求,提出了超融合构建的企业级云方案,其在逻辑上分为两个层面:一层是云基础架构层面,通过超融合来实现,只用通用的x86服务器和二三层交换机,通过完全软件定义的方式实现云基础架构;另一层是云管平台,实现底层云基础架构和上层应用的紧密融合。
深信服致力于企业级云解决方案,并一直秉承着“利用创新云化技术,帮助客户打造极简、随需应变、平滑演进的IT新架构”的理念。深信服企业云方案兼具超融合和云管理的独特价值,是数据中心云化的最佳路径。
深信服企业级云,基础架构只有X86服务器和交换机两种设备,使得云数据中心的初始建设成本大幅下降,基于分布式架构,三台一体机就能构建资源池,系统可靠性得到有效保障,而基于模块化标准化的资源池,使建设过程变得非常简单。
云时代,超融合已成为当前云计算基础架构领域最大的热点,如何构建企业级云?最先进的超融合架构什么样?8月29日14:00“大话超融合——全融合云IT帮您轻松上云”直播活动即将开启,听听超融合领域资深专家为您指点迷津。

直播间地址:http://www.otpub.com/home/live/live/liveid/10038.html