什么是微服务,为什么需要用微服务?
一、微服务是什么?
定义:微服务是一些协同工作的小而自治的服务,这个服务是高凝聚力和松散耦合的。
微服务有以下特征:
- 1.一组小的服务(大写没有特别的标准,只要同一个团队的工程师理解服务的标识一致即可)。
- 2.独立的进程
- 3.轻量级的通信(不是soap,是http协议)
- 4.基于业务能力
- 5.独立部署(迭代速度快)
- 6.无集中式管理(无须统一技术栈)
二、为什么要用微服务?
通常我们把微服务说成是一个技术架构的进化,从第一代的单体架构,到期第二代SOA架构,第三代微服务架构。
第三代的出现,一定是为了解决第一代和第二代的不足之处的:
- 第一代的主要问题:太过耦合,部署成本过高(修改一行,均要全部改),重复做轮子,完全封闭的架构。
- 第二代的主要问题:ESB总线进行集成,扩容困难,集中式的。
- 第三代:松散耦合,专注某个业务的小团队(2个比萨的成员数),升级按天/周进行发布,全自动化,扩展弹性,高可用。
三、微服务特点及价值:
价值:(1) 高频发布或升级 (2)可复用 (3)分