NServiceBus 和决定服务边界

NServiceBus & deciding service boundaries

我是 NSB 的初学者,我一直在寻找某种经验法则来决定什么构成单独的服务。不幸的是,我在网上或 David Boike's book or on the docs 页面上找不到太多信息。

给出的典型示例是销售、运输、开票。所以我最初的想法是按照公司的真实部门来划分,但是像Logging之类的东西可能适合'fire and forget'模型呢?有这么多服务不会增加复杂性吗?有没有特定的最佳数量?

在不夸大其词的情况下决定什么是真正的服务的经验法则是什么?

日志记录、安全性和许多其他 "cross-cutting" 问题通常放在 "IT/Ops" 服务中。

UI 配色方案和布局由品牌服务负责。

除此之外,为服务找到正确的边界可能相当困难。组织结构可能很诱人,但很少精确 - 这是因为部门之间的业务职责重叠相对较多。

这里有一段视频可能有助于提供更多见解:

http://www.udidahan.com/2015/02/02/finding-service-boundaries-%E2%80%93-illustrated-in-healthcare/