spring-boot - 分布式系统中不同类型的事件——拆分或合并
问题描述
当你有关于不同实体的事件时,他们应该讨论相同的主题还是不同的主题?在这里,我更喜欢使用 Kafka 作为发布者和消费者之间的消息传递系统。这些不同的来源具有不同的模型,只有很少的共同属性和其他特定于每个模型的属性。这些模型的原始数据/事件将单独处理。
Q1。让我们考虑两个不同的模型充当流的发布者或源。在分布式系统中,他们应该将事件推送到单个主题还是各个主题?
Q2。如果一个事件涉及多个实体怎么办?例如,不仅仅是上面提到的两种模型,还有数千种 Kafka 延迟会受到影响的模型,例如与购买相关的模型、产品和客户,以及从一个帐户到另一个帐户的转移至少涉及这两个帐户。
Q3。对于这两种情况,首选哪种模式 AVRO(不断发展,但每个主题只有一个模型)或 JSON 模式?
解决方案
推荐阅读
- firebase - 离子如何在注销/登录时显示/隐藏内容
- javascript - '$x' 未定义,同时在 IE11 控制台中验证 Webdriver 的 Xpath
- php - 尽管格式正确,MySQL 字段 DATETIME 仍会截断
- c# - 长文字和照片一排,缩小图片
- css - 'linear-gradient(rgb(255, 255, 255), rgb(230, 230, 230))' 每天的 Http 请求
- julia - 将数组作为列附加到预初始化的矩阵
- java - Selenium Java:保证程序退出时关闭chromedriver.exe
- babylonjs - 在 Babylon.js 中可以使用透明对象来遮挡对象
- android - 迁移到 Places API,无法解析 GEO_DATA_API GeoDataApi
- c - “唯一返回值的运算符是取消引用运算符”