卡夫卡高级图

卡夫卡是什么?

Apache 卡夫卡是一个用于快速、容错的分布式提交日志 生产者和消费者之间使用基于消息的通信 主题. 卡夫卡 provides the messaging backbone for building a new 生成分布式应用程序,能够处理数十亿 events and millions of transactions.


Take control of your events

事件 are everywhere — user activity streams, 日志事件, telemetry from embedded devices and mobile phones, and more. 卡夫卡 将脚本从推到拉,让你控制高 应用程序中用于转换客户的大量事件流 经验. With 卡夫卡, you can accept inbound events at any scale 轻松地将它们路由到基于键的分区,提供了一个清晰的 路径实时流处理用户活动跟踪,AD tracking, IoT, mobile sync and messaging systems.

Build modern application architectures

像微服务这样的应用程序体系结构需要新的方法 to coordination, scaling and orchestration. 卡夫卡的拉动 通信模型减少了负载下关键服务的反压力, letting you add and scale new services independently. 卡夫卡使 moving from actor to channel centric app dev models, simplifying 服务发现和减少脆性RPC风格和多对多 coordination between services.

New ways to process data and time

卡夫卡 lets you rethink the relationship between data, time and operations in your application. 卡夫卡 takes transactional data in tables and reduces it to a series of events, each representing a keyed record and operation at a point in time. 这让您可以创建 数据恢复应用程序中所有更改事件的记录, replay, simulation and auditing. These same primitives let you build 强大的数据处理管道,用于分析和转换 use cases, with 消费者 reading data from a set of 主题, applying functions, and writing the output to a new set of 主题.

Why Heroku上的Apache 卡夫卡?

Manage event streams of all sizes

Whether you’re first exploring event-driven architecture or looking for an enterprise-grade 卡夫卡 solution, Heroku has you 覆盖. 开始 with a plan to develop and test; change to a larger plan - with a simple command on the CLI - as your 生产需求扩大.

世界一流的操作

Now you can consume 卡夫卡 as a service with Heroku’s world-class orchestration and thoughtfully tuned configurations that keep 卡夫卡快速和健壮. We distribute 卡夫卡 resources across network zones for fault-tolerance, and ensure your 卡夫卡 cluster is always available and addressable.

Elegant developer 经验

Easy to use CLI and web tooling make 卡夫卡 simple to provision, 配置和操作. Add 主题, create 分区, manage log 压缩,并从舒适的CLI或监控关键指标 Heroku仪表板.

Seamless integration with apps

将生产者和消费者作为Heroku应用来运行 水平可伸缩性. Config vars make it easy to securely connect to your 卡夫卡 cluster, so you can focus on your core 逻辑.

Securely manage protected, regulated data streams

安全处理敏感流的PHI和PII数据构建一个新的类 实时应用具有严格的安全性和无缝HIPAA合规,完美的监管 industries such as healthcare and life sciences.

Access event streams in Heroku and Amazon

无缝和安全地将Heroku上的Apache 卡夫卡连接到一个或多个资源 Amazon VPCs via PrivateLink.

Bring your own key (BYOK)

部署一个新的Apache 卡夫卡服务,在你的私有中创建和管理你自己的密钥 AWS公里帐户. 你可以在任何时候通过撤销密钥来阻止任何人的访问, giving you full control and custody of your sensitive data.

流数据连接器

With Heroku’s effortless 改变 Data Capture (CDC) process, 快速配置连接器来监视一个或多个Postgres表进行写操作, 更新, 和删除, and then write each change to an Heroku上的Apache 卡夫卡 topic.

heroku addons:create heroku-kafka:standard-0 -a kafka-demo

Creating cooking-kindly-6535... 完成,(免费)

Adding cooking-kindly-6535 to kafka-demo... 完成

Setting KAFKA_URL and restarting kafka-demo... 完成,v3

卡夫卡仪表板
它是如何工作的

卡夫卡提供了一组强大的原语来连接你的分布式应用:消息, 主题, 分区, 生产商, 消费者, 和日志压实.


消息

卡夫卡是一个消息传递系统,消息是事件,可以有键.

经纪人

A 卡夫卡 cluster is made up of brokers that run 卡夫卡 processes.

主题

主题 are streams of messages of a particular category.

分区

