Spring Cloud - 云原生迁移(混合部署架构)之资源部

2021-01-15  本文已影响0人  vimor_bin

简介

    Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具,例如配置管理,服务发现,断路器,智能路由,微代理,控制总线等操作;使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。它们将在任何分布式环境中运行良好;在Java开发者中具有广泛的影响力。

    Spring Cloud专注于提供良好的开箱即用经验的典型用例和可扩展性机制覆盖;基于Spring Boot对大型项目开发难度的简化,对开发微服务所需的组件进行了简单高效的封装,Spring Cloud已成为Java领域开发微服务的实际标准。
考虑到用户会把原有的虚拟机部署的应用迁移至像容器这样更为原生的技术中会遭遇各种难题,本文将介绍将Spring Cloud云原生迁移到阿里云的解决方案,供开发者参考或使用。

架构

资源依赖架构图

image.png
架构效果图
幻灯片1.JPG

优势

Spring Cloud的Eureka、Gateway等微服务基础设施需要长久地运行,并且独占单个计算资源,保障服务的高可靠性。架构中使用ECS部署服务,而具体业务功能模块选择容器话技术;使用弹性伸缩服务管理Eureka、Gateway两类服务。

前置条件

资源部署

ROS资源简介

ALIYUN::VPC::EIPAssociation: 用于绑定弹性公网IP

ALIYUN::ESS::ScalingConfiguration: 用于为伸缩组创建伸缩配置。

ALIYUN::VPC::EIP: 用于申请弹性公网IP。

ALIYUN::SLB::LoadBalancer: 用于创建负载均衡。

ALIYUN::ESS::ScalingGroupEnable: 用于启用伸缩组。

ALIYUN::SLB::Listener: 用于创建负载均衡监听(Listener)。

ALIYUN::OOS::Parameter: 用于创建一个普通参数。

ALIYUN::RAM::Role: 用于创建RAM角色。

ALIYUN::CS::ManagedKubernetesCluster: 用于创建Kubernetes托管版集群。

ALIYUN::ESS::ScalingGroup: 用于创建伸缩组。伸缩组是具有相同应用场景的ECS实例的集合,创建成功后不会立即生效,需要使用。

ALIYUN::ESS::ScalingGroupEnable: 启用伸缩组,才能触发伸缩活动,执行伸缩规则。

步骤

  1. 登录资源编排服务控制台

  2. 点击进入解决方案中心

  3. 在案例筛选中筛选容器 & 微服务,在此类型案例中找到SpringCloud云原生迁移,点击创建资源栈;或先点击查看详情查阅案例的详情介绍再点击创建资源栈

  4. 在创建资源栈界面填写必要的参数,具体如下:

基础信息配置

image.png
Eureka 相关配置
image.png
Gateway 相关配置
image.png
Kubernetes托管版集群相关配置
image.png
  1. 参数填写完成,可进行资源预览,也可直接进行创建;资源栈进入创建状态,创建完成大约需要10分钟左右。
  2. 创建完成,可在输出界面查询Eureka url、Gateway url,如下图:
image.png
image.png

以上步骤,即可完成Spring Cloud 云原生迁移方案所需要的资源(ECS、SLB、Kubernetes等统称为资源)部署;查阅相关资源可在对应资源的控制台进行查阅。

本篇文章由阿里云资源编排服务ROS发布

上一篇 下一篇

猜你喜欢

热点阅读