项目名称
piggymetrics
转发+关注,然后私信回复关键字 “项目”即可获得《piggymetrics》的源码地址
项目简介
这是一个教程项目,演示了使用Spring Boot,Spring Cloud和Docker的微服务架构模式。顺便说一下,拥有漂亮的用户界面。
功能服务
PiggyMetrics被分解为三个核心微服务。它们都是围绕某些业务领域组织的可独立部署的应用程序。
开户服务
包含一般用户输入逻辑和验证:收入/支出项目,储蓄和账户设置。
统计服务
对主要统计参数执行计算,并捕获每个账户的时间序列。数据点包含以标准化为基础货币和时间段的值。此数据用于跟踪账户生命周期中的现金流动态。
通知服务
存储用户的联系信息和通知设置(如提醒和备份频率)。计划工从其他服务收集所需的信息,并将电子邮件发送给订阅的客户。
笔记
- 每个微服务都有自己的数据库,因此无法绕过API并直接访问持久性数据。
- 在这个项目中,作者将MongoDB用作每个服务的主数据库。具有多语言持久性体系结构(选择最适合服务需求的db类型)也可能是有意义的。
- 服务到服务的通信已大大简化:微服务仅使用同步REST API进行通话。实际系统中的常见做法是使用交互样式的组合。例如,执行同步GET请求以检索数据,并通过消息代理使用异步方法进行创建/更新操作,以使服务和消息分离。但是,这将我们带到了最终的一致性世界。
基础设施服务
分布式系统中有一堆常见的模式,可以帮助我们使描述的核心服务正常工作。Spring Cloud提供了功能强大的工具,这些工具可以增强Spring Boot应用程序的行为以实现这些模式。我会简单介绍一下。