又又又生产一个线上问题,并解决,为居家办公增加kpi

简介: 居家办公如何体现产出,来学学吧。

背景

因公司有服务被恶意请求攻击导致服务瘫痪,为此要接入腾讯云的waf 功能,为核心接口进行保护,防止恶意频繁的访问导致服务无法正常提供服务(心想,这不是应该团队自己实现的吗?不管了,一算一年也不到2k,反正是公司出钱,加就完事儿了)

reqeust流程

解释下现有公司服务流程,当然是简化版的,为了描述此次问题,实际架构还是听负载的。

image.png

image.png

正式修改

本地修改hosts 后,测了各个域名下,比较核心的接口,都能正常访问,约定了尽快切1/2的流量到CLB 服务上。因为运维周末加班,运维兄弟是真苦啊,同时试用期的我想表现下,在周日运维兄弟找到我要切流量的时候,信誓旦旦的回话说可以,并关注线上业务是否有问题。

出事儿了

周日晚上还在打lol的我,被反馈说,登录功能有问题,我慌了。手足无措,因为就是一个请求的路径上加了一台代理服务器转发请求而已,怎么能影响到业务呢?也没有及时停止解析,无法登录的问题还在继续,没办法,就先停了CLB的解析,好了,能登录了。我一定要知道到底是为啥不能登录。

从sls 上搜索到的无法登录的用户日志,返回的结果显示是session不正确。项目比较久远了,解释下登录流程;

image.png

分析问题

从表层的代码来看,session是没有做共享的,想着觉得可能是clb 服务器接入后导致请求没有打入到同一台机器,运维也提供nginx上设置了iphash能让同一个client ip的请求继续请求到同一台服务。接着搜了成功功登录的日志,发现同一个用户调用接口1 ,2,3 打到的服务并不是同一台,刚升起的希望之火又灭了。好好康康代码,代码中有一套业务实现的存储session的逻辑,可登录并没有用,很茫然。已经是半夜1点了,看到有说tomcat 配置可以进行session 共享的案例,就给运维同学留言看下配置,以为找到了答案暂时休息了。

第二天运维反馈服务是jar包部署,没有tomcat配置,我恍然spring boot项目,咋可能部署在tomcat里呢。运维同学又反馈说,因为服务是k8s的,导致nginx 的iphash是不生效的,服务端是有做session共享的。继续搜索session共享的案例,结果找到了spring session 这个成熟的框架,一看我们服务也确实在用,那这个session 失效就无法解释了啊。

发现华点

因为只有安卓设备如此,居家办公手边的华为摔坏了,无法进行抓包验证。捅咕了好半天虚拟机,后抓包发现,在配置了clb 解析的两次接口连续请求connection是变化的,如图

image.png

image.png

而不加clb解析成功登录的连续请求connection 则是不变的

image.png

image.png

这也就是说连续的两个请求不是使用的同一个connection 导致获取不到session 中的内容,导致请求中断了。

完美谢幕

运维又反馈,clb中配置的负载均衡规则是加权轮询,这导致同一个client 可能经过clb后被分发到不同的nginx ,后端服务自然不能保证第二个接口拿到上一次请求生成的session,找到腾讯云的客服咨询了下,看了官方文档,确实如此,在修改clb 的负载均衡规则后,本地测试登录功能已经ok,了了一桩心事。

总结

此次问题出现原因,一是对接入功能的掉以轻心,导致没有对完全的流程进行测试,不过项目接口实在过于多且功能不一,也无法一一走全。二就是经验还是稍有欠缺,对request从客户端到服务端的流程有欠缺。不过这次也学到了很多东西,负载均衡策略,session共享实现方案,尤其是srping session 加个注解就能实现共享,框架真是解放双手啊。

大家加油!!!!

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
5月前
|
JavaScript
点晴ERP生产管理系统,提升模切生产效率的利器
随着信息化时代的到来,企业管理的效率和水平对于模切企业的发展来说至关重要。而点晴模切ERP针对模切企业管理痛点,为模切企业专门研发一整套的信息化解决方案。
35 0
|
5月前
|
传感器 监控 数据可视化
万界星空MES安灯管理:优化生产监控的重要工具
MES安灯管理是一种基于物理安灯和数字化管理的生产异常管理工具。它通过物理安灯和数字化系统的结合,实现对生产异常的实时监控和及时反馈,从而帮助企业快速响应和解决生产异常,提高生产效率和产品质量。
130 0
万界星空MES安灯管理:优化生产监控的重要工具
|
8月前
|
数据采集 存储 监控
汽车产线生产管控实操
通过阿里云工业物联生产管控平台,快速实现产线设备数据采集、存储、组态交付、反馈控制和指标定义及工艺优化。
158 0
|
供应链 数据库
【氚云】生产成本降低12%,在线进销存盘活商贸企业
生产成本降低12%,在线进销存盘活商贸企业
340 0
【氚云】生产成本降低12%,在线进销存盘活商贸企业
|
移动开发 小程序 算法
线上流量越发昂贵,如何通过裂变营销实现业务增长?
公域流量流量越来越聚集于头部的媒体同时投放的费用越来越高。如:在游戏电商或金融行业,在广告投放拉新方面成本达到了100元左右。除了头部媒体的流量以外,在中长尾的流量上,这部分虽然成本低,但转化效果却很差。
线上流量越发昂贵,如何通过裂变营销实现业务增长?
|
新零售 存储 安全
盒马门店的数字化管理,让数据高效运转是关键
如何保证全国各门店的信息实时同步?如何进行业务数据的实时自动分析?门店与总部的权限应该怎样分配把控……盒马选择的方式是借助阿里自研的低代码平台——宜搭,通过可视化拖拽快速搭建了“盒马鲜生安全管理平台”,用线上化、标准化管理的方式,扛起了盒马安全管理的重任。
6116 0
盒马门店的数字化管理,让数据高效运转是关键
|
机器人 新制造
制造业的老板注意了!提高办公效率和服务水平它必不可少
目前基础建设在我们国家占有重要位置,任何城市的发展,都离不开基础建设,在数智化的浪潮中,如何利用新技术推动数字化转型升级成为制造业时下关注的焦点。智能制造正在成为当下制造企业的核心竞争力。