ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

SpringCloud微服务开发

SpringCloud微服务开发 一.MybatisPlus1.MybatisPlus快速入门2.MybatisPlus常见注解3.MybatisPlus条件构造器4.MybatisPlus自定义sqlmybatisplus对于条件复杂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.微服务集成Seata2.3.2引进共享配置文件在bootstrap.yaml里配置共享配置文件引入文件名**4.XA模式4.1实现XA模式5.AT模式5.1AT模式实现六.MQ课程介绍**1.同步异步优缺点2.MQ技术选型3.RabbitMQ4.RabbitMQ数据隔离通常根据不同项目或业务创建独立的用户给用户创建独立虚拟主机实现数据隔离效果。5.RabbitMQ快速入门6.java客户端-WorkQueue7.交换机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延迟消息-延迟消息插件
返回列表