微服务是什么?

微服务是一个架构风格,它给了我们一个开发物理上独立(physically separated)的模块化应用的途径。

微服务不是被发明出来的。许多组织,如Netflix、Amazon,以及eBay都成功了使用了分而治之

(divide-and-conquer)的技术将它们的应用分割成小的原子单元,每个单元执行单一功能。这些组织的

成功,使得许多其他组织开始引入此模式来重构它们的一整个大应用。后来,就有人将此模式命名为

“微服务架构”

微服务是一个架构风格,是一个将IT系统实现为一组业务特性的方法,这些特性是自制的、自包含的、

低耦合的。

对于微服务间的交互或传输机制是没有标准的。通常,它们利用被广泛运用的轻量级协议,如HTTP

和REST,或消息协议,如JMS或AMQP。在一些特定的情况下,可能要选择更优化的交互协议,如

Thrift、ZeroMQ、Protocol Buffers,或Avro。

微服务架构的一些原则:

1、每个服务有着单一的责任(Single responsibility per service)

它是SOLID设计模式定义的许多原则中的一个。它指出一个单元应当只有一个责任。

2、微服务是自包含的,可独立部署,自制的服务。

在传统应用开发中,我们构建好了一个war或一个ear,然后将其部署到一个JEE应用服务器中。

我们可能在同一个JEE容器中部署多个应用。如果是微服务方式,每一个微服务将被构建为一个

fat Jar,内嵌了所有的依赖,并作为一个独立的Java进程来运行。

 

猜你喜欢

转载自zsjg13.iteye.com/blog/2381153