首页 >>  正文

kafka入门

来源:baiyundou.net   日期:2024-09-24

随着信息化转型的不断深入,越来越多的企业开始以容器和 Kubernetes 支持中间件、数据库和生产环境业务应用。这些使用场景中,不少都有数据持久化存储的需求,一些应用更是对存储的性能和可靠性提出了严苛的要求。因此,针对 Kubernetes 的存储选型也逐渐成为用户关注的焦点:

  • 在 Kubernetes 部署有状态的应用,存储持久化一般都怎么做?
  • “云原生存储”就是分布式存储的意思吗?
  • 在 Kubernetes 上跑 Kafka,对存储性能和稳定性的要求是不是很高?用本地盘或 NAS 可行吗?
  • Kubernetes 持久化存储方案设计要考虑哪些方面?
  • 目前市场上 Kubernetes 持久化存储产品都有哪些?体验如何?

如果您也存在类似的疑问,那么这本《Kubernetes 持久化存储方案选择:从入门到评估》一定不要错过!在这本电子书中,我们收集了企业用户在设计、评估、使用 Kubernetes 持久化存储方案时遇到的常见问题,并通过概念解读、GigaOm 报告解读、主流产品对比、性能实测等多种方式提供了详细的解答,为处于各个 Kubernetes 建设与使用阶段的用户提供一手参考资料。

精选内容先睹为快

热门概念解读

“Kubernetes 持久化存储”“云原生存储”“容器原生存储”“ Kubernetes 原生存储”有什么区别

“Kubernetes 持久化存储”是指 Kubernetes 在管理 Pod 数据时使⽤的⼀组抽象概念和资源,⽽云原⽣存储、Kubernetes 原⽣存储等则是实现 “Kubernetes 持久化存储”的具体技术、产品、⽅案。同时,容器/Kubernetes 原⽣存储包含在云原⽣存储的范畴,但不是所有的云原⽣存储都可以被称为容器/Kubernetes 原⽣存储。

常见方案对比

本地磁盘 vs. 集中式存储 vs. 分布式存储 vs. Kubernetes 原生存储

在 Kubernetes 场景下,本地磁盘由于存在可用性和扩容能力缺陷,难以在大规模生产场景下被广泛使用;CSI 外接商用存储更侧重虚拟化时代的功能特性,一些存储方案(尤其是集中式存储)对云原生环境的支持能力仍有不足。相比之下,Kubernetes 原生存储与 Kubernetes 的集成程度更深,支持有状态应用时性能、扩展性、高可用表现更佳。

权威报告解读

评估 Kubernetes 存储需要关注这些关键能力

GigaOm 在《Key Criteria for Evaluating Kubernetes Data Storage Solutions v4.0》报告中,分析了容器环境对存储方案的特性需求,并列举了决定/影响这些特性的产品能力,包括 4 项标准能力、5 项关键差异能力和 3 项新兴技术支持能力。其中,“原生存储集成”(即与 K8s 生态无缝对接的能力)是对 K8s 存储方案总体水平影响最大的关键差异能力。

主流产品对比

Longhorn vs. Rook vs. OpenEBS vs. Portworx vs. IOMesh

我们从技术开闭源、本土化支持、存储架构、高级数据服务、与 Kubernetes 的集成程度等方面,对 5 款主流容器持久化存储进行了全面对比。同时,通过对 IOMesh、Longhorn、Portworx 和 OpenEBS 进行性能测试,发现四款存储产品在性能与稳定性的表现上,从优到次依次为 IOMesh、Longhorn、Portworx、OpenEBS。

此外,关注到一些用户使用 KubeVirt 加速容器化转型进程,我们也深入探讨了 KubeVirt 对底层存储的能力要求,以及使用国内首款 Kubernetes 原生存储 IOMesh 为 KubeVirt 虚拟机提供持久化存储的能力和性能。欲了解测试详情和用户实践,请阅读:如何使用 IOMesh 为 KubeVirt 虚拟机提供持久化存储?。

更多 Kubernetes 持久化存储干货知识与选型建议,欢迎扫描下方二维码,免费获取《Kubernetes 持久化存储方案选择:从入门到评估》,完整内容一键解锁!

