当前位置: 首页>后端>正文

如何扩展 Kafka 以便每天处理 1+ 万亿条消息?

最近在PayPal工程博客上的一篇文章解释了如何让Kafka达到这个水平。

Kafka 系统有三个主要部分:

  • 生产者和消费者是发送和接收消息的部分。他们使用用不同编程语言编写的自定义库来完成此任务。

  • 代理是从生产者那里接收消息,存储它们,然后将其发送给消费者的服务器。

  • ZooKeeper服务器跟踪配置数据并帮助代理保持同步。PayPal仍然更喜欢ZooKeeper而不是KRaft,尽管保持这些服务器运行更难。

PayPal在全球运营着1,500多个经纪人,并托管了20,000多个主题。

这些是他们为使这一切成为可能而采取的主要策略:

  1. 集群管理:PayPal 创建了一个动态处理这些地址的服务,而不是为其代理提供固定地址

  2. 访问控制列表(ACL):PayPal设置系统,确保只有授权的应用程序才能访问特定的Kafka集群和主题,增强安全性。

  3. 监控和警报:PayPal 获得大量关于其 Kafka 集群工作情况的数据,以确保它们的可靠性。如果发生奇怪的事情,会发出警报,使团队更容易立即处理问题。

  4. QA 环境:PayPal构建了一个单独的副本世界(QA 环境),开发人员可以在其中自由测试内容,而不会影响实际设置。

  5. 主题入职:团队必须提出开始新主题的请求。在批准这些请求之前,PayPal有一个 Kafka 团队来查看它们,确保他们可以处理它们并设置所需的任何安全措施。


https://www.xamrdz.com/backend/3t81924288.html

相关文章: