项目/工作
-
OTP上下游服务梳理
背景:One-time passward,作为公司内部系统中双重因素认证的关键部分,承担着内部身份鉴权功能。该服务的上下游服务已经不再有准确文档。为后续业务的开展,需要在不影响正常线上服务的前提下,对该服务调用的其他服务、调用该服务的服务进行统计。
工作过程:初始思路是从公司内部的平台入手,例如查看服务打点记录,而OTP服务暂未接入,且出于安全原因无法接触代码;然后考虑服务器的访问日志,OTP服务通过Nginx进行转发,因此查看了线上访问日志,采样后发现访问IP是公司的Nginx负载均衡集群;最终从公司的Nginx Access log中获取到了访问OTP服务和被OTP服务访问的IP地址。为简化重复步骤编写了脚本来处理重复统计的过程。
工作结果:整理了服务的上下游依赖关系,为运营同学后续业务的维护和迭代提供了参考。
-
平台API整理
背景:为了后续维护和开发的效率,同时提升平台的工作效能,小组内准备将升级平台。平台对外提供多个接口,为了解平台对外暴露的Url接口情况,同时为后续升级作参考,需要统计扫描平台目前的对外API。
工作过程:参考静态扫描功能,用脚本对项目的代码扫描。实际为用脚本统计一个文件夹下的所有文件内,以特定格式存在的字符串,考虑到一些边界条件(如注解的参数可能换行、注解可能有若干方法)后,可以完整扫描出API。同时方便查看,按照文件分段,按照Markdown表格格式输出。
反思:对外API的统计,也可以参考工作1中统计访问日志的方法,可以引入访问频次信息,但也可能因为统计时间范围的原因漏统计一些信息。
-
Url去重效果评估
背景:平台将Url作为资产,需要对被外部访问过的Url进行扫扫描,但是外部访问的Url量级过大,需要进行去重后再使用。因为对去重的方法进行了修改,需要对比改进后的算法去重效果。
工作过程:
1. 根据已有的算法去重思路,编写简化但实现不同的去重脚本,主要思路是用请求的Method + 省略参数值和替换路径参数后的Url作为标识符。
2. 线下对比:在算法同学去重的方式之外,根据简化版的Url去重脚本,拉取某日的数据作为对比,根据编写的去重算法分别给出原始算法、改进算法的差集,以及算法漏过滤的情况。 3. 定时检查:为方便算法同学后续迭代,将对比过程从线下手动拉取数据对比转移到线上,通过定时执行ETL任务的方式,将补充的Url存入Hive表中。
工作结果:
- 形成两次Url去重评估的文档;
- 部署Hive2Hive定时任务。
最终结果是形成定时更新的补充记录表,供算法同学迭代使用。
-
代码规范回顾
背景:项目组提升代码质量,需要对现有的代码根据代码规范进行检查,根据Idea中阿里java代码规范插件的输出,统计存在的问题。
形成文档,供后续开发和代码规范化参考。
-
常规开发工作
按照分配到的需求,完成日常开发,主要有:
- PLUS优化-V2
- Mafka消费报警
项目/工作中收获
编码能力
- 进一步熟悉Java语言在实际工程中的使用,包括如何合理利用公司搭建的平台(Mafka等)跟踪代码的实际运行状况;
- 学习了大数据平台Hive 的基本使用方法,尝试构建了千万级别数据的处理过程;
- 首次尝试用Python处理亿条级别、GB量级以上的纯文本数据,并且在完成工作的同时锻炼了Python开发技巧,提升开发效率;
- 更加深入地了解和使用版本控制工具Git和依赖管理工具Maven。