将 PetClinic 重构为微服务架构(下)|学习笔记

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 快速学习将 PetClinic 重构为微服务架构(下)

开发者学堂课程【阿里云 K8S 微服务部署案例将 PetClinic 重构为微服务架构(下)学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/668/detail/11569


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

将 PetClinic 微服务项目源码 Review

在 web-app 下找到 pom.xml 来说明,首先利用继承的关系,其次有依

赖关系来做测试聚口服务来暴露 API,另外 web-app 是来调用后端服

务来做一些聚合的动作,如果后台出现大量错误时使用 hystrix 来进

行垄断。

指的是第三方库用来暴露,lombok 是用来简化代码编写的

image.png

因为是 web-app 应用,所以使用的是静态,因此引入 webjars,这些

是静态使用的资源以 webjars 引进来使用

image.png


使用 dockerfile 来打造静态的景象

image.png

因为 web-app 承担着聚合服务,他回去调用后台服务来做聚合的动

作,能聚合出 OwenerDetails 意思是宠物主人相关的加上访问记录的

数据,调用后返回给调用方,其中 command 在后台出现大量错误时(调

用失败)会出现垄断,则要返回一个空的数据。

image.png

在 static 静态资源下不仅仅是 API 还是一个应用资源,像 css,

fonts,image 都是静态资源,当用户在浏览器中访问应用时,会加载

主页面。

image.png

代表的是主键,还有导航下的页面展示。我们重点在 KS8 不是前端所

以不在这里多说。

image.png

web-app 要调用后台进行聚合,所以我们需要调用两个服务,这是两

个端点带有默认值也可以通过环境标量来进行调试。

image.png

最后我们来看这个程序,基础静像 jdk 传进来 jar 名字会加入到静像

中。

image.png

微服务的网关入口,首先利用继承的关系,其次引用 SpringBoot 来

暴露,引入 SpringCloud 来使用,web-app 是来调用后端服务来做

一些聚合的动作,最后使用 dockerfile 来打造静态的景象

image.png

是主入口程序,是不需要代码的但是需要配置

前缀是静态发出来的。如果进来的都是静态资源那么将会转发到

web-app 下的。

image.png

构建出应用,基础静像 jdk 传进来 jar 名字会加入到静像中,

image.png

如果想要在本地静像构建则要使用 mvncleaninstall,在静像构建

+上传 dockerhubmvncleandeploy,不仅会编译和测试而且可以上

传,但注意配置要有所调整。一个是调整前缀,设置账号和密码

image.png

下面我们来实际操作静态的配置,首先运行命令构建所有的静像,一

共有6个步骤需要依次进行自动执行,展示的是所有静像构建完毕。

image.png

使用 douker 来查看本地所有静像,构建5个完成。

image.png

小结:

本课程学习了微服版的架构,也讲解了这部分的代码。

需要注意两点,一个是微服架构需要引入网关或者是反向代理,这样

才可以实现反向路由管理和转发。

我们 web-app 一方面实现了聚合 API,另一方面也实现了单一 SPA 的

单页展示。

相关文章
|
Cloud Native Dubbo 算法
微服务架构技术选型思考
在互联网+ 和新商业业态的冲击下,传统行业正处于技术架构转型的十字路口,随着业务的不断创新变化,服务架构也随之无时无刻地进行革新。从早期的单体应用架构、面向SOA架构以及现在的微服务架构,无不是随着业务场景的不同诉求而进行适应性架构变迁。基于当前行业的业务发展,天然基于云服务的云原生模式无疑能给出重要参考意义。然而如何落地云原生技术正逐步成为行业用户的焦点。作为云原生生态领域中的关键一员,微服务的一举一动牵动着整个生态的发展方向。
247 0
|
2月前
|
消息中间件 测试技术 API
深入解析微服务架构的设计与实践
在软件工程领域,"分而治之"的策略一直是解决复杂问题的有效方法。微服务架构作为这一策略的现代体现,它通过将大型应用程序分解为一组小的、独立的服务来简化开发与部署。本文将带你了解微服务的核心概念,探讨设计时的关键考虑因素,并分享实践中的一些经验教训,旨在帮助开发者更好地构建和维护可扩展的系统。
|
2月前
|
消息中间件 设计模式 API
后端开发中的微服务架构设计原则
【8月更文挑战第13天】在软件工程的世界中,微服务架构已经成为一种流行的设计模式,它通过将复杂的应用程序分解成一组小的服务来简化开发和部署。本文探讨了微服务背后的设计理念,以及如何在后端开发实践中应用这些原则来构建可扩展、灵活且易于维护的系统。我们将深入讨论服务的划分、通信协议的选择、数据一致性的保障以及容错性策略的实施,旨在为后端开发人员提供一套实用的微服务架构设计指导。
53 1
|
5月前
|
算法 API 数据库
重构单体为微服务
重构单体为微服务
89 0
|
5月前
|
监控 前端开发 持续交付
微服务的4个设计原则和19个解决方案
微服务的4个设计原则和19个解决方案
242 0
|
11月前
|
存储 运维 Java
微服务架构基础篇
微服务架构基础篇
125 0
|
微服务
如何正确的设计微服务(2)
如何正确的设计微服务
如何正确的设计微服务(2)
|
设计模式 存储 消息中间件
【微服务架构】一文读懂单片到微服务架构的模式和最佳实践
【微服务架构】一文读懂单片到微服务架构的模式和最佳实践
|
存储 消息中间件 SQL
【微服务架构】让我们谈谈“拥有”他们的数据的微服务
【微服务架构】让我们谈谈“拥有”他们的数据的微服务
|
运维 前端开发 JavaScript
从单体结构到微服务架构的转变,微服务入门
从单体结构到微服务架构的转变,微服务入门
229 0
从单体结构到微服务架构的转变,微服务入门