apache-kafka - 使用 Kafka 流有什么好处?
问题描述
我试图意识到在我的业务模型中使用 Kafka 流有什么好处。客户发布订单并立即从在线并对此订单感兴趣的卖家那里获得报价。
在这种情况下,流适合加入可用的卖家(在线)以订购流和过滤,对报价进行排序(按价格)。因此,客户应按要求按价格提供最佳报价。
我发现只有一个好处:它减少了服务器调用(所有计算都在流中发生)。
我的问题是,为什么在这种情况下流很重要?因为我可以使用标准方法和一个单一的应用程序来完成这些业务步骤?
我知道这个问题是基于意见的,但是在阅读了一些关于流处理的书籍之后,仍然很难改变这种方法的想法。
解决方案
只有一个好处:服务器调用更少
Kafka Streams 仍然可以进行“服务器调用”,尤其是在使用带有 RPC 层的交互式查询时。从远程表(例如 KSQLdb)中获取数据也是一种“服务器调用”。
这不是唯一的好处。您是否尝试过使用常规消费者 API 编写主题之间的连接?或者少于 2 行代码的过滤器/映射(在配置设置之外)?
可以通过一个单一应用程序使用标准方法来完成这些业务步骤吗?
Streams 拓扑仍然可以嵌入到一个整体中,所以我不明白你的意思。我假设您的意思是具有传统数据库 + API 层的完全同步应用程序?
你说你读过的书应该介绍了流处理的大部分好处,但你可能想查看“Kafka Streams in Action”来具体了解它的优点
推荐阅读
- c++ - 条件渲染
- react-native - iOS 上的 React Native 0.60+:代码推送、Sentry、React Native Navigation v3 和 AppDelegate.m
- c - STM32 - DWT 循环计数与我的预测不同
- javascript - 在 t-datepicker 中禁用日期
- sql - 如果列中存在空值,如何将 nvarchar 转换为日期时间
- amazon-web-services - How to provide AWS API Gateway Custom Authorizer a Lambda Permission?
- php - 如何在两个日期之间回显几个工作日(仅限周一和周二)?
- c# - Can viewbag handle redirects while still maintaining its value?
- neo4j - Neo4j 配置并行还是串行操作?
- wordpress - 如何使 gvlogic 条件短代码在小部件上工作?