分区 are append only, ordered logs of a topic’s messages. 消息 have offsets denoting position in the partition. 卡夫卡跨集群复制分区,以实现容错和消息持久性.

生产商

生产者是向主题和分区的代理发送消息的客户端进程. 生产者可以在键上使用分区函数来控制消息分发.

消费者

消费者 read messages from 主题' 分区 on brokers, 跟踪最后的偏移读取以协调并从故障中恢复. 消费者 can be deployed in groups for scalability.

日志压实

日志压缩保存每个键的最新值,以便客户端可以恢复状态.

“Heroku上的Apache 卡夫卡为BG集团提供了专业的平台微调, along with day to day management and metrics, that we simply couldn’t achieve by ourselves.”

尤里奥里维拉
Full Stack Engineer, GNAR
咆哮的故事→

“Like anything we implement on Heroku, 在平台上安装Apache 卡夫卡的时间非常快. It requires less management, and we have peace of mind knowing that once it’s set up correctly, the Heroku team will keep it running smoothly.”

米奇喜怒无常
首席技术官,有人在家
任何人家的故事→

“Heroku上的Apache 卡夫卡提供了一个单一的解决方案,支持应用程序之间的事件通知和站点分析的事件数据流. BG集团不再需要手动配置应用程序或管理额外的事件流机制. It saves us time and reduces complexity.”

迈克尔Wagg
科技领先,carwow

“在Heroku上使用Apache 卡夫卡最大的好处之一就是开发者的体验. BG集团可以使用同样熟悉的工具和统一管理卡夫卡的经验,就像BG集团对Heroku应用和其他插件所做的一样, BG集团现在有了一个与BG集团的团队结构更加匹配的系统.”

瑞安Daigle
Director of Engineering, Spreedly

构建数据密集型应用程序

弹性排队

卡夫卡 on Heroku acts as the edge of your system, 持久地接受大量的入站事件——无论是用户点击交互, 日志事件, 移动遥测, 广告跟踪, 或其他事件. 这使您能够为增量处理不可变事件流创建新的体系结构类型. 您可以无缝地添加和删除下游服务,而不会影响接受高吞吐量入站事件的能力, 卡夫卡的持久性确保了事件在服务故障后重新连接时是可用的,所以没有事件丢失.

Data pipelines and analytics

卡夫卡是构建用于转换流数据和计算聚合度量的数据管道的理想传输工具. 管道可以帮助您构建高级的以数据为中心的应用程序,并帮助分析团队做出更好的决策. 卡夫卡的分布式架构和不可变事件流使得为增量式构建管道变得非常简单, parallel processing of fast moving data. 您可以在组织中集成所有不同的数据源和数据接收器.

Microservices coordination

卡夫卡使你能够将你的应用建模为一组微服务的集合,这些微服务处理事件并在类似通道的主题上交换状态. 卡夫卡 becomes the backplane for service communication, allowing microservices to become loosely coupled. 自引导微服务变得独立于顺序,因为所有的通信都是在主题上进行的. Service discovery is simply a matter of connecting to new 主题. Consuming and producing services, 以及卡夫卡 broker, can be scaled independently so your architecture is fully elastic. 卡夫卡在多个服务器上分发主题和复制消息以保持事件的持久性, so if a broker fails for any reason, your event data will be safe. 如果服务失败,它可以重新连接并从最后一个已知偏移量开始处理.


看看它的作用

See what 卡夫卡 on Heroku can do. 看看BG集团最近的演示.

视图卡夫卡演示


技术会议

Building Event Driven Architectures with 卡夫卡 on Heroku

Apache 卡夫卡每天可以用来流处理数十亿的事件——但是你知道在你的应用架构中应该在哪里使用它吗? Find out at our technical session. 观看现场演示,并听取Heroku产品专家的问题回答.

播客

Apache 卡夫卡 at Heroku, with Thomas Crayford

请收听2016年10月25日的《BG集团》播客.

Apache 卡夫卡 is a durable, 分布式消息代理是管理大量入站事件的最佳选择, 构建数据管道, and acting as the communication bus for microservices. In this Software Engineering Daily podcast, Heroku工程师, 汤姆Crayford, talks about building the Heroku上的Apache 卡夫卡 service, BG集团面临挑战, and why we focused on 卡夫卡 in the first place.