基于 Netty 实现的 Gateway 遇到的问题总结

作者/分享人:蓬蒿
向 Ta 提问
杭州信息安全院安全研发部负责人(2013 - 2016),负责Web网站安全监测服务平台( Web 漏洞、敏感词、挂马、暗链等)的架构、设计与实现,熟悉常见 Web 漏洞的基本原理与渗透方式。现担任中国互联网最大财税平台的架构师,负责业务安全开发、安全体系建设、业务风控、API Gateway 等工作,熟悉常见 Dubbo 、HSF、Spring Cloud 等分布式服务架构设计与与实现。

API Gateway 初期业务访问的峰值从 10万/min 上升至 12万/min,导致网关出现“too many open files”错误,即打开最大文件句柄数超过最大值。经过排查发现 Jupiter 网关出现该错误时设置的句柄数值为 65535,运维尝试将具柄数值设置为 655350。

网关服务在修改完句柄数之后重启 Java 进程,某几台网关服务在重启后具柄数值快速上升至 20 万。由于单台机器服务实例打开的句柄数过多占据了大量物理内存,导致 JVM 进程被 Linux 系统给 OOM Killer。

本场 Chat 将分享该线上问题完整的排查过程:

  1. Netty 服务假死排查过程;
  2. 分析并解决 Netty4 的 IO 处理线程池遇到耗时业务容易把后端的 NIO 线程挂死的问题。
已有112人预订
预订达标
文章出炉
     
02月15日
03月04日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张蓬蒿的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
你可能还喜欢
JVM 问题诊断快速入门
火币集团研发中心
面试字节跳动的一点小经验
Wayne
互联网公司热门面试题:如何保证缓存与数据库的双写一致性?
魏武归心2016
面试官问:为什么在项目中使用消息队列!到底是想考什么?
零下
小程序 · 云开发实战:从 0 到 1 快速开发电商小程序
微信极客WeGeek
如何做好性能压测(二) | 性能压测工具选型对比
阿里巴巴中间件
10 个最高频的 Java NIO 面试题剖析!
Dolphin
恕我直言,90% 的程序员都扛不住这波 MQ 的面试四连炮!
王码农
大白话聊聊面试中常被问到的分布式事务
不解释 家狗师
实战:基于 RocketMQ 的电商高并发秒杀场景
RocketMQ
手把手教你撸一个代码生成器
JohnDeng
详解用 Python 访问金融交易数据的方法
元宵大师
业余赚钱实战
追梦1819
50 道常用面试题让你在求职中脱颖而出
Kings
让 Elasticsearch 飞起来——性能优化实践干货
穿着西装敲代码
微信扫描登录
关注提示×
扫码关注公众号,获得 Chat 最新进展通知!
入群与作者交流×
扫码后回复关键字 入群
Chat·作者交流群
入群码
该二维码永久有效