☰
SpringCloud微服务开发
2026/10/8 2:12:10 网站建设 项目流程

一.MybatisPlus

1.MybatisPlus快速入门

2.MybatisPlus常见注解

3.MybatisPlus条件构造器

4.MybatisPlus自定义sql

mybatisplus对于条件复杂sql语句很方便,但是并符合某些企业开发规范。所以自定义sql.

即不再业务层编写sql保证企业开发规范,同时也享受到了mybatisplus的便捷。

5.MybatisPlus的IService接口使用方法

二.服务治理

微服务之间不同服务间的调用,消费者通过RestTemplate类向提供者发起http请求得到http响应。会携带url路径里面会写死端口地址,但是微服务会多实例化部署,就会有多个不同实例。就会出现问问题,消费者不知道该向哪一个路径发请求,也不知道该路径是否宕机,不知道服务变更,所以要服务治理。所以就引入注册中心。

1.注册中心原理

2.nacos注册中心的服务注册与服务发现

例:

3.OpenFeign快速入门

OpenFeign是一个声明式的http客户端,是springCloud在Eureka公司开源的Fegin基础上和改造而来的,

起作用是基于SringMVC的常见注解,帮我们优雅实现http请求的发送。

三.网关

1.什么是网关

2.网关路由快速入门

网关路由对应的java类型是RouteDefinfition,其中常见属性有:

id: 路由唯一标识

uri: 路由目标地址

predicates: 路由断言,判断请求是否符合当前路由

filters:路由过滤器,对请求或响应做特殊处理

3.网关登录校验

(1).思路分析

(2).自定义过滤器

(3)网关到微服务传递用户信息

(4)微服务之间调用传递信息

四.Nacos配置管理

1.配置共享

2.配置热更新

五.微服务保护与分布式事务

1.雪崩问题

微服务调用链路中的某个服务故障。引起整个链路中的所有微服务都不可用,这就是雪崩。

2.雪崩问题解决

3.Sentinel是阿里巴巴开源的一款微服务流量控制组件。

4.Sentinel用法

5.分布式事务

(1).分布式事务解决思路

(2).部署Seata TC服务

准备数据库

准备配置文件

Docker部署

(3).微服务集成Seata

2.3.2引进共享配置文件

在bootstrap.yaml里配置共享配置文件(引入文件名)**

(4).XA模式

4.1实现XA模式

(5).AT模式

5.1AT模式实现

六.MQ课程介绍**

1.同步异步优缺点

2.MQ技术选型

3.RabbitMQ

4.RabbitMQ数据隔离

通常根据不同项目或业务创建独立的用户,给用户创建独立虚拟主机,实现数据隔离效果。

5.RabbitMQ快速入门

6.java客户端-WorkQueue



7.交换机

7.1 Fanout交换机

7.2Direct交换机

7.3Topic交换机

7.4基于Bean声明队列交换机

7.5基于注解声明队列交换机

7.6消息转换器

8.发送者可靠性

8.1发送者重连

8.2发送者确认机制

9.MQ可靠性-数据持久化

MQ可靠性-lazyQueue

数据持久化消息.队列.交换机.持久化,就不会担心因为mq宕机导致数据丢失,也不会因为消息堆积pageout导致阻塞。但是数据持久化后不仅要保存在内存还要在磁盘中写一份,这样每条消息处理耗时增加导致整体并发能力下降,所以引入lazyQueue它不仅解决了持久化机制还解决了并发性能问题。

10.消费者可靠性

10.1消费者可靠性-消费者确认机制

10.2消费者可靠性-消费者失败重试机制

10.3消费者可靠性-业务幂等性

之前保证消费者可靠性采用消费者确认机制和消费者重试机制,这种机制很可能会出现消费者同一个消息重复处理的可能性。比如消费者处理消息成功业务也处理成功,这时候spring会帮我们返回ACK来确认消息处理完成,但是如果此时出现网络故障,导致消费者跟mq之间连接断开,那么这个ACK显然是没有成功发出去的,此时MQ发现这个连接断开,他认为消费者宕机了,一旦网络恢复,它势必会重新投递消息给消费者,就会出现重复消费,在某些场景下重复消费会出现问题(即没有收到ACK,再次发送)。所以我们保证消息可靠性的同时,还要想办法解决消息重复消费的问题,就需要用到业务的幂等性了。

11.兜底方案-延迟消息

11.2延迟消息-延迟消息插件

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询