从零开始学架构 09-SOA架构&微服务 【笔记】

  • ESB:各个系统之间不同的接口进行互通。如json、xml、webservice等不同的接口,ESB去适配已经存在的各种异构系统,屏蔽异构系统对外提供各种不同的接口方式,以此来达到服务高效的,互联互通

松耦合:减少各个服务间的依赖和互相影响

SOA架构
  • SOA架构比较高层级的架构设计理念,一般说SOA架构来构建了什么系统,不会说某个独立的系统采用了SOA架构
  • SOA提出的背景是企业内部的IT系统重复建设切效率低下
  • SOA解决了传统IT系统重复建设和拓展效率低的问题,但其本身也引入了更多的复杂性的ESB
    • ESB设计也是无奈之举,因为各种系统已经存在很多年了,重写或者改造成本非常大,只能通过ESB去适配已经存在的各种异构系统
微服务

微服务与SOA的关系

  • 服务是SOA的实现方式,服务就是更细粒度的SOA
  • 微服务是去掉ESB后的SOA,改为轻量级的http RESTFul实现
  • 微服务是一种和SOA相似,但本质上不同的架构理念

微服务并不是没有代价,而是会带来系统复杂度、运维复杂度、性能下降等问题
微服务陷阱

  • 服务划分过细,服务间关系复杂
  • 服务数量太多,团队效率急剧下降
  • 调用链太长,性能下降
  • 调用链太长,问题定位困难
  • 没有自动化支撑,无法快速交付

对于小团队建议使用
三个火枪手,一个微服务三个人负责开发

服务拆分方法

  • 基于业务逻辑拆分
  • 基于可扩展拆分
  • 基于可靠性拆分,带来的好处
    • 避免非核心业务故障影响核心业务
    • 核心服务高可用方案可以更简单
    • 能够降低高可用成本
  • 基于性能拆分

上四种拆分可以据实际情况自由排列组合

微服务基础设施

  • 服务发现,两种实现方式,自己式,代理式
  • 服务路由
  • 服务容错,常见的服务容错请求重试,流控,服务隔离
  • 服务监控
  • 服务跟踪
  • 服务安全
  • 自动化测试
  • 自动化部署
  • 配置中心
  • 接口框架
  • API网关

猜你喜欢

转载自blog.csdn.net/i6725545/article/details/87258990