IT行业均薪领跑7大传统行业
去年各行业月收入对比
今年IT各技术方向行业平均薪资
IT培训网面向所有课程学员提供先就业后付款学习方案,保证学员稳定就业,可谓0学费!免除学习压力。
正文:
架构师的选择,Pulsar还是Kafka?如何当一名架构师?
作为Kafka的用户,我确实对Kafka的某些问题感到困惑,并且我对Pulsar感到非常失望。所以最后,我设法花了一些时间进行研究,并且做了很多研究。在本文中,我将重点介绍Pulsar的优势,并为您提供一些理由,使您对比Kafka来考虑它。但是,请在产品使用,支持,社区,文档等方面明确一点;Kafka显然超过了Pulsar,并且只有在本文中讨论的大多数优点都适合您的用例的情况下,才考虑使用Pulsar。让我们开始!
Kafka基础知识
Kafka是消息传递系统之王。它由LinkedIn于2011年创建,并在Confluent的支持下得到了广泛的传播。Confluent已向开源社区发布了许多新功能和附加组件,例如用于模式演化的Schema Registry,用于从其他数据源轻松流式传输的Kafka Connect等。数据库到Kafka,Kafka Streams进行分布式流处理,最近使用KSQL对Kafka主题执行类似SQL的查询等等。它还具有用于许多系统的许多连接器,有关更多详细信息,请查看Confluent Platform。
Kafka快速,易于安装,非常受欢迎,可用于广泛的范围或用例。 从开发人员的角度来看,尽管Apache Kafka一直很友好,但在操作上却是一团糟。 因此,让我们回顾一下Kafka的一些痛点。
> Kafka example. Source: https://talks.rmoff.net/pZC6Za/slides
Kafka的问题
如您所见,大多数问题与操作方面有关。 尽管安装起来相对容易,但Kafka难以管理和调整。 而且,它还没有像它可能的那样灵活和有弹性。
Pulsar基础知识
Pulsar由Yahoo在2013年创建,并于2016年捐赠给Apache基金会。Pulsar现在是Apache的顶级项目。Yahoo,Verizon,Twitter等公司在生产中使用它来处理数百万条消息。它具有许多功能,并且非常灵活。它声称比Kafka更快,因此运行成本更低。它旨在解决Kafka的大部分难题,使其更易于扩展。
Pulsar非常灵活; 它可以像Kafka这样的分布式日志,也可以像RabbitMQ这样的纯消息传递系统。 它具有多种类型的订阅,几种交付保证,保留策略以及几种处理模式演变的方法。 它还有很多功能……
> Pulsar architecture: https://pulsar.apache.org/docs/en/concepts-architecture-overview/
Pulsar的特性
> List of features: https://pulsar.apache.org/
如您所见,Pulsar具有许多有趣的功能。
Pulsar 动手
开始使用Pulsar非常容易。确保已安装JDK!
Pulsar提供了一个称为pulsar-client的CLI工具,我们可以使用它与集群进行交互。
产生消息:
阅读消息:
Akka流示例
作为一个客户示例,让我们在Akka上使用Pulsar4s!
首先,我们需要创建一个Source来使用数据流,所需要的只是一个函数,该函数将按需创建使用者并查找消息ID:
然后,我们传递consumerFn函数来创建源:
Akka源的物化值是Control的一个实例,该对象提供了一种"关闭"方法,可用于停止使用消息。 现在,我们可以像往常一样使用Akka Streams处理数据。
要创建一个接收器:
完整示例摘自Pulsar4s:
Pulsar函数示例
Pulsar函数处理来自一个或多个主题的消息,对其进行转换并将结果输出到另一个主题:
> Pulsar Functions. Source: https://pulsar.apache.org/docs/en/functions-overview/
可以在两个接口之间进行选择以编写函数:
使用语言本机接口非常容易,您只需编写一个简单的函数即可转换消息:
用Python编写的这个简单函数只是向所有传入的字符串添加一个感叹号,并将结果字符串发布到主题。
要使用SDK,您需要导入依赖项,例如在Go中,我们将编写:
要发布无服务器功能并将其部署到集群,我们使用pulsar-admin CLI,如果使用Python,我们将使用:
Pulsar Functions的一个重要功能是您可以在发布该函数时设置交付保证:
有以下选择:
Pulsar的优势
让我们回顾一下与Kafka相比的主要优势:
Pulsar的问题
Pulsar并不完美,Kafka之所以流行是有原因的,它做一件事并且做得很好。 Pulsar试图解决太多领域,但没有超越任何一个领域。 让我们总结一下Pulsar的一些问题:
Confluent在Pulsar和Kafka之间进行了比较,可以在其中进行更多的详细说明。 该博客还回答了有关Kafka与Pulsar的一些问题,但请注意,这些问题可能有偏见。
Pulsar使用案例
Pulsar可用于广泛的用例:
什么时候应该考虑Pulsar
请注意,如果在云中,请考虑基于云的解决方案。云提供商拥有涵盖某些用例的不同服务。例如,对于队列消息传递,云提供商提供了许多服务,例如Google pub / sub。对于分布式日志,有Confluent云或AWS Kinesis。云提供商还提供了非常好的安全性。Pulsar的优势在于可以在一个平台上提供许多功能。一些团队可能将其用作微服务的消息传递系统,而另一些团队则将其用作数据处理的分布式日志。
结论
我是Kafka的忠实粉丝,这就是为什么我对Pulsar如此感兴趣。竞争是好的,它驱动创新。
Kafka是一种成熟,富有弹性且经过战斗考验的产品,在世界范围内获得了巨大成功。 没有它,我无法想象任何公司。 但是,我确实看到Kafka成为其自身成功的受害者,巨大的增长减慢了功能开发的速度,因为它们需要支持这么多大型公司。 删除ZooKeeper依赖项等重要功能花费的时间太长。 这为诸如Pulsar等工具蓬勃发展创造了空间。 解决Kafka的一些问题并添加更多功能。
但是,Pulsar仍然很不成熟,在投入生产之前,我会格外小心。在将Pulsar纳入你的组织之前,进行分析,进行基准测试,研究并编写概念证明。从小处着手,在从Kafka迁移之前进行概念验证,并在决定进行完全迁移之前先评估影响。
姓名:左*飞
学历:专科
专业:理学与信息科学学院
薪资:13000
入职单位:北京惠信数据
数据来自学员真实就业
拒绝以偏概全
姓名 | 学历 | 入职单位 | 专业 | 薪水 | 福利 |
刘*东 | 专科 | 保密 | 信息工程系 | 12000 | 五险一金 |
刘*东 | 专科 | 保密 | 信息工程系 | 12000 | 五险一金 |
刘*东 | 专科 | 保密 | 信息工程系 | 12000 | 五险一金 |
你想要当一名什么样的架构师
在乎每一位学员的职业梦想,坚持教育初心
20000名 年培养学员 |
5000名 同期在校学员 |
16城 培训中心遍布全国 |
20个 开设培训中心 |
500所 合作院校 |
10000家 合作企业 |
12门 目前开设课程 |
200位 讲师团队 |
· 就业保障体系覆盖全国,
· 10000多家合作企业定期招聘,
· 学员就业可随心选择。
· 全国各校区讲师统一管理,招聘标准一致,
· 课程大纲全范围内定期升级更新,
· 保障学员学习质量