- 博客(32)
- 收藏
- 关注
原创 RabbitMQ高级篇之MQ可靠性 Lazy Queue(笔记)
在这一段时间内,发送消息可能不会成功,但是。该优点:动态检测消费者处理消息的速度,如果消费者处理慢,那么直接从磁盘加载,反之,提前加载到缓存给消费者处理。,如果消费者出现故障,消息发送越来越多,速度越来越快,会导致把队列占满,没有在内存,上来直接写在磁盘,速度非常快,峰值一直都很快。
2025-04-04 23:54:53
272
1
原创 【RabbitMQ】RabbitMq高级篇-发送者可靠性(笔记)
4. 交换机在成功接收到消息会返回ack,未接受到消息会返回nack.且在绑定的回调函数中定义了ack 和 nack的处理逻辑,总结:发送者需要与MQ进行通讯以及确认,大大影响了发送消息的效率,性能也会受到影响,默认出现的异常很低,不用特意去开启.缺点: 当前线程无法向下执行,如果发送消息这行代码一直卡住重连,下面的业务代码就无法执行,发送者在发送给MQ失败的情况下,尝试继续重新连接,1.MQ正确处理发送者发来的消息(到达了MQ),但是。.该回调函数会返回消息,路由失败的原因,消息id等,
2025-04-02 04:12:36
651
原创 nacos启动成功但被拒绝访问
起因:几天没有登nacos,今天访问一下突然就被拒绝访问,前几天还好好,都能正常访问数据库。重新部署了起码十几次,重新配文件,配对应的数据库,耗费我很多精力时间。我在想那实在不行,重启一下服务器吧,因为实在是没招了。(如果你跟我一样,尝试我这种,都是教训),然后再重新启动一下nacos,我觉得还是内存问题,重启应该会清理一些没用的东西。找了很多资料什么设置最大内存-e JVM_XMS=256m 那些都有配置好。
2025-04-01 00:50:44
378
2
原创 微服务gateway(笔记)
1.身份认证和权限校验(因为这么多服务我们后端各个服务不可能都要去写登录逻辑,jwt校验,前端也不知道各个端口,如果我需要用户信息我们必须想办法)2.请求路由和负载均衡 3.请求限流 4.NettyRouterFilter:在整个过滤器的最后,我们自定义全局过滤器优先级在它之前,并且处理好就行5.网关无法做业务逻辑,只能基于路由规则来进行判断!
2025-03-28 23:39:24
558
原创 rabbitmq交换机(笔记)
现在消息的发送者先发给交换机再路由到指定的队列,不过交换机可以路由一个或者多个多种多样的队列。Fanout可以把接收到的消息路由到与它绑定的每一个队列,相当于复制了多份,,达成了一条消息可以被多个消费者处理,fanout可以达成这种效果。场景:我们有个业务,用户支付成功后,需要通知订单服务,通知短信服务,通知积分服务,如果用workqueque这种队列,只能被一个服务处理到,其他的都接收不到。现在有了交换机,我们可以一个交换机绑定三个队列。
2025-03-27 00:11:06
850
原创 RabbitMQ中的Work Queues模式(笔记)
场景:解决消息过多处理不过来的场景,默认是平均分配,不要慢却也跟拿一堆,处理的慢不说是吧,容易造成消息堆积。我们测试用两个消费者,像这种类型,写两个,或者几个没意义,一般就一个消费者,项目一般会去实例部署多个消费者。如果发送者发送一个消息到队列里,是被一个消费者还是被所有的消费者消费。解决方法:每次只能处理一条,没有处理完不能获取,那么。同一条消息被消费那么另一个消费者就消费不了。丝毫还是均分,没有发生改变,处理快的人闲着,处理慢的人忙不过来。一个人接收到的是奇数。处理快的人分的人越多。
2025-03-26 23:20:18
224
原创 报错java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not ...解决方法
问题:lombok版本太低或者没有指定版本。解决:更换新版本,刷新重新运行。
2025-03-26 02:45:19
111
原创 SpringBoot测试失败并报错: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration
在测试文件里,测试包名没有与项目包同名,或者没有创建的话,连导都导不了,都找不到该对象,而且会报错。解决:这个测试包名要和项目包名一致,并且在它路径下。
2025-03-26 02:34:34
147
原创 RabbitMQ同步和异步区别(笔记)
采用sentinel的垄断,降级等操作,假如后续业务订单状态被垄断了,但是前面已经完成付款更新了等操作,这非常不合理,导致数据不一致。比如秒杀活动,突然的流量激增,那么我先不处理,先发消息到代理缓存起来,相当于一个大坝拦住,后续服务按照自己能力慢慢处理,我们更新订单状态,跟支付服务关系不大,采用异步发消息到消息代理,然后不管了(提高效率),交易服务要做的就是。交易服务假如出现故障,没收到消息,只要重新启动恢复正常,消息代理还会投递给对方,直到对方解决。,支付服务的核心就是扣余额,更新支付状态,
2025-03-25 22:44:18
734
原创 微服务架构笔记
每一个服务都有对应的数据库独立开来。:不同微服务,做到单一职责,面向服务暴露接口,,部署越复杂,大家都拆散了,那么只能去A请求B。如果是单体项目,那么。可能其他请求进不来,tomcat被耗尽。,不要访问其他微服务的数据库。抽取公共服务,提高复用性。将自己的业务暴露为接口。不要重复开发相同业务。,供其他微服务提供!到不同的tomcat。
2025-03-25 00:55:48
333
原创 com.mysql.cj.exceptions.WrongArgumentException - Invalid argument value: java.io.NotSerializableExce
没有实现Serializable接口,导致无法进行序列化。将不可序列化的对象传递给需要序列化的方法或组件时。这种情况极大可能是因为该类。这个错误通常发生在尝试。你需要修改该类并添加。
2025-03-25 00:17:42
175
原创 org.apache.rocketmq.client.exception.MQBrokerException: CODE: 14 DESC: service not available now.
runbroker.sh文件添加set "JAVA_OPT=%JAVA_OPT% -server -Xms512m -Xmx512m -Xmn128m -Drocketmq.broker.diskSpaceWarningLevelRatio=0.99",检查磁盘空间,多数情况是空间不足造成。
2025-03-24 02:35:15
142
原创 nacos报错Client not connected,current status:STARTING,StatusRuntimeException
nacos报错Client not connected,current status:STARTING,StatusRuntimeException。降低nacos-client版本。连接超时还是什么问题。
2025-03-24 02:28:14
329
原创 分布式事务seata的AT模式(笔记)
原理:假如有多个微服务RM(分支事务)组成全局事务TM,假如请求进来了就去报告TC开始事务了,然后开始执行内部的业务逻辑,调用一个个分支事务,各自去执行,那么TM会去告诉TC,我是哪个分支,哪个全局,然后再去执行你的业务。比如创建订单涉及到订单数据库,购物车清除(购物车数据库),扣减库存(商品数据库)再去执行sql提交,报告。缺点:尽管解决周期过长,但是第一阶段如果创建订单了,购物车清空了,资源也释放了,库存却扣减失败了。这里各自的RM执行完sql后立即提交,不用等了,各自提交,直接释放资源。
2025-03-24 01:52:43
167
原创 分布式事务seata的XA模式(笔记)
还是等待问题,假如业务很复杂,调用4,5个分支,这个个分支一直卡着(外界也不能够访问该事务也只能一直等着),假如第一个分支啥事不干,等下面每个分支执行,每个分支耗费几十毫秒,可想而知,严重影响了性能,这时候需要AT模式。等所有的分支被调用完,那么TM就去向TC报告全局事务结束,TC就会去检查一下这些分支的状态,有多个微服务RM(分支事务)组成全局事务TM,假如请求进来了就去报告TC开始事务了,发现都成功,向RM发送指令,才能提交事务,释放锁。,我是哪个分支,哪个全局,然后再去执行你的业务代码,执行完后,
2025-03-24 01:33:46
129
原创 Seata分布式事务笔记原理详解,手把手教你理解 !
请求进入,全局事务就开始(我们可以理解为我们创建订单先进入了Controller然后到达impl的createOrder(),这个就是入口(开始),进入了以后去执行那三个业务(重点),假设我们创建订单,然后把这个订单的信息添加到数据库里面, 然后开启(提交)事务,然后开始去到购物车服务去清空购物车提交事务,没有问题,然后继续执行去调用扣减库存,大概就是 我创建订单,但是库存为0,我确实是创建失败回滚了,但是购物车却执行了清空购物车,提交了事务,明明下单失败了,然后购物车却可以清空,导致事务不一致。
2025-03-23 23:53:23
525
原创 [已解决]报错:Parameter ‘ids‘ not found. Available parameters are [arg0, collection, list]
解决:是不是忘记加@Param,记得都加上试试,我没有加就报这个错误
2025-03-23 21:19:48
82
原创 gitee使用笔记教程见解
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png? 远程仓库没有,先创建一个新的仓库。Java编译会编译到target文件夹里面 将自己的代码通过终端git上传上去 先新建文件夹(20240425) 再创建一个文件夹 区分角色 假如我现在设定一个张三。
2025-03-23 21:12:07
657
原创 出现error:“HV000030: No validator could be found for constraint ‘javax.validation.constraints.Pattern
javax.validation.constraints.Pattern我们用@Pattern 正则要求是属性字段为String类型,这里非法使用了其他类型,把属性换成String类型即可
2025-03-23 20:51:41
200
原创 解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题 *
第二点:查看是否扫描xml的路径是否正确建议在application中查看 如果发现不对那可能是在创建xml时没有先创建mapper然后放在其目录下。记得先创建mapper层不然也会报错。
2025-03-22 21:26:26
331
原创 Incorrect integer value: ‘XXX‘ for column ‘class_id‘ at row 1“,
一般来说是sql语句插入等出现了问题, 所以认真仔细排查mybatis的xml文件,自己的sql语句。XXX的这个数值赋值给了class_id 数字模型。先检查xml是不是匹配错了。其次是该实体层的类型。
2025-03-22 21:02:47
223
原创 Mybatis Plus creatDate字段报错 Could not set property ‘createTime‘ of ‘class com.songqiao.pojo.User
LocalDateTime类型 与插入的new Date()不符。问题:我们导入实体类后,日期类型为。检查一下你的domain实体层。
2025-03-22 20:51:03
184
原创 若依 Youhave an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version
在启动若依时 我们在使用分页查询时用到page中的getTotal()方法,会先调用数据库的语法 查询总条数。解决:更换更高的版本,我的是这个版本 ,重新导入后问题解决,你去检查一下然后更换。
2025-03-22 20:44:03
125
原创 Problem deserializing ‘setterless‘ property (“authorities“): no way to handle typed deser with sette
在getAuthorities方法上加上@JsonIgnore注解,直接解决!user继承了security的UserDetails,多了一个集合类型的getAuthorities方法。这里是关于springsecurity的报错问题。,所有导致无法序列化。
2025-03-22 20:30:04
85
原创 mybaits错误 MySQLIntegrityConstraintViolationException: Column ‘name‘ in where clause is ambiguous...
问题:多表查询,where后的字段没有指定表造成的,检查你的Wrapper中的sql字段。记得联表的时候把t1标注上,有时候自己比较粗心,这个问题也是报错的原因之一。
2025-03-22 20:15:32
195
原创 rg.springframework.beans.factory.UnsatisfiedDependencyException
是否配错,看看这个包名有没有出现问题,没有扫描到。
2025-03-22 20:05:15
82
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人