导读:对于很多工程师来说,进入微服务领域是很困难的。99%的服务属于五类之一,通过这种方式划分责任考虑如何通过管道服务一起管理特性,就像在Unixshell脚本中一样。
所有的微服务有什么共同之处,域驱动设计之父Eric Evans将其定义为:“(服务)可以消费和生成消息。”
考虑到这一点,对于每个服务模式,会讨论产生或使用消息的类型。
这些消息可以再分为两类:事件和命令。
开始之前,因为上下文很重要,我首先从Matt Walters那里看到了这些微服务模式,它是libraryservicebus的创建者。Servicebus是一个名为NServiceBus的流行.Net库的节点改编,由Udi Dahan创建和推广。
通过Servicebus,可以轻松编写发送和监听命令,并使用AMQP作为通用语言发布和订阅事件,使用JSON有效负载。这意味着其他编程语言可以轻松实现相同的接口,并能够无缝地参与由多种语言编写的部件组成的系统。