之前梳理的springboot的启动流程,大家想了解的可以看下。 整个springboot启动的流程,更像是一个大的模板方法。 在模板中的每个节点去产生一些具体的事件。 springboot在构造的时候就把Listener都拿到了,这些事件触达以后,对应的listener就自动执行。 springboot启动入口 是整个流程启动的口子。 @SpringBootApplicationpublic class Starter { public&…
之前梳理的springboot的启动流程,大家想了解的可以看下。 整个springboot启动的流程,更像是一个大的模板方法。 在模板中的每个节点去产生一些具体的事件。 springboot在构造的时候就把Listener都拿到了,这些事件触达以后,对应的listener就自动执行。 springboot启动入口 是整个流程启动的口子。 @SpringBootApplicationpublic class Starter { public&…
5ycode 被管理耽误的架构师。工作、学习过程中的知识总结与分享,jvm,多线程,架构设计,经验分享等。 28篇原创内容 公众号 基于springcloud的灰度实现方案(一) 基于springcloud的灰度实现方案(二) 前两篇介绍了灰度方案以及灰度的实现,这篇从feign底层调用上分析一下是如何实现的。 首先,我们在feign调用时,使用了FeignClient注解。 #接口调用@FeignClient("demo-service")public interface DemoServiceFeginClie…
5ycode 被管理耽误的架构师。工作、学习过程中的知识总结与分享,jvm,多线程,架构设计,经验分享等。 28篇原创内容 公众号 基于springcloud的灰度实现方案(一) 该项目已经上传到github上,地址如下: https://github.com/yxkong/springboot-gray 项目说明 通过eureka的扩展元数据,标记服务是灰度服务 重写Ribbon的RoundRobinRule轮训算法实现灰度路由 项目结构说明 必须有一个eureka lb-common 公共包 com.yxkon…
5ycode 被管理耽误的架构师。工作、学习过程中的知识总结与分享,jvm,多线程,架构设计,经验分享等。 28篇原创内容 公众号 前言 目前所有的服务都是基于springboot/springcloud体系,注册中心使用eureka。 背景: 新的功能上线后,特别是大版本上线,不能完全保证新功能的质量,特别是对历史用户,数据差异性比较大,又无法复现; 为了测试哪套流程的转化率比较高; 想要的效果 这里就会有以下几个问题: 如果识别是灰度用户? 如何识别是灰度服务? 如何让灰度用户走灰度服务? 如何让灰…
问题回顾 4月2日 开发发现专有云的用户rds实例链接数报警,并于中午发起了数据库配置变更申请; 4月8日14:00 某云在场运维巡检,发现该实例有中断的任务,尝试补偿执行失败; 4月8日14:23 某云在场运维直接手动操作跳过一些步骤,将中断任务继续执行; 4月8日17:30,许久没消息的报警群,突然收到一堆报警,用户系统提示:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException,其他系统提示调用用户系统Read timed out,后续又报Connect…