微服务设计原则
1、单一职责原则
单一职责原则指的是一个单元(类、方法或者服务等)只应关注整个系统功能中单独、有界限的一部分。单一职责原则可以帮助我们更优雅地开发、更敏捷地交付。
2、服务自治原则
服务自治是指每个微服务应具备独立的业务能力、依赖与运行环境。在微服务架构中,服务是独立的业务单元,应该与其他服务高度解耦。每个微服务从开发、测试、构建、部署,都应当可以独立运行,而不应该依赖其他的服务。
3、轻量级通信机制
微服务之间应该通过轻量级的通信机制进行交互。那么轻量级的通信机制应该具备两点:首先是它的体量较轻;其次是它应该是跨语言、跨平台的。例如我们所熟悉的REST协议,就是一个典型的”轻量级通信机制“;而例如JAVA的RMI协议就不大符合轻量级通信机制的要求了,因为它绑定了JAVA语言。
微服务架构中,常用的协议有REST、AMQP、STOMP、MQTT等。