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 实现了微服务网关、消息事件驱动和分布式事务。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值