栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Spring Cloud微服务项目实战:我们要搭建一个怎样的微服务实战项目?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring Cloud微服务项目实战:我们要搭建一个怎样的微服务实战项目?

优惠券平台项目
分成四大模块来做微服务,优惠券模板服务、计算服务、用户服务和平台类组件

优惠券模板服务:模板规则是创建具体优惠券的前置条件,每种类型的模板都是一个计算公式,这个公式约定了优惠计算的方式。在这个项目中,模板服务实现了模板规则的创建、克隆、分页查找等功能。另外,我将在项目里定义满减、随机立减、满折、晚间双倍优惠等多种券模板类型。优惠计算服务:这个模块是根据用户购物车中的商品信息(单价、数量、所属门店)和优惠券信息,来计算当前订单优惠后的价格。另外,如果用户有多张优惠券,我还提供了“优惠金额试算”服务,帮助用户挑选最省钱的优惠券。用户服务:这是暴露给外部用户使用的接口,它依赖于模板服务和优惠计算服务完成底层逻辑,主要业务场景是用户领券、订单价格试算、下单核销和订单金额试算等功能。平台类组件:主要包括一些业务无关的中心化组件,比如 Gateway 网关等等,你将在 Spring Cloud课程中逐渐接触到平台类组件的搭建。

先springboot再springcloud
搭建springboot的服务开始,先是超级单体然后再是微服务。
技术点:项目搭建:分层构建项目结构,并借助 Maven 实现依赖项管理;数据操作:我会带你快速入门 spring-data-jpa 实战,分别通过接口声明、自定义 SQL 和 JpaRepository
三种方式实现数据库 CRUD 操作;开放对外 API:快速入门 spring-web 实战,通过注解对外暴露 RESTful 风格的 API。

全景规划

第一阶段:搭建基础的微服务功能,实现微服务之间的通信;
第二阶段:为各个模块构建服务容错、分布式配置中心、分布式链路追踪能力;
第三阶段:进一步实现微服务网关、消息驱动和分布式事务。

第一阶段
服务治理:服务治理的重点是搭建基础的跨服务调用功能。我会把用户服务、优惠计算服务和订单服务改造成可以独立启动的微服务,并借助 Nacos 的服务发现功能,通过 Webflux 组件中的 WebClient 实现基于 HTTP 的跨服务间的调用;

负载均衡:在这部分,我们将在服务治理的基础上,引入 Loadbalancer 组件为跨服务调用添加负载均衡的能力。除此之外,我会对 Loadbalancer 组件的扩展接口做自定义开发,实现一个金丝雀测试的负载均衡场景;

简化服务调用:我将使用 OpenFeign 组件对用户服务进行改造,将原先复杂的 WebClient 调用替换为简洁的 OpenFeign 调用。

第二阶段

利用服务容错提高微服务架构的可用性;
搭建全链路的分布式链路追踪能力;
实现统一的配置管理和动态属性推送。

配置管理:配置管理的重点是将三个微服务应用接入到 Nacos Config 配置中心,使用远程配置中心存储部分配置项。
服务容错:搭建 Sentinel Dashboard 控制台,通过控制台将降级规则和流量整形规则应用到业务埋点中。
链路追踪:这部分的重点是搭建分布式链路追踪与日志系统。

第三阶段
搭建微服务网关作为统一流量入口;
使用消息驱动组件对接 RabbitMQ;
通过分布式事务保证数据一致性。

第一个阶段使用 Nacos、Loadbalancer 和 OpenFeign 实现了跨服务的调用;

第二阶段使用 Sentinel、Nacos Config 和 Sleuth 实现了服务容错、配置管理和分布式链路追踪;

第三阶段使用 Gateway、Stream 和 Seata 实现了微服务网关、消息事件驱动和分布式事务。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/750674.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号