微服务学习笔记

背景

单体架构

  • 功能复杂,开发者学习成本高,更新迭代慢,扩展性受限,可靠性低。

SOA(面向服务的架构模式)

  • 小即是美,单一职责,尽早的创建原型之后再实现完善,扩展性比效率更重要。

定义

  • 微服务是从SOA发展来的。
  • 围绕业务功能构建的,服务关注单一业务,服务间采用轻量级的通信机制,可全自动化部署,可使用不同编程语言和数据存储技术。通过对业务进行拆分实现服务组件化,通过组件组合快速开发系统,业务单一的服务组件又可以独立部署,使得整个系统变地清晰灵活。

优点

  • 单一服务
  • 独立进程
  • 隔离部署
  • 去中心化服务治理。
  • 扩展性强

缺点

  • 微服务应用是分布式系统,复杂性高,需要使用RPC或消息传递来实现进程间通信;此外,必须要写代码来处理消息传递中速度过慢或者服务不可用等局部失效问题。
  • 分区的数据库架构,同时更新多个业务主体的事务很普遍。这种事务对于单体式应用来说很容易,因为只有一个数据库。在微服务架构应用中,需要更新不同服务所使用的不同的数据库,从而对开发者提出了更高的要求和挑战。
  • 测试一个基于微服务架构的应用也是很复杂的任务。
  • 服务模块间的依赖,应用的升级有可能会波及多个服务模块的修改。
  • 对运维基础设施的挑战比较大。

http://openapiuat.gongchangtemai.com/api/v1/order?app_id=9e355fa5a7b427ce&app
http://openapiuat.gongchangtemai.com/api/v1/order?app_id=9e355fa5a7b427ce&app_secret_key=d59018839b1ba81147f15aac64dcc41c

评论