如何选择使用API或消息传递 ?

💡 原文中文,约1700字,阅读约需4分钟。
📝

内容提要

作者讨论了API和消息传递作为整合服务的两种常见方式,选择取决于团队知识和工具、同步响应需求、长期运行的执行和依赖性等因素。作者提出了一些启发式方法来帮助决策,但强调这些因素是主观的。

🎯

关键要点

  • API定义了两个应用程序之间通信的契约,主要风格是REST。

  • 远程程序调用(RPC)允许客户在远程服务器上调用函数,抽象了网络细节。

  • 信息传递将客户/服务器模型转变为生产者/消费者模型,提供时间上的解耦和一对多的语义。

  • 信息传递的异步特性使应用程序能够优雅地处理依赖关系中的临时中断。

  • 选择服务调用方式时需考虑团队知识和工具、同步响应需求、长期运行的执行和依赖性等因素。

  • 如果团队缺乏消息传递经验,API可能是更安全的选择。

  • 如果应用程序需要同步响应,API是更合适的选择。

  • 长期运行的服务可能导致资源占用,需谨慎评估。

  • 许多依赖关系可能导致潜在故障,需考虑生态系统的颗粒度。

  • 在开发新服务时,API和消息传递都是有效的整合方式,选择取决于多种主观因素。

➡️

继续阅读