Open cch123 opened 3 years ago
所以,又有什么解决的办法呢?
@Michael728 ,哈哈,公众号上也有朋友是这么问的,我汇总一下,大概是这些:
@Michael728 ,哈哈,公众号上也有朋友是这么问的,我汇总一下,大概是这些:
- 接受有些复杂场景下,上下游就是要有耦合的事实
- 使用 schema registry 之类的方案,让上下游使用一份 domain event 的 schema,也可以用 pb 之类的文件来描述,让队列里的消息也能类似 API 定义一样,有“软件契约”
- 增加专门的 data validation 服务,类似 Google 在应对机器学习数据问题时的一个方案:blog.acolyer.org/2019/06/05/data-validation-for-machine-learning
- 如果公司内有 mono repo,那么在有 mono repo + schema 描述的前提下,适当开发一些静态分析工具,来阻止上游程序员犯错
- 耦合实在解除不了的情况下,让下游的计算和查询模块做好分离,重点保障查询模块的稳定性,不要拖累主流程
受教了 之前面试还有说过这个来着:D
@Michael728 ,哈哈,公众号上也有朋友是这么问的,我汇总一下,大概是这些:
- 接受有些复杂场景下,上下游就是要有耦合的事实
- 使用 schema registry 之类的方案,让上下游使用一份 domain event 的 schema,也可以用 pb 之类的文件来描述,让队列里的消息也能类似 API 定义一样,有“软件契约”
- 增加专门的 data validation 服务,类似 Google 在应对机器学习数据问题时的一个方案:blog.acolyer.org/2019/06/05/data-validation-for-machine-learning
- 如果公司内有 mono repo,那么在有 mono repo + schema 描述的前提下,适当开发一些静态分析工具,来阻止上游程序员犯错
- 耦合实在解除不了的情况下,让下游的计算和查询模块做好分离,重点保障查询模块的稳定性,不要拖累主流程
受教了 之前面试还有说过这个来着:D
现在面试这么难了。。
@Michael728 ,哈哈,公众号上也有朋友是这么问的,我汇总一下,大概是这些:
- 接受有些复杂场景下,上下游就是要有耦合的事实
- 使用 schema registry 之类的方案,让上下游使用一份 domain event 的 schema,也可以用 pb 之类的文件来描述,让队列里的消息也能类似 API 定义一样,有“软件契约”
- 增加专门的 data validation 服务,类似 Google 在应对机器学习数据问题时的一个方案:blog.acolyer.org/2019/06/05/data-validation-for-machine-learning
- 如果公司内有 mono repo,那么在有 mono repo + schema 描述的前提下,适当开发一些静态分析工具,来阻止上游程序员犯错
- 耦合实在解除不了的情况下,让下游的计算和查询模块做好分离,重点保障查询模块的稳定性,不要拖累主流程
受教了 之前面试还有说过这个来着:D
现在面试这么难了。。
面试MQ三大作用:应用解耦 流量削峰 异步处理/doge
@Michael728 ,哈哈,公众号上也有朋友是这么问的,我汇总一下,大概是这些:
- 接受有些复杂场景下,上下游就是要有耦合的事实
- 使用 schema registry 之类的方案,让上下游使用一份 domain event 的 schema,也可以用 pb 之类的文件来描述,让队列里的消息也能类似 API 定义一样,有“软件契约”
- 增加专门的 data validation 服务,类似 Google 在应对机器学习数据问题时的一个方案:blog.acolyer.org/2019/06/05/data-validation-for-machine-learning
- 如果公司内有 mono repo,那么在有 mono repo + schema 描述的前提下,适当开发一些静态分析工具,来阻止上游程序员犯错
- 耦合实在解除不了的情况下,让下游的计算和查询模块做好分离,重点保障查询模块的稳定性,不要拖累主流程
受教了 之前面试还有说过这个来着:D
现在面试这么难了。。
面试MQ三大作用:应用解耦 流量削峰 异步处理/doge
这倒还好, 其实还有延迟消息和事务消息
https://xargin.com/mq-is-not-savior/