前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >少打一局王者荣耀就能上手Spring Cloud?!

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

作者头像
Rainbond开源
发布2019-04-19 17:45:25
4470
发布2019-04-19 17:45:25
举报
文章被收录于专栏:Rainbond开源「容器云平台」

近两年刷爆技术圈的最热门技术当属微服务技术,其中成熟度最高的是Spring Cloud。那么如何快速上手并运用于业务的生产环境是个让技术996的难题。接下来,云框架就教妹子王者荣耀一样,教你快速上手Spring Cloud。

可能有细心的水友会问了,什么是云框架?

云框架就是总结当下最火的技术框架,并结合典型项目案例,通过Demo演示+自助操作,为开发者提供基于技术落地的最佳实践课程。

云框架系列主题,遵循APACHE LICENSE 2.0协议发布。(类似于通关各类新兴技术的图文攻略,甚至还有一些脚本可供使用。)

接下来我们直奔主题,来看看云框架Spring Cloud系列教程里,大神的操作视频。

PiggyMetrics是一款个人财务管理应用,在研发及运营过程中采用Spring Cloud作为业务架构基础,技术成熟度非常高,我们来观摩下他是如何操作的。

首先我们把游戏视频DEMO下载到本地。(本地部署)

1. 安装云帮PaaS平台

应用快速交付平台(单机版)

应用快速交付平台(企业版)

2. 下载dockercompose文件

3. 平台导入










点击左侧组名“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均为标准组件,与业务之间没有强关系,不涉及到业务代码,仅需简单配置即可工作。

那么如何变成自己的项目呢?

1. git clone项目到本地,并基于该项目创建自己的mvn项目

2. 将auth-service、account-service、notification-service、statistics-service替换成自己的服务,构造成docker镜像并上传至官方镜像库(config、registry、gateway、monitoring代码无需修改)

3. 在config中修改统一的配置文件,比如新增服务的服务名、端口等,构造成docker镜像并上传至官方镜像库

4. 将前文提到的docker-compose(贴个url)例子中对应service的“image”改为修改后上传的官方镜像库地址

5. 重新使用“docker-compose”构建。

当熟练掌握了这些技巧之后,你一个人就是一个开发军队!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rainbond 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档