","gnid":"94a6dfec8314c098a","img_data":[{"flag":2,"img":[{"desc":"","height":"383","title":"","url":"https://p0.ssl.img.360kuai.com/t01e3efa0de1e5cd69e.jpg","width":"900"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"pika","pub_time":1699237560000,"pure":"","rawurl":"http://zm.news.so.com/9967f204af6871ac750139d0a0a5e53c","redirect":0,"rptid":"e9165c1c2fedf24d","rss_ext":[],"s":"t","src":"志凌海纳SmartX","tag":[],"title":"干货分享|K8s 持久化存储怎么做?这本电子书带你从入门到选型

连娇许4040kafka只能用命令来创建topic么 -
和终奔13610369057 ______ 在Kafka上创建一个Topic的步骤:进入服务器后,找到kafka安装目录进入bin文件夹,输入命令--- 查看kafka现有主题命令:./kafka-topics.sh --list --zookeeper zk_host:port望采纳.

连娇许4040java客户端使用kafka时什么情况下使用kafka client和spring kafka? -
和终奔13610369057 ______ spring-kafka 是基于 java版的 kafka client与spring的集成,提供了 KafkaTemplate,封装了各种方法,方便操作 所以你使用spring的情况下,可以用spring-kafka,当然直接用kafka client也行

连娇许4040kafka 的实现依赖了哪些东西 -
和终奔13610369057 ______ 1. 通常来说,kafka的使用是为了消息的持久化(persistent messages)2. 吞吐量是kafka设计的主要目标3. 关于消费的状态被记录为consumer的一部分,而不是server.这点稍微解释下,这里的server还是只broker,谁消费了多少数据都记录在消费者自己手中,不存在broker中.按理说,消费记录也是一个日志,可以放在broker中,至于为什么要这么设计,我们写下去了再说.4. Kafka的分布式可以表现在producer、broker、consumer都可以分布在多台机器上.

连娇许4040如何传数据给kafka c++ -
和终奔13610369057 ______ class LogClient(object):def __init__(self, kafkaHost, kafkaPort):self.kafkaHost = kafkaHost self.kafkaPort = kafkaPort def fixLen(self, s, l):s = s[0:8]+worknode+s[8:] fixed = s+" "*(l-len(s)) return fixed def sendLog(self, topic, filename):try:client = ...

连娇许4040如何写java程序代码测试kafka -
和终奔13610369057 ______ 我这里是使用的是,kafka自带的zookeeper.以及关于kafka的日志文件啊,都放在默认里即/tmp下,我没修改.保存默认的1、 [hadoop@sparksinglenode kafka_2.10-0.8.1.1]$ jps2625 Jps2、 [hadoop@sparksinglenode kafka_2.10-0.8.1.1]$ ...

连娇许4040如何为Kafka集群选择合适的Topics/Partitions数量 -
和终奔13610369057 ______ 首先我们需要明白以下事实:在kafka中,单个patition是kafka并行操作的最小单元.在producer和broker端,向每一个分区写入数据是可以完全并行化的,此时,可以通过加大硬件资源的利用率来提升系统的吞吐量,例如对数据进行压缩.在...

连娇许4040如何用Java向kafka发送json数据 -
和终奔13610369057 ______ 发送json也可以看成字符串处理 We have 2 Options as listed below1) If we intend to send custom java objects to producer, We need to create a serializer which implements org.apache.kafka.common.serialization.Serializer and pass that Serializer ...

连娇许4040数据为什么要由kafka传送给分布式系统 -
和终奔13610369057 ______ 主要是为了数据的安全.因为分布式数据库相当于单独存在的个体,一旦发生意外也只影响到局部数据库.另外,当数据传送时,可以减轻中心服务器的压力.具体的看下面: 分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方

连娇许4040在spring怎么读取kafka文件 -
和终奔13610369057 ______ ound Channel Adapter用来发送消息到Kafka. 消息从Spring Integration Channel中读取. 你可以在Spring application context指定这个channel. 一旦配置好这个Channel,就可以利用这个Channel往Kafka发消息. 明显地,Spring Integration特定的消息发送给这个Adaptor,然后发送前在内部被转为Kafka消息.当前的版本要求你必须指定消息key和topic作为头部数据 (header),消息作为有载荷(payload). 例如

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024