随笔分类 - SpringCloud技术栈
摘要:消息丢失 1、消息发送出去因网络问题没抵达服务器 做好容错方法,使用try catch 发送消息,没发送成功的消息进行重试发送。每一个消息都做好日志记录,往数据库中创建一个mq_message表保存记录,定期扫描数据库,将失败的消息再发送一遍。 2、消息抵达broker,broker要将消息写入磁盘
阅读全文
摘要:问题:使用OpenFeign进行远程调用后,在远程服务中拦截请求判断数据时,发现Session中没有数据,携带的Cookie数据丢失了,而调用方是有Cookie数据的,经过一阵排查发现OpenFegin在远程调用时,新建了一个request,里面什么都没有。 Feign远程调用丢失请求头问题 解决方
阅读全文
摘要:概念 确认机制--》可靠抵达 发送端确认 #配置文件中 开启发送端到达服务器确认 spring.rabbitmq.publisher-confirms = true #开启发送端消息抵达队列确认 spring.rabbitmq.publisher-returns = true #只要抵达队列,以异步
阅读全文
摘要:vue中配置了 axios.defaults.withCredentials = true 服务器在header中响应的是 access-control-allow-orgin: * 在vue中如上设置了withCredentials=true后,请求时需要指定路径或者服务器进行指定路径的修改,在n
阅读全文
摘要:使用许雪里大佬编写的框架实现,git地址:https://gitee.com/xuxueli0323/xxl-sso 启动三个项目 /xxl-sso-server 登录服务器 8080 ssoserver.com /xxl-sso-web-sample-apringboot 项目1 8081 cli
阅读全文
摘要:分布式下Session共享问题解决方案 1、session复制 优点: web-server(Tomcat) 原生支持,只需修改配置文件 缺点:session同步需要数据传输,占用大量网络带宽,降低了服务器群的业务处理能力;任意一台web-server保存的数据都是所有web-server的sess
阅读全文
摘要:package com.xunqi.gulimall.search.thread; import java.util.concurrent.*; /** * @Description: * @Created: with IntelliJ IDEA. * @author: 阿伦啊 * @createT
阅读全文
摘要:public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory t
阅读全文
摘要:@CacheEvict:失效模式 @CachePut:双写模式,需要有返回值 1、同时进行多种缓存操作:@Caching 2、指定删除某个分区下的所有数据 @CacheEvict(value = "category",allEntries = true) 3、存储同一类型的数据,都可以指定为同一分区
阅读全文
摘要:自己手动实现分布式加锁 //1、获取一把锁,只要锁的名字一样,就是同一把锁 RLock lock = redisson.getLock("my-lock"); //2、加锁 lock.lock();//阻塞式等待 try{ System.out.println("加锁成功,执行业务。。。"+Thre
阅读全文
摘要:本地锁只能锁住当前服务,但是在分布式场景时就展现出了缺陷,无法锁住其它服务。 如果执行业务时出现异常,没有释放锁,则会出现死锁问题,考虑trycatch,但是若机器断电或其它问题,则还是死锁。故应该设置过期时间 此时若设置锁后,还没设置失效时间时,电脑断电了,依然死锁。需要将获取锁和设置过期时间更改
阅读全文
摘要:OutOfDirectMemoryError OutOfDirectMemoryError错误,使用Springboot2.0↑整合Redis出现这个错误,是堆外内存错误的意思,原因是springboot2.0以后默认使用lettuce作为操作redis的客户端。它使用netty进行网络通信。 le
阅读全文
摘要:影响性能的因素 影响性能的因素包括:数据库、应用程序(编码能否优化)、中间件(tomcat、nginx等(本人项目是访问nginx->SpringCloudGateway->tomcat))、网络带宽、操作系统等 首先考虑自己的应用是CPU密集型(大量计算)还是IO密集型(内存占用高、磁盘读写多、网
阅读全文
摘要:JMeter Address Already in use错误解决 造成此问题的原因是: windows本身提供的端口访问机制的问题。 windows提供给TCP/IP链接的端口为1024-5000,并且要四分钟来回收他们。就导致我们在短时间内跑大量的请求时将端口占满了。 解决办法: 1、在cmd中
阅读全文
摘要:Nginx踩坑记录 使用域名访问Nginx,再通过Nginx转发至网关,网关通过断言匹配请求主机转发至各个服务。在Nginx中配置访问域名时,转发至商城首页,访问域名http://amall时总是报404错误,此时通过网关访问微服务中的api接口可以访问成功,多次试错后找到原因: Nginx代理给网
阅读全文
摘要:OpenFeign 调用流程 1、构造请求数据,将对象给转为Json RestTemplate template = buildTemplateFromArgs.create(argv); 2、发送请求进行执行: executeAndDecode(template); 3、执行请求会有重试机制 wh
阅读全文
摘要:SpringCloud之Gateway 流程:请求到达api网关时,对符合断言的请求进行过滤,再发送给指定服务,返回数据后再次过滤,再返回给指定客户端 1、引入依赖 <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>sprin
阅读全文
摘要:OpenFeign 1、SpringCloud中想要调用别的服务 1)引入open-feign 2)编写一个接口,告诉SpringCloud这个接口需要调用远程服务 ①声明接口的每一个方法都是调用哪个远程服务的哪个请求 3)开启远程调用功能
阅读全文
摘要:Nacos作为配置中心 1、如何使用Nacos作为配置中心统一管理配置 1)、引入依赖, <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</
阅读全文