1.介绍下微服务架构?
1.什么是微服务
微服务是一种架构风格,一个大型的复杂软件应用,由一个或者多个微服务组成,系统中的各个微服务可以被独立部署,各个微服务之间是松耦合的,每个微服务仅仅关注于完成一件任务并很好的完成该任务。将一个复杂的软件系统,进行了惨无人道的拆分,但是通过拆分之后,这个复杂的应用系统变的更加的高效。
2.架构风格
所谓的架构风格就是项目的一种设计模式。而我们常见的程序设计模式有以下的四种方式。后面对于每个模式的优缺点进行了详细的比较。
常见的架构风格:
客户端与服务器端 :包括C/S 和B/S两种,而B/S比较特殊。
基于组件模型的架构(EJB)
分层架构(MVC)
面向服务架构(SOA)
3.微服务特点
(1)系统是有多个服务构成
(2)每个服务可以单独独立部署
(3)每个服务之间是松耦合的。服务内部是高内聚的,外部是低耦合的,也是比较符合软件设计原则的,高内聚就是每个服务内部的关系是非常密切的,每个服务之间只关注完成一个功能。
4.微服务的优点、缺点
优点:
测试容易
可伸缩性强
可靠性强
跨语言程度会更加灵活
团队协作容易
系统迭代容易
缺点:
运维成本过高,部署数量较多
接口兼容多版本
分布式系统的复杂性
分布式事务