之前梳理的springboot的启动流程,大家想了解的可以看下。 整个springboot启动的流程,更像是一个大的模板方法。 在模板中的每个节点去产生一些具体的事件。 springboot在构造的时候就把Listener都拿到了,这些事件触达以后,对应的listener就自动执行。 springboot启动入口 是整个流程启动的口子。 @SpringBootApplicationpublic class Starter {    public&…

2021/05/20 0条评论 1234点热度 0人点赞 阅读全文

5ycode 被管理耽误的架构师。工作、学习过程中的知识总结与分享,jvm,多线程,架构设计,经验分享等。 28篇原创内容 公众号 基于springcloud的灰度实现方案(一) 基于springcloud的灰度实现方案(二) 前两篇介绍了灰度方案以及灰度的实现,这篇从feign底层调用上分析一下是如何实现的。 首先,我们在feign调用时,使用了FeignClient注解。 #接口调用@FeignClient("demo-service")public interface DemoServiceFeginClie…

2021/05/20 0条评论 1906点热度 1人点赞 阅读全文

5ycode 被管理耽误的架构师。工作、学习过程中的知识总结与分享,jvm,多线程,架构设计,经验分享等。 28篇原创内容 公众号 基于springcloud的灰度实现方案(一) 该项目已经上传到github上,地址如下: https://github.com/yxkong/springboot-gray 项目说明 通过eureka的扩展元数据,标记服务是灰度服务 重写Ribbon的RoundRobinRule轮训算法实现灰度路由 项目结构说明 必须有一个eureka lb-common 公共包 com.yxkon…

2021/05/19 0条评论 1239点热度 0人点赞 阅读全文

5ycode 被管理耽误的架构师。工作、学习过程中的知识总结与分享,jvm,多线程,架构设计,经验分享等。 28篇原创内容 公众号 前言 目前所有的服务都是基于springboot/springcloud体系,注册中心使用eureka。 背景: 新的功能上线后,特别是大版本上线,不能完全保证新功能的质量,特别是对历史用户,数据差异性比较大,又无法复现; 为了测试哪套流程的转化率比较高; 想要的效果 这里就会有以下几个问题: 如果识别是灰度用户?  如何识别是灰度服务? 如何让灰度用户走灰度服务? 如何让灰…

2021/05/18 0条评论 1305点热度 0人点赞 阅读全文

5ycode 被管理耽误的架构师。工作、学习过程中的知识总结与分享,jvm,多线程,架构设计,经验分享等。 28篇原创内容 公众号 当我们在生产调优的时候,有时候不确定当前的jvm哪些参数已过期。通过以下两种方式,可以确认当前jdk是否支持,以及对应的参数含义。 方法一:通过命令行获取当前jdk的参数  # 打印jvm所有参数的最终值(可能jdk被人调整,有些值变化了) java -XX:+PrintFlagsFinal -version  #&…

2021/05/15 0条评论 1113点热度 0人点赞 阅读全文

5ycode 被管理耽误的架构师。工作、学习过程中的知识总结与分享,jvm,多线程,架构设计,经验分享等。 28篇原创内容 公众号 什么叫代理模式? 代理模式是在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类增加功能。代理对象在在原始类和代理类之间起到了中介作用。 代理模式的目的: 保护原始类; 增强原始类; 我们在生活中的经常遇到这样的场景如:房屋中介、猎头等。 中介保护了我们的隐私,我们除了提供基本的房屋买卖、找工作等需求,中介会通过自己的资源、渠道等帮我们实现,我们本来的意愿并没有改变。 …

2021/05/14 0条评论 1100点热度 0人点赞 阅读全文

5ycode 被管理耽误的架构师。工作、学习过程中的知识总结与分享,jvm,多线程,架构设计,经验分享等。 28篇原创内容 公众号 什么是零拷贝? 零拷贝描述的是cpu不参与执行从一个存储区域到另一个存储区域的数据拷贝任务;避免让CPU做大量的数据拷贝任务,将cpu解脱出来专注于别的事,降低cpu在数据拷贝中的使用率。 零拷贝的目的 尽可能少的利用cpu来完成操作; 尽可能减少数据的读写过程; 利用零拷贝的组件 kafka netty rocketMq nginx 基本上有文件和网络交互的为了效率都会用到 基本概念…

2021/05/08 0条评论 973点热度 0人点赞 阅读全文

问题回顾 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…

2021/05/07 0条评论 1166点热度 0人点赞 阅读全文