网易工作总结


业务开发


刚去不久,做了一个 查询房间历史成员信息,搜了一下,提要求的客户是做境外视频聊天的, 按时长计费,ta们那边会记下来,需要云信平台也提供一个接口,用来对账…

查询房间历史成员信息


差不多半年后,做了一个针对PSTN(Public Switched Telephone Network)的安全通送检功能。安全通是云信和易盾合二为一的产品,对音视频业务中的涉黄涉政问题进行监控。云信调用易盾接口,之后会给回调。如果x秒内违规y次,云信会下发打码/禁言等操作

安全通概述


性能优化


业务中有大量的性能问题(此前连pprof可能都没抓过..),终于日积月累成了xx,中秋放假当天晚上7点,机器被打挂。。

之后我调研了保存事故现场的一些方案,起初打算整合Holmes,代码量不大,但后面发现杭研提供的哨兵系统(用于监控&告警),可以监控到指标超出阈值,发出告警的同时,在那台机器上执行一段脚本。于是可以直接curl pprof,而后拉到本地进行分析

一次性能优化实战

性能分析工具

最后定位到是大Response的Json序列化问题(之前另一个服务出现过大日志的序列化问题)。调研了字节的sonic,同时也和下游业务沟通改了一些实现,最后成功优化。

Go 高性能json库比较


另外年初还做过一个配置下发2.0。

简而言之方案是把原来写死的内容,打散存放,每次根据条件去判断和拼接。


完善开发流程和基础设施


作为一家to b的PaSS,开发流程和代码管理的比较没有章法….甚至刚来时还会有竞态问题

和同事们一道完善了gitlab的pipeline,增加了lint和ut,提高了code review的重要性。..

Gitlab Pipeline

在Gitlab Pipeline中集成进ut覆盖率和测试报告

Go静态代码检查工具GolangCI-Lint

gitlab-runner的安装与配置


限流:

接口请求频率
默认上限为 50 次/秒,若请求频率超出限制,可能会返回 429 错误码。
若您需要上调上限,请参考如何处理调用服务端 RESTful API 超出频率限制。

常见的几种限流算法

Sentinel限流框架的使用


云主机迁移容器等偏运维相关


除了oncall,还做了好多运维的事

之前的服务都在云主机,后面推行容器化(竟然现在才推行。。),开发、测试环境全量迁移。但prod环境,需要有段时间云之际和pod共存,防止pod出问题。

用的是consul,以及weibo开源的一套xxxxx