微服务架构设计模式

模块化是开发大型、复杂应用程序的基础

微服务架构可以消除对某项技术栈的长期依赖

微服务架构的弊端和问题:

  1. 服务的拆分和定义是一项挑战;
  2. 分布式系统带来的各种复杂性,使开发、测试和部署变得更困难;
  3. 当部署跨越多个服务功能时需要谨慎的协调更多的开发团队;
  4. 开发者需要思考到底在应用的什么阶段使用微服务架构

要成功部署微服务,需要高度自动会的基础设施

架构设计的核心是决策

模式是针对特定上下文中发生的问题的可重用解决方案

微服务架构的关键挑战是将应用程序功能分解为服务

应用程序有两个方面的需求:一是功能性需求;二是非功能需求,可维护性、可测试性、可扩展性和可部署性

服务是一个单一的、可独立部署的软件组件

微服务架构的最核心特性是服务之间的松耦合性

服务分解的几个障碍

  1. 网络延迟,可能往返多次
  2. 同步通信降低了可用性
  3. 跨服务数据一致性

消息的格式:

  1. 文本,JSON和XML
  2. 二进制,Protocol Buffers和Avro

 

posted @ 2022-09-25 09:52  喵喵2023  Views(94)  Comments(0Edit  收藏  举报