03 2021 档案

摘要:订单服务下订单 \ 库存服务锁库存 >分布式事务 用户服务扣减积分 / 事务保证: 1、订单服务异常,库存锁定不运行,全部回滚,撤销操作2、库存服务事务自治,锁定失败全部回滚,订单感受到,继续回滚3、库存服务锁定成功了,但是网络原因返回数据途中问题?4、库存服务锁定成功了,库存服务下面的逻辑发生故障 阅读全文
posted @ 2021-03-30 10:12 巧克力曲奇
摘要:因为异步编排的原因,他会丢掉ThreadLocal中原来线程的数据,从而获取不到loginUser,这种情况下我们可以在方法内的局部变量中先保存原来线程的信息,在异步编排的新线程中拿着局部变量的值重新设置到新线程中即可。 由于RequestContextHolder使用ThreadLocal共享数据 阅读全文
posted @ 2021-03-26 16:32 巧克力曲奇
摘要:feign远程调用的请求头中没有含有JSESSIONID的cookie,所以也就不能得到服务端的session数据,cart认为没登录,获取不了用户信息 我们追踪远程调用的源码,可以在SynchronousMethodHandler.targetRequest()方法中看到他会遍历容器中的Reque 阅读全文
posted @ 2021-03-26 16:16 巧克力曲奇
摘要:1.1 消息的可靠投递在使用 RabbitMQ 的时候,作为消息发送方希望杜绝任何消息丢失或者投递失败场景。RabbitMQ 为我们提供了两种方式用来控制消息的投递可靠性模式。 confirm 确认模式return 退回模式rabbitmq 整个消息投递的路径为: producer—>rabbitm 阅读全文
posted @ 2021-03-25 16:08 巧克力曲奇
摘要:前言# 最近在思考使用java config的方式进行配置,java config是指基于java配置的spring。传统的Spring一般都是基本xml配置的,后来spring3.0新增了许多java config的注解,特别是spring boot,基本都是清一色的java config。 Sp 阅读全文
posted @ 2021-03-15 10:30 巧克力曲奇
摘要:Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, B 阅读全文
posted @ 2021-03-04 16:56 巧克力曲奇
摘要:本地缓存问题:每个微服务都要有缓存服务、数据更新时只更新自己的缓存,造成缓存数据不一致 解决方案:分布式缓存,微服务共用 缓存中间件 分布式锁分布式项目时,但本地锁只能锁住当前服务,需要分布式锁 redis分布式锁的原理:setnx,同一时刻只能设置成功一个 前提,锁的key是一定的,value可以 阅读全文
posted @ 2021-03-04 15:22 巧克力曲奇
摘要:缓存穿透 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求,如发起为id为“-1”的数据或id为特别大不存在的数据。这时的用户很可能是攻击者,攻击会导致数据库压力过大。 解决:缓存空对象、布隆过滤器、mvc拦截器 缓存雪崩 缓存雪崩是指在我们设置缓存时key采用了相同的过期时间,导致缓存在 阅读全文
posted @ 2021-03-04 14:23 巧克力曲奇
摘要:当进行压力测试时后期后出现堆外内存溢出OutOfDirectMemoryError 产生原因: 1)、springboot2.0以后默认使用lettuce作为操作redis的客户端,它使用netty进行网络通信 2)、lettuce的bug导致netty堆外内存溢出。netty如果没有指定堆外内存, 阅读全文
posted @ 2021-03-04 14:04 巧克力曲奇
摘要:nginx.conf: 全局块:配置影响nginx全局的指令。如:用户组,nginx进程pid存放路径,日志存放路径,配置文件引入,允许生成worker process故障等events块:配置影响 Nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 work process下的网络连接 阅读全文
posted @ 2021-03-02 17:37 巧克力曲奇
摘要:导入thymeleaf依赖、热部署依赖devtools使页面实时生效 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency 阅读全文
posted @ 2021-03-02 12:23 巧克力曲奇
摘要:看一下是否导入了spring-boot-starter-web依赖,由于spring cloud是基于springboot的,所以此依赖必须要有 阅读全文
posted @ 2021-03-01 13:32 巧克力曲奇