Kafka - 应该选择哪种Kakfa? Apache/Confluent/CDH/HDP
三种kafka的优缺点
- Apache Kafka,也称社区版 Kafka。优势在于迭代速度快,社区响应度高,使用它可以让你有更高的把控度;缺陷在于仅提供基础核心组件,缺失一些高级的特性。
- 社区版 Kafka 只提供一种连接器,即读写磁盘文件的连接器,而没有与其他外部系统交互的连接器,在实际使用过程中需要自行编写代码实现
- 没有提供任何监控框架或工具。显然在线上环境不加监控肯定是不可行的,你必然需要借助第三方的监控框架实现对 Kafka 的监控
- 两种kafka监控软件,一个是 kafka tools ,能够清晰的看到kafka存储结构。一个是 granafa,能看到消费的折线图
- Confluent Kafka,Confluent 公司提供的 Kafka。优势在于集成了很多高级特性且由 Kafka 原班人马打造,质量上有保证;缺陷在于相关中文文档资料不全,普及率较低,没有太多可供参考的范例。
- CDH/HDP Kafka,大数据云公司提供的 Kafka,内嵌 Apache Kafka。优势在于操作简单 (所有的操作都可以在前端 UI 界面上完成,这些平台提供的监控界面也非常友好),节省运维成本;缺陷在于把控度低,演进速度较慢。
如果你是创业公司的架构师,你怎么选择?
Q:设想你是一家创业公司的架构师,公司最近准备改造现有系统,引入 Kafka 作为消息中间件衔接上下游业务。作为架构师的你会怎么选择合适的 Kafka 发行版呢?
A1:通常来说,创业公司多是CDH;大厂一般使用Apache Kafka,并且自己做了定制和改造。
1. 如果是非常紧急的项目,优先选择商业版,毕竟花了钱以后,有人support。
2. 如果是研究性质或者时间相对宽松的项目,选择Apache Kafka,可以在和社区不断交流的过程中加深理解,根据项目需求,做一些定制。
A2:因为是创业公司改造现有架构,那么我需要考虑这样几点:
1. 紧急程度有多高,如果替换比较慢对业务有多大影响.
2. 有多少开发人员能够参与这个工作.
3. 后期运维能不能跟得上. 如果紧急程度不高,且有足够的开发参与,运维也给力,那么我会考虑上原生的apache kafka,然后通过自研的组件打通全流程。
反之我会考虑购买现成的产品,毕竟拿来直接用且有人做运维也能节省成本,还能使产品快速上线。何乐而不为呢?而且如果很紧急,我们的产品还是部署在阿里云上,那么我直接买阿里云的现成的服务,这样更适合创业团队。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2021-08-29 Mybatis - 设置“逻辑删除”
2021-08-29 Network - 跨域
2020-08-29 java基础 - Reactor模型 vs Proactor模型
2020-08-29 java基础 - 同步 vs 异步,阻塞 vs 非阻塞
2019-08-29 微服务 - 基础知识