阿里云
为了无法计算的价值
打开APP
阿里云APP内打开
学习中心> 阿里云K8S微服务部署案例> 正文

阿里云K8S微服务部署案例

11课时 |
494人已学 |
免费
课程介绍

阿里云容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。

本课程通过实操演练展示了如何将PetClinic单体版解耦拆分为微服务架构,并将其部署到本地K8s环境和阿里云K8s环境中,并演示了微服务的扩容与缩容。通过本课程的学习,可以对阿里云K8s的原理及部署使用有一个更加清晰与深入的理解。本课程由波波微课提供。

 

阿里云产品详情: https://www.aliyun.com/product/kubernetes

将PetClinic重构为微服务架构(上)

 

内容介绍:

一、将PetClinic单体解耦拆分为微服务架构

二、将PetClinic微服务项目源码Review

 

 

一、将PetClinic单体解耦拆分为微服务架构

将PetClinic重构为微服务架构,将他布局在本地以及阿里云的环境,在上一章我们学习到PetClinic单体版,单体版是指所有的业务逻辑都在一套代码当中,运行在一个pod当中,为了方便使用既支持skl数据库的使用也支持对接sql数据库,本身pod的业务逻辑很少。

 

 

 

微服架构是我们学习的重点,微服架构在KS8环境的部署,我们可以将单体版进行解耦拆分,重新改成微服版,下图是重构后。

 

 

首先重新架构后可以业务逻辑类会被分成三个分别表示兽医服务,访问宠物服务,客户服务,这三个API所表达的底层都有数据逻辑,既支持嵌入式启动也支持对接的数据库,这是后台三个微服务。

 

其次经过重新构架后原来的web界面也变成一个服务,一方面调用和聚合数据另一方面展示页面逻辑。

 

这个web也是通过Spring boot实现开发的,最后重新架构为微服务后我们需要引入一个微服务网关也可以说是反向代理,后续我们会使用KS8s Ingress来替代。

运行的时候先通过浏览器加载静态资源,然后用户在浏览器中有查询和更新的动作是进行出发调用,网关会反向通过3个后台系统进行调用处理。

 

注意:

在微服务中服务较多,展示时空间可以不足,所以要有一个逻辑展示,实际部署时应该有两个,一个是虚拟机pod,另一个是反向代理service。

 

另外需要注意:

把单体版拆分成微服务是展示课程的目的,其实拆分为微服架构是没有必要的,反而引入了复杂性。在使用时主要看程序规模是否需要微服务。

 

在代码中我们先从pom学起,首先使用继承,管理,使用的是2.1.3版本。

展示的是微服架构的模块插件,如果需要上传则需要上传${docker.image.prefix}镜像仓库的前缀,后面的是项目的ID是自动生成的。

 

在本地进行配置账号和密码

也可以设置maveb setting.xml来进行配置,将账号密码进行填写

 

 

 

在pom.xml中主要通过Spring boot进行代码编写写依赖

lombok是目的是简化缩写的,程序最后是有微服镜像

Data中演示的是总体的值数据

 

 

Model是程序的模型层,所有的代码都在其中。

JAVA中的owner是和数据库中一一对应的,其他的也是一一对应的。

 

 

这个是主要负责继承的

 

通过OwnerResource方法来暴露API

 

这个是入口程序,是运行程序的地方

 

 

使用hsql会自动加载到数据库后加载数据

 

 

环境设置成8084是可以进行重载的

进行管理端点,让其暴露出来

会出来方法的重载,会有连接字符串的配置,包括是否要初始化数据等相关配置。

 

 

使用的是基础镜像,一个是name,一个是port来传递参数(文档的作用),是构建时生成架构的名字,路径和属性,add是指镜像的添加到所指文件,最后是需要JAVA命令来启动应用,其他的表示为参数,暂时可以忽略。

 

我的学习进度
请登录后查看您的学习进度!
立即登录
本课程相关云产品