- 博客(6)
- 收藏
- 关注
原创 多生产者单消费者: 一次即兴的go语言简单基础组件构思和研发
背景:开发业务代码,需要获取企业所有部门内所有的人员。需要调用A接口(获取企业内所有部门id)先获取所有部门,然后遍历所有获取到部门id调用B接口(通过部门id获取该部门下的人员). 通过api调用后放入数据库构成 人员表.问题:线上环境调用A接口后获取的部门列表有10w个部门,则需要调用10w次B接口. 获取时间巨慢.解决想法:无疑便是萌发一次多生产者单消费者模型的公共组件的研发...
2020-01-09 13:25:18 247
原创 一个困扰多日的python django uwsgi内存泄露排查
原始贴: https://www.v2ex.com/t/543252背景: 参考原始贴。简单就是一个随着业务量增长内存溢出逐渐明显的程序问题。技术栈: uwsgi + mysql + redis + python3心历路程:实际上并不顺利,当你尝试使用方法却没找到时,会各种对自己思想猜疑甚至对官方文档的猜疑,最后找到问题后当然发现实际上很简单。 然后找到结果后对结果的逐步反推解决,才最终确定...
2019-12-26 23:03:40 2863 2
原创 leetcode container-with-most-water 最多水容器,详细完整数学证明
原题: https://leetcode.com/problems/container-with-most-water/阅读solution和一些搜索出来的文章,但是都不是很清晰甚至缺漏的数学证明,在此提供一种完整的证明方式.解题过程: 从数组两端的边开始,逐渐移动较短的一边往中间靠近,计算其所有每次移动产生的新面积,取其最大值则为题解。关键疑问: 相对于暴力破解这种O(n2) 的解法,为...
2019-11-30 15:04:18 278
原创 filebeat 关键逻辑分析
版本6.8.1背景: filebeat工作机制从使用上便是定期检测文件状态,然后上报。但是对于这种看似简单的工作模式却依旧有大量设计思想可以借鉴。关键逻辑入口: 定时启动扫描协程。可见按照配置文件config.ScanFrequency配置的时间间隔进行扫描2.其次在定期扫描协程内获取文件的最新数据和该文件历史数据想对比,判断是否需要采集该文件3.对每个文件开单独的协程进行采集,...
2019-09-17 19:17:07 355
原创 mysql 查询大端结构整数
背景: 为了节省数据库空间, md5可以通过binary(16)结构最小化存储.问题: 那这样手动查询时候遇到麻烦. 例如需要查询97ABCF15D7308E6EAA0A0F0FD7990277 这个md5关键: mysql以小端结构解析整数, 而python脚本入库时候是大端结构;where md5=reverse(unhex(97ABCF15D7308E6EAA0A0F0FD79902...
2019-02-18 14:53:45 139
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人