专栏首页Coder的技术之路被无情限流一天后有感

被无情限流一天后有感

抛开互联网圈子,这几年和公众相关的app最出名的应该算是12306,从一用就崩到顺滑的支持每次节假日出行订票洪峰,逆袭的非常成功。当前它的成功也离不开四方支援,据我了解,起码前端的交互优化应该有蚂蚁同学的影子。

然而,前两天另一个APP引起了我的注意:个税app。因为今天是3月1号申报入口开放了,抱着是否能薅点的想法,却被无情的限流了一整天!

为什么给我限流了

服务器扛不住了。为啥会扛不住?

就个人理解,我们的收入和缴税情况,都是在每个月之后就上报给了个税APP,所以访问的的都是本地数据,而个税申报的操作98%都属于读操作,就算是同一天需要接受所有安装了这个APP的人民的检阅,搞一套弹性架构,也应该比较好应对才对。

唯一可以解释的,我想可能就是数据比较敏感,不能随便使用第三方的云服务器,只能部署在小型机搭建的集群上,因此服务弹性能力被限制,无法应对第一天民众高涨的情绪。

举个例子,去香山的公路是3车道,平日历绰绰有余,但是到了10月金秋,就根本不够了,因为五湖四海的人们都跑来薅红叶。怎么办,难道为了这一个月畅通,就把3车道拓宽到10车道?显然是不合适的,太浪费资源了,一年中的其他11个月份完全用不着。所以,要是不嫌人多,那就多排排队;不然就晚上趁没人的时候偷偷来。

个税APP明显就是这个情况,3月1号设路卡把我卡了,我是理解的,大不了等过两天人少的时候再来。但是,有时候提示系统繁忙,有时候提示访问人数过多,那可就是路卡设置的不专业了。

为什么会提示不一样,我猜是有时候入口把我放过了,但是内部又提供不了服务,所以提示了系统繁忙。

怎么做好限流

从方式上分,可大致分为单机限流和分布式限流。

单机限流比较好实现,很多文章对限流算法进行了详细阐述,漏斗、令牌桶等等,但是单机限流是有问题的,因为在分布式部署下,即使单机作为均衡,但是打到底层存储上也有可能是超量的;反过来,由于流量分配不一定严格均衡,有可能出现有的机器承担更多的流量,在整体并发还没有到达峰值时就发生限流。所以,集群限流在很多场景下是必要的。

那集群限流应该怎么做,简单来说,就是让入口流量都统一打到一个地方,再进行统一分配。这么做的好处是可以精准的控制整体调用量,达到流量控制的目的。

常见的集群限流的方式,有redis+lua 或依赖第三方限流中间件,如sentinel。

又到了知识总结的环节,请看下文。

什么是高并发

多大的QPS就算高并发了,1w ? 10w ? 其实不能一概而论,一个是支某宝国民级应用,一个是小公司商业广告,支某宝倒是用户量大,几百台机器一怼,平均下来也就几十个并发;小公司呢,4台机器抗整个小公司商业广告计费,那到底哪个算高,是不是,对不对。

所以,单论数值不足以衡量并发问题,之前看过一个观点说的很好,所谓高并发,是我们在业务发展过程中需要用到高并发的意识去架构我们的系统,用编码和设计去预防和解决并发引起的问题,而不是单纯的升级硬件和水平扩服务器。

从现象谈应对

常见的应对高并发问题的策略有哪些呢,见下图:

