PiggyMetrics被分解为三个核心微服务。它们都是围绕某些业务领域组织的可独立部署的应用程序。
开户服务
====
包含一般用户输入逻辑和验证:收入/支出项目,储蓄和账户设置。
统计服务
====
对主要统计参数执行计算,并捕获每个账户的时间序列。数据点包含以标准化为基础货币和时间段的值。此数据用于跟踪账户生命周期中的现金流动态。
通知服务
====
存储用户的联系信息和通知设置(如提醒和备份频率)。计划工从其他服务收集所需的信息,并将电子邮件发送给订阅的客户。
笔记
==
-
每个微服务都有自己的数据库,因此无法绕过API并直接访问持久性数据。
-
在这个项目中,作者将MongoDB用作每个服务的主数据库。具有多语言持久性体系结构(选择最适合服务需求的db类型)也可能是有意义的。
-
服务到服务的通信已大大简化:微服务仅使用同步REST API进行通话。实际系统中的常见做法是使用交互样式的组合。例如,执行同步GET请求以检索数据,并通过消息代理使用异步方法进行创建/更新操作,以使服务和消息分离。但是,这将我们带到了最终的一致性世界。
基础设施服务
======</