1、容器化的落地实践
搜题APP的云上之旅
相信大家都或多或少用过或听过某帮,反正笔者在高中经常使用某帮。确实十分好用,上了大学也经常在用hhhh,答案齐全,查询速度快!在学习云原生的时候,我才发现原来云原生使得项目落地的方案离我们这么近,作业帮就是一个很好的例子。
某帮大家第一想到的业务场景需求肯定是:海量业务、海量的高并发、并且需要极低的延迟来提供广大学生的搜题等其他服务。
某帮累积的激活用户已经超过8亿,并且随着疫情的突发,某帮的系统和基础的平台架构已经无法满足快速增长的各种业务需求和场景。业务对快速发布、调用链追踪、监控日志平台、计算资源利用率等等的各种提升肯定是十分急切的。
经过沟通,腾讯云决定将某帮的核心业务迁移到腾讯云容器服务TKE。但是在这个过程中,遇到了许多技术难题:
- 1、原业务大规模使用Kubernetes原生的负载均衡和服务发现,但Kubernetes在分散的流量调度架构上存在天然的瓶颈,容易导致业务负载严重不均衡。
- 2、原业务对服务间时延依赖,部分业务连接超时时间设置为5毫秒,所以无法承担细微系统调度和
网络波动,如果一旦在未经优化的内核和网络下,容易引起业务大面积超时。服务间访问会带来巨大的DNS并发,极易触发主机的QOS限速和引起主机的conntrack冲突。
那么腾讯云是如何解决的呢?
- 1、解决IPVS模式高并发场景下连接复用引发连接异常(对应issue:https://github.com/kubernetes/kubernetes/issues/81775,内核补丁已被Linux社区接受);在高配节点(核数多)下IPVS规则