一、什么是微服务
微服务是一种架构风格。一个大型的复杂软件应用,由一个或多个微服务组成,系统中的各个微服务可独立部署,各个微服务之间是松耦合。
每个微服务关注一个任务功能。
二、架构风格
项目的一种设计模式。
1、常见的架构风格
a、客户端/服务端架构
b、基于组件模型的架构(EJB)
c、分层架构(MVC)
d、面向服务的架构(SOA)
三、微服务的特点
1、系统由多个服务组成
2、每个服务可以单独独立部署
3、每个服务之间是松耦合的,服务内部高内聚的。高内聚是每个服务只关注完成一个任务。
四、微服务的优缺点
优点:
1、测试容易
2、可伸缩性强
3、可靠性强
4、跨语言程度更加灵活
5、团队协作容易
6、系统迭代容易
缺点:
1、运维成本过高,部署数量较多
2、接口兼容多版本
3、分布式系统的复杂性
4、分布式事务(网络延迟等)