微服务简介

微服务是什么?

微服务是一种架构概念,一种编程思想

概念:

把一个大型的单个应用程序和服务拆分成数个甚至数十个的支持微服务,它可扩展单个组件而不是整个的应用程序堆栈,从而满足服务等级协议

单体应用存在的问题?

  • 1、复杂性高、代码难以理解(比如不敢改动现有代码、团队职责不清晰,新功能不知道分配给谁做好)
  • 2、交付效率低(比如各模块代码修改后相互影响、经常全量回归)、全量部署耗时长(例如:一个应用启动就需要几十分钟)
  • 3、伸缩性(scalable)差(比如需要1台服务器无法支撑系统并发,需要部署多台,或者按CPU、内存、磁盘型模块进行硬件配置)
  • 4、可靠性差(比如一个不重要的模块的内存泄露就将会导致应用crash掉)
  • 5、阻碍技术创新(团队成员必须使用同一框架和语言)

微服务的优点?

小 - 功能单一,专注做一件事情,3~5人团队
独 - 独立的进程(比如商品管理、促销管理)
轻 - 微服务调用的单向性,没有交叉调用的情况
松 - 松耦,耦合度低(独立编译、独立部署)(前提:接口没有变化)

原文地址:https://www.cnblogs.com/codessuperman/p/10811520.html