继续以停车场应用程序为例,我们很可能想要在其他地方使用这些停车或离场事件,例如:
- 分析,以便知道停车的行为和趋势;
- 机器学习预测容量需求;
- 向第三方供应商提供数据 。
curl -i -X PUT -H "Accept:application/json"-H"Content-Type:application/json" http://localhost:8083/connectors/sink-s3/config-d ' {"connector.class": "io.confluent.connect.s3.S3SinkConnector","topics": "carpark","s3.bucket.name": "rmoff-carparks","s3.region": "us-west-2","flush.size": "1024","storage.class": "io.confluent.connect.s3.storage.S3Storage","format.class": "io.confluent.connect.s3.format.json.JsonFormat"}'
现在,用于驱动应用程序通知和构建可以直接查询状态的应用程序的数据也流到了 S3 。这些应用场景之间都是解耦的 。如果我们随后想要将数据流到另一个地方,比如 Snowflake,只需要添加另一个 Kafka 连接配置,其他消费者完全不受影响 。Kafka Connect 也可以将数据流到 Kafka 。例如,我们可以使用变更数据捕获(CDC)对 ksqlDB 中的 CARPARK_REFERENCE 表进行流化 。结论Kafka 提供了一个可伸缩的事件流平台,你可以用它来构建强大的基于事件的应用程序 。将事件作为连接应用程序和服务的基础,你可以从多方面受益,包括松散耦合、服务自治、弹性、灵活演化和弹性 。
你可以使用 Kafka API 及其周边生态系统(包括 ksqlDB)来进行基于订阅的消费和查询物化视图,而不需要额外的数据存储 。在 API 方面,既有原生客户端 API,也有 REST API 。
要了解更多关于 Kafka 的信息,请访问 developer.confluent.io 。Confluent Platform 是 Apache Kafka 的一个发行版,包含了本文讨论的所有组件 。它可以在本地使用,也可以作为托管服务使用(Confluent Cloud) 。你可以在GitHub上找到本文的代码示例和用于运行示例的 Docker Compose 文件 。如果你想了解更多有关如何使用 Kafka 构建事件驱动系统的知识,那么一定要阅读 Ben Stopford 的优秀著作《设计事件驱动系统》 。
作者简介
Robin Moffatt 是 Confluent 的高级开发者布道师 。Confluent 是由 Apache Kafka 原作者(同时也是 Oracle ACE 董事)创立的 。自 2009 年以来,他一直在各种技术大会(包括 QCon、Devoxx、Strata、Kafka 峰会和Øredev)上演讲 。读者可以在网上找到他的演讲,订阅他的YouTube频道,阅读他的博文 。工作之余,Robin 喜欢跑步,喝啤酒,吃油炸早餐 。
原文链接:
Real Time APIs in the Context of Apache Kafka
【Kafka实时API探秘】
推荐阅读
- 运维开发之paramiko远程执行命令实时返回
- 通过API网关实现微服务管控-限流,熔断和降级
- 实时音视频面视必备:快速掌握11个视频技术相关的基础概念
- 轻松上手 Spring Boot & Kafka 实战
- 给大家分享一款高性能api网关
- API敏捷开发框架
- linux网络编程常见API详解
- 令程序员头疼的性能问题,这一款性能分析工具帮你实时监控
- 基于OGG 实现Oracle到Kafka增量数据实时同步
- 怎样设计安全的GraphQL API?