微服务介绍——认知笔记

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

为什么需要微服务

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

什么是微服务

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

什么系统需要微服务

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

微服务的优点

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

微服务的缺点

  • 运维开发成本高
  • 需要团队有坚实的DevOps开发一体化技能
  • 隐式接口及接口匹配功能繁琐
  • 代码重复
  • 分布式系统的复杂性
  • 异步机制
  • 可测性挑战
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容