远程通信|「微服务架构」微服务集成中的3个常见缺陷-以及如何避免它们( 四 )


Java或C# 。 (需要的后台发消息)
摘要在本文中 , 我介绍了三个常见的陷阱 , 我看到客户在整合微服务时踩到了:低估了远程通信的复杂性 , 忽略了异步性的挑战 , 忘记了商业交易 。
通过重试 , 超时和补偿活动的状态模式引入处理这些情况的功能可以降低微服务基础架构的整体复杂性并增强其弹性 。 它还有助于:

  1. 将重要的故障处理和事务行为封装在它所属的位置:在服务本身的上下文中 。
  2. 将故障或超时处理的工作量减少到更小的范围 , 从而降低整体复杂性 。
  3. 简化服务API , 只发布对客户真正重要的故障 。
  4. 改善客户体验 , 客户可能是其他服务 , 内部员工 , 甚至是客户 。
使用轻量级工作流引擎 , 您可以通过应用自行开发的解决方案来处理有状态模式 , 而无需投入大量精力或冒着意外复杂性的风险 。 随附的源代码提供了具体示例 。