springcloud第三部分Alibaba,Nacos,Sentinel,Seata,雪花算法

 

 

 

 在父工程的pom中引入:

 

 

 

 

 

 

 

 下载:

 

 下载,解压:

 

 

进入cmd模式:

 

 成功启动可以进入8848:

 

 =====

新建模块:

 

 改pom:

 

 改yml:

 

 主启动类:

 

 业务类:

 

 

 

 新建9002模块,改个端口,其他跟9001都一样。

新建消费者83模块:

pom:

 

 yml:

 

 主启动类:

 

 业务:

配置类:

 

 controller:

 

 

 

 

 

 

 

 ===

 

 新建模块:

 

 

 

 

 

 

 

 主启动类:

 

 业务:

 

 

 

 

 

 

 

 

 

 

 

 测试:

 ====

 

 

 

 修改组名:

 

 

 

 

 

 

 

 改yml:

 

 

 

 测试:

 

 

 

 

 

 

 

 

 改yml:

 

 

 

 添加配置文件:

 

 再添加一个:

 

 

 

 测试:

 

============================

 

 

 

 

 看视频107:那内置的小数据库,切换成MySQL。

 

 

 

 视频108:linux版本的nacos下载安装

这学了linux和nginx之后再来学。

=======

sentinel:

 

 

 

 

 

 

 

 

 

 

 

 运行:

 

 默认端口也是8080:

 

 默认用户名密码都是sentinel。

 

 新建8401模块:

 

 改yml:

 

 

 

 

 

 测试:

 

 

 流控:

 

 

 

 

 

 

 

 关联效果:

 

 

 

 

 

 

 

 ===

预热冷启动:

 

匀速排队:

 

 

 

 

 

 

 

 

 

 

 

 测试:

 

 

 ====

异常比例:

 

 

 

 

 

 异常数:

 

 

 

 =====

热点规则:

 

 

 

参数索引0表示是第一个参数,就是p1

 

 

 

 

 ====

例外项:

 

 

 

 

 

 ====

系统规则:

 

 =====

给模块添加点东西:

 

 

 

 

 

 按资源名称限流:

 

 

 

 ===

按url限流:

 

 

 

 =====

自定义限流处理:

 

 

 

 

 

 

 

 ====

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 测试:

 

 

 

 只配置义业务异常的情况:

 

 只配置sentinel:

 

两种都配置:

 

 

 

 

 ====

忽略异常:

 

 测试:

 

 ======

继续整合feign:

 

 

 

 

 

 

 

 

 创建一个接口:

 

 

 创建一个兜底方法:

 

 在接口上添加兜底的类:

 

 业务:

 

测试:

 

 ==============

 

 

 

 就是要在业务模块的pom里添加:

 

 yml:

 

 配置nacos:

 

 

 

 重启之后也有流控规则:

 

 =====================

seata处理分布式事务

 

 

 

 

 

 

 下载:

 

 

 

 

 下载解压后修改file.conf配置文件:

把default改成自己的工程名:

 

 把file改成db:

 

 修改数据库信息:

 

 创建好seata数据库,建表的sql是在conf文件夹的db_store.sql中,直接复制即可:

 

 继续修改配置文件:

 

 file改成nacos,localhost改为localhost:8848:

 

 

启动nacos和seata:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 =========

建三个库的回滚日志表:

 

 

 

 

 

 ====

数据库建好,开始编写业务:

 

 pom:

 

 

 

 

 

 创建file.conf,内容是复制过来的,具体看视频142:

 

 创建registry.conf,内容也是拷贝过来的:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 创建实现类,调用三个接口,操作三个数据库,实现业务:

 

 

 

 

 

 创建controller:

 

 整合mybatis和数据库:

 

 

 

 

 

 主启动类:

 

先启动nacos再启动seata,然后启动模块2001

 

创建2002库存模块:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 这两部跟2001是一样的。

============

创建2003账户模块:

pom跟上面都一样。

yml:

 

 

 

 

 

 

 

 

 

 

 

 

 

 ====

开始测试:

启动项目:

 

三个数据库的初始数据:

 

 

 

 

 

模拟超时:

 

 

 

 

 

 加上注解:

 

 

 

 

 这样错误就会回滚了。

小结:

 ===============

雪花算法:

 

 

 

 

 

posted @ 2021-06-18 14:35  即墨非音  阅读(386)  评论(0)    收藏  举报