springcloud
文章平均质量分 69
Wzy000001
这个作者很懒,什么都没留下…
展开
-
springcloud整合oauth2后,404请求返回401
404的请求返回401我们系统整合springsecurity的时候,出现这么一个问题。当我们有个请求是404的时候,返回的确实401的http码,这个就很让人疑惑了,为啥啊。猜想o.s.b.a.s.oauth2.resource.UserInfoTokenServices - Could not fetch user details: class org.springframework.beans.factory.BeanCreationException, Error creating bean原创 2022-01-20 14:24:51 · 2896 阅读 · 3 评论 -
一次奇妙的服务“宕机”排错之旅
一次奇妙的服务“宕机”排错之旅起因这天,生产上突然传来噩耗,一个服务宕机了,调用该服务都失效了,这可是大问题,第一时间想到的就是别不是这个服务宕机了吧,然后赶紧叫运维看下服务状态,可是发现服务状态是好的,可是为什么前端调用都是超时呢。没办法,现在只能先重启大法好,复制了一份服务和zuul日志下来,然后重启服务,万幸的是服务恢复了。但是为什么呢。甲方也要我们拿出措施来防止下次发生同样的事。先说下我们的架构,简简单单的zuul+eureka+服务进行通信。回想下我们当时的排错措施,1.前端调用失败,返回原创 2020-12-23 22:53:29 · 430 阅读 · 1 评论 -
引入第三方任务调度平台XXL-WORK
引入第三方任务调度平台XXL-WORK前言我们模块中有个模块是专门同步原本的数据库到新库中的,本来写法是写个接口,然后手动调用,也有加了@Scheduled进行定时调度的。但是有这么一个问题,如果我突然想延迟某个任务的调度时间,某天不想执行任务,那么怎么办?我分布式的项目,这个任务只能一个服务跑,跑多了会出问题(比如同步记录,你多跑了数据库多了数据)。修改代码然后重新上线?肯定不行的,那么我们应该怎么解决这种问题呢。关键词:动态任务调度尝试一本来想利用springboot的自带的ThreadPoo原创 2020-12-18 09:19:00 · 1175 阅读 · 1 评论 -
一次fegin调用失败的调错经验
一次fegin调用失败的调错经验场景一次,我调用其他的服务的提供的服务的时候,发现总是调用失败,服务被调用方也没收到请求,所以开始排错。先定位到fegin的client。@FeignClient(name = "activity-server", fallback = ActivityServerClientFallback.class)@Componentpublic interface ActivityServerClient { @PostMapping(value = "act原创 2020-09-23 11:39:06 · 1240 阅读 · 0 评论 -
springboot与mybatis的整合
springboot与mybatis的整合一、导入依赖<!-- mybatis-plus 相关的jar --><dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.4.0</version></dependency&g原创 2020-09-11 11:42:24 · 283 阅读 · 0 评论 -
springboot启动时候开启异步线程或者启动方法
springboot启动时候开启异步线程或者启动方法一、准备工作在Application类上加上EnableAsync注解开启异步在被调用的方法上面加上@Async,也可以直接在类上加此注解,会标识所有方法为异步方法*注意事项*必须要加@EnableAsync注解不能在同一类下调用@Async注解的方法,比如A类下有a和b方法,b方法有@Async注解,不能直接这样a调用b,要把b放到其他类中@Async也可以打在类上,这样类下面的所有方法都是异步的(被其他类调用的时候)二、另一原创 2020-09-11 11:44:15 · 3469 阅读 · 0 评论 -
微服务之间传递token解决方案
微服务之间传递token解决方案在springcloud 微服务中大部分是通过token来验证用户的,那么有个问题,假设现在有A服务,B服务,外部使用RESTApi请求调用A服务,在请求头上有token字段,A服务使用完后,B服务也要使用,如何才能把token也转发到B服务呢,最差的解决办法就是吧token放到请求参数中,但是这样第一个是明文传输,第二个是比较麻烦,前端每次都要加个参数。利用fegin去调用方法的时候,因为客户端有securtiy的防护,那么调用接口会返回401,解决方案可能是webc原创 2020-09-11 11:43:07 · 5769 阅读 · 3 评论