博客园 - 每天进步一丶
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=165856
2021-12-24T01:33:15Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
feed.cnblogs.com
https://www.cnblogs.com/yidiandhappy/p/15657233.html
监控感悟(一) - 每天进步一丶
最近接近一年都在做云下机房及相关业务的监控,略有感触,写下来记录一下,多年后再看也许有一番不同的感觉。 云下机房监控内容较多,上到应用业务处理情况,下到风扇转速等都纳入监控, 1、基础资源监控 所谓基础资源大致分为这几种,物理机(ILO层的SNMP)、网络设备(交换机、波分、无线等)、安全设备(AD
2021-12-07T09:29:00Z
2021-12-07T09:29:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】最近接近一年都在做云下机房及相关业务的监控,略有感触,写下来记录一下,多年后再看也许有一番不同的感觉。 云下机房监控内容较多,上到应用业务处理情况,下到风扇转速等都纳入监控, 1、基础资源监控 所谓基础资源大致分为这几种,物理机(ILO层的SNMP)、网络设备(交换机、波分、无线等)、安全设备(AD <a href="https://www.cnblogs.com/yidiandhappy/p/15657233.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/14059771.html
01 02 03 文件(转载) - 每天进步一丶
一、01、03文件 TA文件名称 文件名 文件含义01 文件 账户申请文件02 文件 账户确认文件03 文件 交易申请文件04 文件 交易确认文件05 文件 基金账户对账文件06 文件 基金分红文件07 文件 基金行情文件08 文件 基金公告文件09 文件 红利汇总文件10 文件 日交割汇总文件11
2020-11-30T02:05:00Z
2020-11-30T02:05:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】一、01、03文件 TA文件名称 文件名 文件含义01 文件 账户申请文件02 文件 账户确认文件03 文件 交易申请文件04 文件 交易确认文件05 文件 基金账户对账文件06 文件 基金分红文件07 文件 基金行情文件08 文件 基金公告文件09 文件 红利汇总文件10 文件 日交割汇总文件11 <a href="https://www.cnblogs.com/yidiandhappy/p/14059771.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/13957200.html
SpringBoot 1.4.x 1.x + Prometheus + Granfan 监控体系搭建 - 每天进步一丶
SpringBoot 2.x 与 Prometheus、Granfan的结合非常多,数据也都比较充分,但是1.x的比较少,granfan的样式也比较少,我总结一下。 prometheus 和 granfan的搭建都比较简单,下载、解压缩,启动就可以,主要说一下,在SpringBoot1.x中的代码端
2020-11-11T01:59:00Z
2020-11-11T01:59:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】SpringBoot 2.x 与 Prometheus、Granfan的结合非常多,数据也都比较充分,但是1.x的比较少,granfan的样式也比较少,我总结一下。 prometheus 和 granfan的搭建都比较简单,下载、解压缩,启动就可以,主要说一下,在SpringBoot1.x中的代码端 <a href="https://www.cnblogs.com/yidiandhappy/p/13957200.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/13917786.html
Rancher中删除k8s节点数据,还原机器用于重新安装 - 每天进步一丶
在测试环境中,我们一般都会使用单节点docker 部署rancher节点,然后再用rancher 节点开辟一个k8s集群,但是我们安装的时候总会出现各种奇怪的问题,导致k8s的某个节点出现问题,比如你修改了节点的的容器配置,类似docker 对某一个harbor地址支持http访问,这是可能就需要重
2020-11-03T01:38:00Z
2020-11-03T01:38:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】在测试环境中,我们一般都会使用单节点docker 部署rancher节点,然后再用rancher 节点开辟一个k8s集群,但是我们安装的时候总会出现各种奇怪的问题,导致k8s的某个节点出现问题,比如你修改了节点的的容器配置,类似docker 对某一个harbor地址支持http访问,这是可能就需要重 <a href="https://www.cnblogs.com/yidiandhappy/p/13917786.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/13917680.html
k8s、pod中的应用获取宿主机IP、PODIP等信息 - 每天进步一丶
容器化趋势已势不可挡,但是在迁移过程中会遇到很多的问题,典型的就是 在迁移过程中不可能将全部的服务一次性的迁移至k8s集群中,一般都会逐步的迁移,这种时候http的服务无所谓,但是遇到rpc的就比较麻烦,我们需要将一部分服务放在集群内,一部分服务放在集群外,这时就需要将注册中心放在k8s的集群外,可
2020-11-03T01:13:00Z
2020-11-03T01:13:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】容器化趋势已势不可挡,但是在迁移过程中会遇到很多的问题,典型的就是 在迁移过程中不可能将全部的服务一次性的迁移至k8s集群中,一般都会逐步的迁移,这种时候http的服务无所谓,但是遇到rpc的就比较麻烦,我们需要将一部分服务放在集群内,一部分服务放在集群外,这时就需要将注册中心放在k8s的集群外,可 <a href="https://www.cnblogs.com/yidiandhappy/p/13917680.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/13291737.html
分布式锁实现 - 每天进步一丶
为什么要有分布式锁 正如上一篇说到的,在集群环境下,你在写业务代码时很有可能需要保证某一个变量的安全,这是单靠juc中的工具类已经不够了,因为不是同一个内存,物理机是隔绝的,这时候怎么办?需要使用分布式锁,通过redis、zookeeper或者数据库等共享的存储作为锁相关存放的空间。 分布式锁需要满
2020-07-13T01:59:00Z
2020-07-13T01:59:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】为什么要有分布式锁 正如上一篇说到的,在集群环境下,你在写业务代码时很有可能需要保证某一个变量的安全,这是单靠juc中的工具类已经不够了,因为不是同一个内存,物理机是隔绝的,这时候怎么办?需要使用分布式锁,通过redis、zookeeper或者数据库等共享的存储作为锁相关存放的空间。 分布式锁需要满 <a href="https://www.cnblogs.com/yidiandhappy/p/13291737.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/13289522.html
线程安全 - 每天进步一丶
再写一个关于线程安全的,很多人都喜欢讨论多线程怎么使用,什么AQS、CAS、对象监视。但是如果线程安全的基本定义没有完全搞清楚的话,多线程用起来还是有点儿可怕的。 什么是线程安全 官方一点儿的说法,多个线程要同时修改一个变量时,要保证一个变量的原子性、可见性、有序性。其实说白了就是,多个线程修改,你
2020-07-12T11:31:00Z
2020-07-12T11:31:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】再写一个关于线程安全的,很多人都喜欢讨论多线程怎么使用,什么AQS、CAS、对象监视。但是如果线程安全的基本定义没有完全搞清楚的话,多线程用起来还是有点儿可怕的。 什么是线程安全 官方一点儿的说法,多个线程要同时修改一个变量时,要保证一个变量的原子性、可见性、有序性。其实说白了就是,多个线程修改,你 <a href="https://www.cnblogs.com/yidiandhappy/p/13289522.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/13285787.html
线程池的参数 - 每天进步一丶
这个东西都已经烂大街了啊,但是我还是想写一下。其实很简单,直接看源码就行。 打开ThreadPoolExecutor.java,搜索他的构造方法,一共看到4个。我们直接看参数最多的一个 /** * Creates a new {@code ThreadPoolExecutor} with the g
2020-07-11T14:14:00Z
2020-07-11T14:14:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】这个东西都已经烂大街了啊,但是我还是想写一下。其实很简单,直接看源码就行。 打开ThreadPoolExecutor.java,搜索他的构造方法,一共看到4个。我们直接看参数最多的一个 /** * Creates a new {@code ThreadPoolExecutor} with the g <a href="https://www.cnblogs.com/yidiandhappy/p/13285787.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/12598187.html
论 设计模式及项目架构的作用 - 每天进步一丶
在公司技术架构部呆了快两年了,做了一些中间件,也做了很多项目的重构、技术升级或者code reviewe等工作,对项目的架构设计、技术运用有了一点儿的感悟,写一下算抛砖引玉。 所有的技术的出现都是为了满足业务的需要,这是基础,在基础之上有了我们需要的合理的项目、架构、模式设计。这是为了节约成本,成本
2020-04-15T14:43:00Z
2020-04-15T14:43:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】在公司技术架构部呆了快两年了,做了一些中间件,也做了很多项目的重构、技术升级或者code reviewe等工作,对项目的架构设计、技术运用有了一点儿的感悟,写一下算抛砖引玉。 所有的技术的出现都是为了满足业务的需要,这是基础,在基础之上有了我们需要的合理的项目、架构、模式设计。这是为了节约成本,成本 <a href="https://www.cnblogs.com/yidiandhappy/p/12598187.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/12091270.html
Linux根据进程号查找其程序文件路径 及 lsof 命令使用 - 每天进步一丶
查找进程文件路径 lsof -p pid 1.列出所有打开的文件: lsof 备注: 如果不加任何参数,就会打开所有被打开的文件,建议加上一下参数来具体定位 2. 查看谁正在使用某个文件 lsof /filepath/file 3.递归查看某个目录的文件信息 lsof +D /filepath/fi
2019-12-24T06:20:00Z
2019-12-24T06:20:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】查找进程文件路径 lsof -p pid 1.列出所有打开的文件: lsof 备注: 如果不加任何参数,就会打开所有被打开的文件,建议加上一下参数来具体定位 2. 查看谁正在使用某个文件 lsof /filepath/file 3.递归查看某个目录的文件信息 lsof +D /filepath/fi <a href="https://www.cnblogs.com/yidiandhappy/p/12091270.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/11968859.html
Synchronized 原理 - 每天进步一丶
1.同步代码块: 反编译结果: monitorenter : 每个对象有一个监视器锁(monitor)。当monitor被占用时就会处于锁定状态,线程执行monitorenter指令时尝试获取monitor的所有权,过程如下: 1、如果monitor的进入数为0,则该线程进入monitor,然后将进
2019-12-02T01:29:00Z
2019-12-02T01:29:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】1.同步代码块: 反编译结果: monitorenter : 每个对象有一个监视器锁(monitor)。当monitor被占用时就会处于锁定状态,线程执行monitorenter指令时尝试获取monitor的所有权,过程如下: 1、如果monitor的进入数为0,则该线程进入monitor,然后将进 <a href="https://www.cnblogs.com/yidiandhappy/p/11968859.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/11690558.html
Seata 中类SPI使用机制分析 - 每天进步一丶
Seata中采用了与sofa-rpc和dubbo中相同的服务扩展机制。都是基于JAVA自身的服务发现机制-SPI进行再次封装注解,sofa-rpc和dubbo(@Deprecated)中的注解名字叫做@Extension,Seata中叫做@LoadLevel。 JAVA的SPI是什么 全称为 Ser
2019-10-17T02:42:00Z
2019-10-17T02:42:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】Seata中采用了与sofa-rpc和dubbo中相同的服务扩展机制。都是基于JAVA自身的服务发现机制-SPI进行再次封装注解,sofa-rpc和dubbo(@Deprecated)中的注解名字叫做@Extension,Seata中叫做@LoadLevel。 JAVA的SPI是什么 全称为 Ser <a href="https://www.cnblogs.com/yidiandhappy/p/11690558.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/11381220.html
redisson spring boot starter 做分布式锁 - 每天进步一丶
使用redisson做分布式锁 分布式锁 在java中单体应用中,我们如果想要保证一个接口或者服务、方法当下只有一个线程在运行,我们可以通过JDK提供的Lock、Semaphore、同步锁等多种方式实现只有一个线程在运行。 在微服务系统中,我们的单体应用会变成多个节点,只靠JDK本身的锁只能控制一个
2019-08-20T01:53:00Z
2019-08-20T01:53:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】使用redisson做分布式锁 分布式锁 在java中单体应用中,我们如果想要保证一个接口或者服务、方法当下只有一个线程在运行,我们可以通过JDK提供的Lock、Semaphore、同步锁等多种方式实现只有一个线程在运行。 在微服务系统中,我们的单体应用会变成多个节点,只靠JDK本身的锁只能控制一个 <a href="https://www.cnblogs.com/yidiandhappy/p/11381220.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/11233703.html
TTFB 时间过长 - 每天进步一丶
记录一个问题吧。 新上线的应用,第一次上线部署了两个节点,通过DMZ的NGINX映射出去的。 上线之后,第三天突然发现访问很慢,有50%的几率保持在7秒左右,通过日志平台观察代码处理时间在40ms左右。 打开F12,发现TTFB时间消耗了6秒。猜测nginx配置有问题,可是nginx配置是我们写好发
2019-07-23T10:43:00Z
2019-07-23T10:43:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】记录一个问题吧。 新上线的应用,第一次上线部署了两个节点,通过DMZ的NGINX映射出去的。 上线之后,第三天突然发现访问很慢,有50%的几率保持在7秒左右,通过日志平台观察代码处理时间在40ms左右。 打开F12,发现TTFB时间消耗了6秒。猜测nginx配置有问题,可是nginx配置是我们写好发 <a href="https://www.cnblogs.com/yidiandhappy/p/11233703.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/11172652.html
ShardingSphere Hint模式 SpringBoot + Mybatis - 每天进步一丶
ShardingSphere Hint模式不需要对sql进行解析,就可以进行数据库或者表的路由。下面贴一下代码,关于SpringBoot + Mybatis + ShardingSphere怎样结合。 配置文件,注意是DataSources 多了个s 启动类,排除了DataSourceAutoCon
2019-07-11T12:49:00Z
2019-07-11T12:49:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】ShardingSphere Hint模式不需要对sql进行解析,就可以进行数据库或者表的路由。下面贴一下代码,关于SpringBoot + Mybatis + ShardingSphere怎样结合。 配置文件,注意是DataSources 多了个s 启动类,排除了DataSourceAutoCon <a href="https://www.cnblogs.com/yidiandhappy/p/11172652.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/11133561.html
高并发限流策略 - 每天进步一丶
https://blog.csdn.net/g_hongjin/article/details/51649246 令牌桶算法 令牌桶算法是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌。令牌桶算法的描述如下: 假设限制2r/s,则按照500毫秒的固定速率往桶中添加令牌; 桶中最多存放b个令牌,
2019-07-04T09:08:00Z
2019-07-04T09:08:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】https://blog.csdn.net/g_hongjin/article/details/51649246 令牌桶算法 令牌桶算法是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌。令牌桶算法的描述如下: 假设限制2r/s,则按照500毫秒的固定速率往桶中添加令牌; 桶中最多存放b个令牌, <a href="https://www.cnblogs.com/yidiandhappy/p/11133561.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/11102905.html
JDK1.8源码分析:Future和FutureTask-任务异步执行结果 - 每天进步一丶
https://blog.csdn.net/u010013573/article/details/87435850
2019-06-28T07:27:00Z
2019-06-28T07:27:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】https://blog.csdn.net/u010013573/article/details/87435850 <a href="https://www.cnblogs.com/yidiandhappy/p/11102905.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/11076728.html
nginx 转发 header 数据丢失 - 每天进步一丶
刚帮同事解决了个问题,记录一下,现象:放在header里面的数据,本地后台可以收到,集成可以收到,测试不行, 查看代码没问题,排除代码问题,比较集成和测试环境有何不同,发现集成环境是局域网访问,192.168.*.*。 测试环境通过了域名访问,即通过了NGINX。 总结:nginx在转发请求时会自动
2019-06-24T06:09:00Z
2019-06-24T06:09:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】刚帮同事解决了个问题,记录一下,现象:放在header里面的数据,本地后台可以收到,集成可以收到,测试不行, 查看代码没问题,排除代码问题,比较集成和测试环境有何不同,发现集成环境是局域网访问,192.168.*.*。 测试环境通过了域名访问,即通过了NGINX。 总结:nginx在转发请求时会自动 <a href="https://www.cnblogs.com/yidiandhappy/p/11076728.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/10981243.html
zookpeer 和 redis 集群内一致性协议 及 选举 对比 - 每天进步一丶
zookeeper 使用的是zab协议,类似 raft 的 Strong Leader 模式 redis 的哨兵 在 崩溃选举的时候采用的是 raft的那一套term。 因为redis 采用的是异步数据副本的节点同步方式,所以在做分布式锁的时候可能会存在 setNx之后,没有同步到从节点,主节点崩溃
2019-06-05T10:27:00Z
2019-06-05T10:27:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
【摘要】zookeeper 使用的是zab协议,类似 raft 的 Strong Leader 模式 redis 的哨兵 在 崩溃选举的时候采用的是 raft的那一套term。 因为redis 采用的是异步数据副本的节点同步方式,所以在做分布式锁的时候可能会存在 setNx之后,没有同步到从节点,主节点崩溃 <a href="https://www.cnblogs.com/yidiandhappy/p/10981243.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/yidiandhappy/p/10978091.html
分布式系统中的相关协议 - 每天进步一丶
该文被密码保护。
2019-06-05T02:18:00Z
2019-06-05T02:18:00Z
每天进步一丶
https://www.cnblogs.com/yidiandhappy/
该文被密码保护。