(内容整理自https://xie.infoq.cn/article/20c3ad1736d027615b12d6b20)

高并发的场景是各有不同的,离开业务场景的架构设计都是徒劳。好在理论是相通的,起码可以在遇到问题的时候给我们一个下手的方向。

本文分享自微信公众号 - Coder的技术之路(gh_1b3189982966),作者:Coder的技术之路

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-03-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Science采访多位国外专家:无症状感染者能否传播病毒,是控制疫情关键

    由于中外的通力合作,新型冠状病毒被有效地控制在国内。国外媒体和学者对此事高度关心。

    量子位
  • OpenAI联合创始人:AI的极限?我真的不知道!

    1901年,天文学家、数学家Simon Newcomb表示,人类不可能造出比空气更轻的飞机。1908年,莱特兄弟的飞机试飞成功。

    大数据文摘
  • 听完李笑来的录音,我竟然学到了什么?

    纯洁的微笑
  • 全球科学家争相预测,尚未出现的疫情拐点,最好和最坏的情况分别是什么?

    昨天,疫情数据有了新的好消息:新增治愈出院病例首次超过新增确诊病例。这意味着“出”的开始比“进”的多了,也代表着医院床位的紧张将得到缓解。

    大数据文摘
  • 表情包简史:“一图胜千言”的背后

    ? 作者 | 王焕超 腾讯研究院研究员 一 从“微笑符号”到表情包的跨越  : - ) 这个由冒号、短横线与半个括号的组合,是人类拥有互联网之后的第一个表情符...

    腾讯大讲堂
  • 程序模拟新冠病毒传播,视频火出B站:必须居家隔离,戴口罩至关重要

    刚过二十四节气中的立春,很多地方气温开始回升,而北京地区昨天还迎来了一场漂亮的雪,很多人都想要出门。但是,现在到可以出门的时候了吗?NO!

    机器之心
  • golang 服务大量 CLOSE_WAIT 故障排查

    【2019-12-27 18:00 周五】 业务方突然找来说调用我们程序大量提示“触发限流”,但是我们没有收到任何监控报警。紧急查看了下 ServiceMes...

    王清培
  • golang 服务大量 CLOSE_WAIT 故障排查

    业务方突然找来说调用我们程序大量提示“触发限流”,但是我们没有收到任何监控报警。紧急查看了下 ServiceMesh sidecar 代理监控发现流量持续在减少...

    王清培
  • 每日思考第 75 期:如何理解选择大于努力

    我也有类似的体验,启示就是:选择大于努力大多是回头看或者旁观者视角看,是基于结果的表述,但事实上,这种结果不全是选出来的,更多的是,它是做出来的。

    蜗牛互联网
  • 京都塔高空VR Show、百米VR蹦极与滑索,盘点花式VR极限运动带来的速度与激情

    VR强劲版“弹椅落水”、日本京都塔“恐怖高空VR Show”、虚拟滑梯百米速降、乘高空铁索开启“快穿”之旅——各种虚拟高空体验,你方唱罢我登场。

    VRPinea
  • emoji:意外成功的人造语言

    当你来到一个语言不通、英语普及率又不高的国家时,怎样才能尽快和周围的人实现必要的沟通?

    IT派
  • 安卓App太能乱来了!被曝一天扫你后台1.3万次:小米系统更新,一不小心扯出惊人真相

    之前,手机用户——特别是安卓,都知道后台App们不老实,但照明弹一照,情况简直触目惊心。

    量子位
  • 如何构建有助于提高IT安全性的网络架构

    多年前,网络安全实践模仿了中世纪的领主,他们依靠坚固的城堡墙来保护他的内在王国。城堡防御设计围绕固定防渗墙,而攻击者依靠他们突破围墙的能力,他们的士兵将通过外露...

    C4rpeDime
  • 微软沈向洋等人长文:从Eliza到小冰,社交对话机器人的机遇和挑战

    机器之心
  • 斯坦福发布“防疫公司”模拟器:“照明开关法”或为美国社交隔离最优解

    《瘟疫公司》的开发者曾被邀请去美国疾控中心进行讲座。它让全球玩家对病毒的感染和传播机制有了基本的知识储备、感性认识和危机意识,是款很棒的科普性游戏。在疫情爆发后...

    新智元
  • K 歌自助安全系统

    一、背景 社交化的全民K歌app,在快速发展的同时,也面临着严重的安全威胁,包括骚扰、广告、刷粉、色情、政治等内容,对产品的健康运营造成了严重的威胁。虽然有自动...

    QQ音乐技术团队
  • 陌陌6.0大改版,让你的荷尔蒙再飞一会儿

    陌陌这次步子有点大,6.0上线之后不少用户都在陌陌留言板吐槽,新版本几乎认不出来了,更有用户愤怒地表示“我再也不用了”,因为人们最习以为常的“附近的脸”这个首页...

    罗超频道
  • 一起来认知:机器人领域的10项核心技术

    人类科技的进步使我们逐渐迈入机器人的时代。从解放生产力的角度而言,人类的双手将得到完全的释放。媒体已经不止一次的报道,未来机器人将大面积接手我们目前的体力...

    机器人网
  • 安卓ELF恶意软件深度分析

    ELF病毒背景 1.Android病毒发展趋势 自 2010 年开始,全球进入了移动互联网时代,作为主流移动操作系统Android也得到了迅猛发展。Androi...

    FB客服

扫码关注云+社区

领取腾讯云代金券