少打一局王者荣耀就能上手Spring Cloud?!

简介: 近两年刷爆技术圈的最热门技术当属微服务技术,其中成熟度最高的是Spring Cloud。那么如何快速上手并运用于业务的生产环境是个让技术996的难题。接下来,云框架就教妹子王者荣耀一样,教你快速上手Spring Cloud。
近两年刷爆技术圈的最热门技术当属微服务技术,其中成熟度最高的是Spring Cloud。那么如何快速上手并运用于业务的生产环境是个让技术996的难题。接下来,云框架就教妹子王者荣耀一样,教你快速上手Spring Cloud。
可能有细心的水友会问了, 什么是云框架?
云框架就是总结当下最火的技术框架,并结合典型项目案例,通过Demo演示+自助操作,为开发者提供基于技术落地的最佳实践课程。
云框架系列主题,遵循 APACHE LICENSE 2.0协议发布。(类似于通关各类新兴技术的图文攻略,甚至还有一些脚本可供使用。)
少打一局王者荣耀就能上手Spring Cloud?!
接下来我们直奔主题,来 看看云框架Spring Cloud系列教程里,大神的操作视频。
PiggyMetrics是一款个人财务管理应用,在研发及运营过程中采用Spring Cloud作为业务架构基础,技术成熟度非常高,我们来观摩下他是如何操作的。

首先我们把游戏视频DEMO下载到本地。(本地部署)
1. 安装 云帮PaaS平台
应用快速交付平台(单机版)
应用快速交付平台(企业版)
2. 下载 dockercompose文件。
3. 平台导入
少打一局王者荣耀就能上手Spring Cloud?!
少打一局王者荣耀就能上手Spring Cloud?!
少打一局王者荣耀就能上手Spring Cloud?!
少打一局王者荣耀就能上手Spring Cloud?!
少打一局王者荣耀就能上手Spring Cloud?!
少打一局王者荣耀就能上手Spring Cloud?!
少打一局王者荣耀就能上手Spring Cloud?!
少打一局王者荣耀就能上手Spring Cloud?!

点击左侧组名“SpringCloud”回到应用集群,待图标全部变绿即可通过“gateway”访问,期间可以刷新几次便于快速交互图标状态。

少打一局王者荣耀就能上手Spring Cloud?!
少打一局王者荣耀就能上手Spring Cloud?!
少打一局王者荣耀就能上手Spring Cloud?!
操作成功,项目成功运行。
少打一局王者荣耀就能上手Spring Cloud?!
通过观察学到一些新的操作思路。(框架说明-业务架构)
Piggymetrics通过Spring Cloud实现微服务架构,应用被分解为 账户服务(ACCOUNT SERVICE)统计服务(STATISTICS SERVICE)通知服务(NOTIFICATION SERVICE)等三个核心微服务。每个微服务都是围绕业务能力组织的可独立部署的应用程序,拥有独立的数据库并使用同步的 REST API实现微服务与微服务之间的通信。
PiggyMetrics业务架构如下图所示:
https://github.com/cloudframeworks-springcloud/PiggyMetrics/tree/master/account-service
账户服务模块包含一般用户输入逻辑和验证:收入/费用项目,储蓄和帐户设置。

方法

路径

描述

用户验证

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分布式开发中最核心的组件。
组件架构如下图所示:
少打一局王者荣耀就能上手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”改为修改后上传的官方镜像库地址
少打一局王者荣耀就能上手Spring Cloud?!
5. 重新使用“compose”构建。

少打一局王者荣耀就能上手Spring Cloud?!
当熟练掌握了这些技巧之后,你一个人就是一个开发军队!

底部软广时间:
应用快速交付平台(企业版)
免费体验!应用快速交付平台(单机版)

更多基础教程:

更多开源软件尽在云市场:
相关文章
|
17天前
|
消息中间件 Java 数据安全/隐私保护
Spring Cloud 项目中实现推送消息到 RabbitMQ 消息中间件
Spring Cloud 项目中实现推送消息到 RabbitMQ 消息中间件
|
17天前
|
负载均衡 监控 Java
我把Spring Cloud的超详细资料介绍给你,面试官不会生气吧?geigei
我把Spring Cloud的超详细资料介绍给你,面试官不会生气吧?geigei
|
18天前
|
负载均衡 Java 应用服务中间件
Spring Cloud 负载平衡的意义什么?
负载平衡是指将网络流量在多个服务器之间分布,以达到提高系统性能、增强可靠性和提供更好用户体验的目的。在负载平衡的架构中,多个服务器被组织成一个集群,共同处理用户的请求。
49 4
|
19天前
|
监控 安全 Java
Spring cloud原理详解
Spring cloud原理详解
28 0
|
19天前
|
消息中间件 负载均衡 Java
【Spring Cloud 初探幽】
【Spring Cloud 初探幽】
21 1
|
19天前
|
安全 Java Docker
|
19天前
|
Java 开发者 微服务
Spring Cloud原理详解
【5月更文挑战第4天】Spring Cloud是Spring生态系统中的微服务框架,包含配置管理、服务发现、断路器、API网关等工具,简化分布式系统开发。核心组件如Eureka(服务发现)、Config Server(配置中心)、Ribbon(负载均衡)、Hystrix(断路器)、Zuul(API网关)等。本文讨论了Spring Cloud的基本概念、核心组件、常见问题及解决策略,并提供代码示例,帮助开发者更好地理解和实践微服务架构。此外,还涵盖了服务通信方式、安全性、性能优化、自动化部署、服务网格和无服务器架构的融合等话题,揭示了微服务架构的未来趋势。
42 6
|
19天前
|
JSON Java Apache
Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient
Spring Cloud Feign 使用Apache的HTTP Client替换Feign原生httpclient
|
19天前
|
负载均衡 Java 开发者
Spring Cloud:一文读懂其原理与架构
Spring Cloud 是一套微服务解决方案,它整合了Netflix公司的多个开源框架,简化了分布式系统开发。Spring Cloud 提供了服务注册与发现、配置中心、消息总线、负载均衡、熔断机制等工具,让开发者可以快速地构建一些常见的微服务架构。
|
19天前
|
消息中间件 Java RocketMQ
Spring Cloud RocketMQ:构建可靠消息驱动的微服务架构
【4月更文挑战第28天】消息队列在微服务架构中扮演着至关重要的角色,能够实现服务之间的解耦、异步通信以及数据分发。Spring Cloud RocketMQ作为Apache RocketMQ的Spring Cloud集成,为微服务架构提供了可靠的消息传输机制。
30 1