本来只想分析下@import是如何装载的,一下子没刹住车,整了一个Configuration 配置加载分析。 背景 周五在给大家分享sleuth的时候在ZipkinAutoConfiguration中关于程序如何选择Reporter一下子没找到具体的实现。两周之前刚翻过源码,当时理的清清楚楚,两周就忘了。 再次翻看源码后,记录一下 //关键点在ZipkinSenderConfigurationImportSelector,这是一个ImportSelector,先不说为啥 @Import(ZipkinSenderCo…

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

设计模式是软件设计中常见问题的典型解决方案。它们就像能根据需求进行调整的预制蓝图, 可用于解决代码中反复出现的设计问题。 设计模式相对比较软性,是对解决某类场景问题的高层描述; 根据使用人的不同应用的也不同 只是一种思想,没有好坏之分,只有更适合; 我们应该关注要达到什么样的目的,怎么更加灵活的做到; 软件中唯一不变的是变化,设计模式让我们想各种方法屏蔽这种变化; 设计模式包含: 意图:简单描述问题和解决方案 动机:进一步解释问题并说明模式会如何提供解决方案; 结构:如何将软件结构组装起来并形成关系 设计原则: S…

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

InnoDB,是MySQL的数据库引擎之一,现为MySQL的默认存储引擎,为MySQL AB发布binary的标准之一。 InnoDB存储结构 以页为单位来管理存储空间; 以页作为磁盘和内存交互的基本单位; 默认页大小为16kb(所以最少一次从磁盘读取16kb的内容),可以通过innodb_page_size 修改页的大小(在初始化时指定 mysqld --initialize); 不同的行格式在磁盘上的存放形式也不同; mysql规定一页中最少存储2行数据 页中需要占用的额外空间需要132字节 compact 行…

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

前置说明 elasticsearch-7.10 centos7 依赖jdk11 必须使用非root账户启动 创建用户 # 添加组appuser groupadd appuser # 添加用户appuser,并加入主组appuser,又归属于root useradd -s /bin/sh -g appuser -G root appuser # 修改appuser密码 passwd appuser 密码 yxkong 下载解压 https://artifacts.elastic.co/downloads/elasti…

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

背景 项目DDD重构后,所有依赖重新整理,试运行期间发现链路追踪的抓取信息不够丰富,就翻下原来的项目源码,再看下对应的改造下。 环境依赖 kafka elasticsearch 7.10.0 (jdk11) Kibana 7.10 zipkin server sleuth 随着微服务的应用,我们运维系统时面临以下问题 真实情况的请求链路是什么? 链路请求过程中每个耗时了多少? 请求的参数以及每个系统的响应是什么? 分布式链路追踪解决了以上这些问题(当然需要自己手动扩展下) 分布式链路追踪(Distributed T…

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

ps 命令用来列出系统中当前运行的那些进程 # 查找对应程序的进程 ps -ef|grep mysql # 将所有的程序显示出来 ps aux pstree 命令以树状图显示进程间的关系 # 常用与统计当前系统有多少线程在运行,系统慢,io较高时使用,可以看哪个程序开启的线程多 pstree -p |wc -l pstree -p 进程号 |wc -l ulimit 为进程及其子进程的资源使用设置限制 如果log中出现无法创建线程的异常,可以查看下,一般appuser的默认值都不高 # 查看资源限制 sh-4.2$…

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