点击左侧组名“SpringCloud”回到应用集群,待图标全部变绿即可通过“gateway”访问,期间可以刷新几次便于快速交互图标状态。
操作成功,项目成功运行。 通过观察学到一些新的操作思路。(框架说明-业务架构) Piggymetrics通过Spring Cloud实现微服务架构,应用被分解为 账户服务(ACCOUNT SERVICE)、 统计服务(STATISTICS SERVICE)、 通知服务(NOTIFICATION SERVICE)等三个核心微服务。每个微服务都是围绕业务能力组织的可独立部署的应用程序,拥有独立的数据库并使用同步的 REST API实现微服务与微服务之间的通信。 PiggyMetrics业务架构如下图所示: 账户服务模块包含一般用户输入逻辑和验证:收入/费用项目,储蓄和帐户设置。方法
路径
描述
用户验证
UI可用
GET
/accounts/{account}
获取特定账户数据
GET
/accounts/current
获取当前账户数据
×
×
GET
/accounts/demo
获取demo账户数据 (预填充收入/支出项目等)
×
PUT
/accounts/current
保存当前账户数据
×
×
POST
/accounts/
注册新账户
×
统计服务模块执行主要统计参数的计算,并捕获每个帐户的时间序列。方法
路径
描述
用户验证
UI可用
GET
/statistics/{account}
获取特定账户统计
GET
/statistics/current
获取当前账户统计
×
×
GET
/statistics/demo
获取demo账户统计
×
PUT
/statistics/{account}
创建或更新时间系列数据点指定的帐户
通知服务模块存储用户联系信息和通知设置(如提醒和备份频率),计划工作人员从其他服务收集所需的信息,并向订阅的客户发送电子邮件。方法
路径
描述
用户验证
UI可用
GET
/notifications/settings/current
获取当前账户通知设置
×
×
PUT
/notifications/settings/current
保存当前账户通知设置
×
×
大神的操作当然离不开合适的装备。(框架说明-组件架构) Piggymetrics基础服务设施中用到了 Spring Cloud Config、Netflix Eureka、Netflix Hystrix、Netflix Zuul、Netflix Ribbon、Netflix Feign等组件,而这也正是Spring Cloud分布式开发中最核心的组件。 组件架构如下图所示: • 账户服务通过远程客户端(Feign)调用统计服务及通知服务,通过Ribbon实现负载均衡,并在调用过程中增加了断路器(Hystrix)的功能; • 由于服务发现后才能调用,因此账户服务、统计服务、通知服务通过注册中心(Eureka)实现互相发现; • API Gateway(Zuul)提供对外统一的服务网关,首先从注册中心(Eureka)处获取相应服务,再根据服务调用各个服务的真实业务逻辑; • 服务调用过程通过聚合器(Turbine)统一所有断路信息; • 整个业务过程中所有服务的配置文件通过Spring Cloud Config来管理,即起什么端口、配置什么参数等; • 认证机制通过Auth service实现,提供基本认证服务; • Spring Cloud Config、Eureka、Ribbon、Hystrix、Feign以及Turbine均为标准组件,与业务之间没有强关系,不涉及到业务代码,仅需简单配置即可工作。 那么如何变成自己的项目呢? 总共有5步。 1. git clone项目到本地,并基于该项目创建自己的mvn项目 2. 将auth-service、account-service、notification-service、statistics-service替换成自己的服务,构造成docker镜像并上传至官方镜像库 PS: config、registry、gateway、monitoring代码无需修改 3. 在config中修改统一的配置文件,比如新增服务的服务名、端口等,构造成docker镜像并上传至官方镜像库 4. 将前文提到的docker-compose(贴个url)例子中对应service的“image”改为修改后上传的官方镜像库地址 5. 重新使用“compose”构建。 当熟练掌握了这些技巧之后,你一个人就是一个开发军队! 底部软广时间: 应用快速交付平台(企业版) 免费体验!应用快速交付平台(单机版) 更多基础教程: 云市场头条基础教程频道 更多开源软件尽在云市场: https://market.aliyun.com/software 相关资源:敏捷开发V1.0.pptx