
一、架构演进




二、上手操作




后面每个微服务的@EnableDiscoveryClient注解都是必备的,都是自动的,不需要再写代码去获取。




模型抽取,微服务的模型层需要统一放在一个项目里面。
下面其实就是微服务的本质实现代码:





直接可以用@LoadBalanced注解就可以实现负载均衡了




三、Nacos配置中心



自动刷新配置也可以这样:







四、数据隔离



按需加载



五、OpenFeign
1、微服务内部调用




@FeignClient这个注解是自动负载均衡的
2、第三方接口调用


3、日志

4、超时控制



5、重试策略

6、拦截器机制


数据调用链路的UUID之类的
7、兜底返回




六、Sentinel
1、简介、上手


把规则存储到内存的话,重启就失效了。



2、异常处理



3、流量控制



4、流控效果

5、熔断规则




6、热点规则


七、网关GateWay


1、创建网关




2、工作原理

3、断言

4、自定义断言


5、过滤器



全局filter

自定义过滤器



6、网关全局跨域


注:后端之间的微服务调用,不建议再过网关
八、Seata分布式
1、准备


2、引入seata
1 启动seata服务器
2 文件配置
3 入口方法加全局事务









3、模式
1、AT模式,默认和推荐都是AT(性能好)

2、XA 一开始就阻塞,以前没设计好

3、tcc适合加上非数据库的代码(侵入式的代码)

4、saga模式事务长期模式,结合消息队列

