1、什么是微服务架构?
微服务是系统架构上的一种设计风格,它的主旨是将一根原本独立的系统拆分多个小型服务,这些小型服务都在各自独立的进程中运行,
服务之间通过基于HTTP的RESTful API进行通信协作。
被拆分的每一个小型服务都围绕着系统中某一项或一些耦合度较高的业务功能进行构建,
并且每个服务都维护这自身的数据存储、业务并发、自动化测试案例以及独立部署机制。
由于有了轻量级的通信协作基础,所有这些微服务可以使用不同的语言来编写。
2、微服务的优缺点:
优点:独立部署、扩展性强
缺点:运维的新挑战;接口的一致性;分布式的复杂性;
3、微服务架构的九大特性:
服务组件化;
按业务组织团队;
做”产品“的态度;
智能端点与哑管道(服务调用方式,实时,异步中间件)
去中心化治理(组件能针对不同的业务特点选择不同的技术平台)
去中心化管理数据(多个不同的MySql实例,各服务之间进行“无事务”的调用,数据一致性,只要求数据在最后的处理状态是一致的即可。补偿机制)
基础设施自动化(自动化测试、自动化部署)
容错设计(快速检测出故障资源并尽可能地自动回复服务是必须被设计和考虑的)
演进式设计