微服务介绍——认知笔记

本文属于个人认知笔记,摘自IBM技术开源文章

为什么需要微服务

  • 应用需求随时间推进的不断增加,整体式应用适应就会越来越难。
  • SOA无法应对快速的变化。
  • 虚拟技术发展,简化了基础设备。
  • PaaS的发展,使微服务框架可以更好的发挥价值。

什么是微服务

  • 团队层面:更小,更全栈,更注重持续交付(DevOps)。
  • 去中心化,各个应用可使用不同的编程语言和数据持久化工具,合适的工具做合适的事情。
  • 必须注意故障处理和容错机制(服务粒度小带来的后果之一就是通信和管道的增多,如果不处理好故障和容错机制,会带来严重后果)。
  • 演进式设计:在项目的演进过程中,对服务的划分会逐渐发生变化。可能一分为二,也可能合二为一。

什么系统需要微服务

  • 记录型系统
  • 交互性系统
  • 分析型系统 不建议

微服务的优点

  • 服务专注,简单
  • 松耦合,灵活
  • 平台开放,可以选择不同工具
  • 不同团队独立开发,上线快。
  • 持续交付能力

微服务的缺点

  • 运维开发成本高
  • 需要团队有坚实的DevOps开发一体化技能
  • 隐式接口及接口匹配功能繁琐
  • 代码重复
  • 分布式系统的复杂性
  • 异步机制
  • 可测性挑战

你可能感兴趣的:(微服务介绍——认知笔记)