前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >协程池是调用端并发请求的缓释胶囊

协程池是调用端并发请求的缓释胶囊

作者头像
有态度的马甲
发布于 2025-04-07 07:01:19
发布于 2025-04-07 07:01:19
6700
代码可运行
举报
文章被收录于专栏:精益码农精益码农
运行总次数:0
代码可运行

昨天"朝花夕拾"栏目倒腾了一款具有请求排队功能的并发受限服务器

演示了互联网高并发请求,服务端遇到的现实情况(服务器高负载、cpu打满、sql并发受限)。

文章重点在于给服务提供方削峰填谷,今天咱们把视角移到服务调用方。


如果是一个调用端程序同时发出这么多并发请求:

(在服务器处理单次请求耗时50ms的前提下)

并发客户端请求数concurrencyClients

服务器请求队列queueLength

服务器限流阈值 Maxoutstanding

总耗时ms

1000

100

10

5014

动图显示:

虽然1000个并发请求在5257ms全部处理完, 但是至少有一半的请求耗时超过3s, 那这又会有什么问题呢?

端到端的请求:为防止服务器处理过慢,长时间占用客户端到服务器的请求链路资源,调用端一般都会设置超时时间

eg:

  • 前端ajax工具库设置超时时间:axios.defaults.timeout = 12000;
  • golang httpclient 设置超时时间:client := &http.Client{   Timeout: 10 * time.Second,   }
  • etcd grpc请求超时时间:eClient.Get(ctx, "/foo")

很明显,这个例子中如果clientTimeout=3s, 就会导致大量请求超时失败。


既要让所有客户端请求都能被处理,又要保证不超过客户端自设的超时配置。

协程池[1]这个缓释胶囊就可以上场了。

Package ants implements an efficient and reliable goroutine pool for Go.  

With ants, Go applications are able to limit the number of active goroutines, recycle goroutines efficiently, and reduce the memory footprint significantly. Package ants is extremely useful in the scenarios where a massive number of goroutines are created and destroyed frequently, such as highly-concurrent batch processing systems, HTTP servers, services of asynchronous tasks, etc.

总体而言, ants是golang中用于将高并发的Goroutine削峰填谷, 起到调用端缓释胶囊的作用。

另一个角度,正因为golang启动协程毫无顾虑,协程池的存在也是为了避免协程滥用。

将原clients()函数中无脑迅速启动1000个并发协程, 替换为ants库(协程池内协程数量设置为50)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
func antsClients() {
 wg1.Add(concurrencyClients)
 pool, _ := ants.NewPool(50)
 defer pool.Release()
for i := 1; i <= concurrencyClients; i++ {
  r := &Request{
   args:       []int{i},
   resultChan: make(chan int),
  }
  _ = pool.Submit(func() {
   ClientReq(r)
  })
 }
 wg1.Wait() // WaitGroup依旧可用
}

动图显示,整体耗时相比于不用协程池无差, 但是每个请求的耗时都得到了很好的控制, 整个客户端程序批量发起1000个请求显得轻快又高效。

源代码还是在https://github.com/zwbdzb/go_sample1, 欢迎关注。

That's All, 本文是自己在中厂的一个生产实践复盘: 调用方某些场景下突发批量请求,一开始也是自然启动多协程发起请求,大量请求因为服务端限制而超时失败, 启动ants这个缓释胶囊后问题得到解决。

生活就是这样,只要你愿意倒腾,总有新发现。

参考资料

[1] 

协程池: https://github.com/panjf2000/ants

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 精益码农 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
智慧社区发展前景及解决方案
智慧社区是社区管理的一种新理念,是新形势下社会管理创新的一种新模式;是充分利用物联网、云计算、移动互联网等新一代信息技术的集成应用,为社区居民提供一个安全、舒适、便利的现代化、智慧化生活环境,从而形成基于信息化、智能化社会管理与服务的一种新的管理形态的社区。“智慧社区”建设能够有效推动经济转型,促进现代服务业发展。
物联网数据可视化PaaS平台
2022/04/19
2K0
智慧社区发展前景及解决方案
智慧社区建设方案丨智慧小区解决方案
随着物联网技术和我国新一代互联网技术的发展,未来社区网络将会实现全覆盖,通过社区网络和物联网络,将会实现社区机电设备和住宅的自动化,智能化,实现远程监控和网络数字化。
彭森区块链
2020/09/23
7.7K0
智慧社区建设方案丨智慧小区解决方案
百度智能云杀入智慧社区赛道,用AI描摹一个智慧化样本
北京市西城区大栅栏一个老小区内,和斑驳的外墙形成鲜明对比的是老人家中的智能化场景,装上了电动窗帘滑轨、智能插座、智能灯泡等产品的屋子里,老人只需要动动嘴,就能轻松操控窗帘、空调、电视等家用电器……
Alter聊科技
2023/01/31
3250
百度智能云杀入智慧社区赛道,用AI描摹一个智慧化样本
智慧社区建设管理方案,AI技术让小区更智能、更舒适
智慧社区是充分应用大数据、云计算、人工智能等信息技术手段,整合社区各类服务资源,打造基于信息化、智能化管理与服务的社区治理新形态。根据《关于深入推进智慧社区建设的意见》,到2025年,基本构建起网格化管理、精细化服务、信息化支撑、开放共享的智慧社区服务平台,初步打造成智慧共享、和睦共治的新型数字社区。智慧社区的未来发展将会形成以社区用户为中心,基于社区“云平台”进行动态价值分配的多边网络生态。
TSINGSEE青犀视频
2023/11/22
1.1K0
中兴视觉大数据报道:在“智慧小区”有智慧照明、智能跑道,以及智能消防栓等功能
中兴智能视觉大数据报:进小区1秒人脸识别,自动打开道闸放行,业主不用再为忘记带门禁卡而烦恼;有人到访只需按智能门禁,主人通过手机、IPAD就能看到是谁,不仅可以视频通话,一点击就可以开门……“智慧小区”让我们的生活更便利。据悉,中兴智能视觉大数据曾为云南智慧小区提供完整的解决方案,解决刷脸进出、智能预警、智能管理等功能,看来“智慧小区”非常受大家欢迎啊,不过在小编看来“智能小区”如果以后能大量的落地到各个小区内,将会非常便捷,更智能化啊,期待那一天的到来,随着人工智能的大力发展,相信这个时间不会太久。
用户2155938
2018/06/14
1.9K0
浅析智慧社区建设趋势及AI大数据监管平台方案设计
伴随着社会与经济的发展,人们对生活质量的要求越来越高,与此同时,新兴技术的进步也促进了智慧社区市场的逐步成熟。智慧社区是社区管理的一种新理念,是新形势下城市与社会管理的一种创新模式。
TSINGSEE青犀视频
2023/11/23
4560
让系统时钟(NTP服务器)更精准构建智慧社区网络
智慧社区实现人与物、物与物的信息交互和无缝链接,达到对城市实时控制,精确管理和科学决策,同时整合社区现有的各类服务资源,为社区群众提供政务、商务、娱乐、教育、医护及生活互助等多种便捷服务的模式,势必迎来广阔的应用前景,并引导未来发展方向,智慧社区是智慧城市概念之下的社区管理的一种新理念,是新形势下社会管理创新的一种新模式。智慧社区是指充分利用物联网、云计算、移动互联网等新一代信息技术,为居民提供一个安全、舒适、便利的生活环境,从而形成基于信息化、智能化社会管理与服务的新型管理模式的社区。
NTP网络同步时钟
2021/02/02
5810
让系统时钟(NTP服务器)更精准构建智慧社区网络
刷脸门禁和无人清扫只是前戏,百度大脑要做最智能的地产物业
与区块链等新技术正在苦苦找场景不同,人工智能在各行各业的落地已进入实质性阶段,特别是在金融、教育、营销、娱乐等模式相对教轻、与数据打交道较多的行业。从中国AI巨头百度最近的一个动作来看,不只是“轻行业”,像地产这样的“重行业”也在成为人工智能的重点场景。
罗超频道
2018/12/14
1.6K0
社区智能化视频监控系统建设方案设计
智慧小区是“平安城市”建设的基础,随着社会的不断发展,社区安全问题已经成为人们关注的焦点。高空抛物、乱扔垃圾、损坏车辆、入室盗窃等不文明现象及违法行为时有发生。很多小区的物业安保体系、监控系统等安防建设较为简陋和传统,而且人力有限,不仅无法做到无盲点覆盖,而且经常存在监管疏忽、效率低下等各种管理弊端,无法满足日益增长的小区智能化管理需求。
TSINGSEE青犀视频
2023/02/01
9130
当数据创客邂逅互联网+ 之《2015年国际技术化展望-数字化经济》
此次峰会是数据创客与互联网+的激情碰撞,以腾讯、华为、金蝶、华大基因为主要参会参会嘉宾,与来自深圳其全国各地的数据创客们共同探讨数据与互联网+的话题,其中刘东老师的《2015年国际技术化展望》主要讲述
小莹莹
2018/04/23
7280
当数据创客邂逅互联网+ 之《2015年国际技术化展望-数字化经济》
智慧城市的智慧之路:成果斐然、前景广阔
导语:交通堵、环境差、医院忙、就业难······,我们的“城市病”不轻。那么理想的智慧城市生活是什么样子? 智慧城市 随着越来越多的人涌入世界各地的城市地区,不断膨胀的人口给基础设施和服务带来了压
物联网数据可视化PaaS平台
2022/04/02
1.3K0
智慧城市的智慧之路:成果斐然、前景广阔
图扑数字孪生智慧社区,助力社区数字化转型
智慧社区是社区管理的一种新理念,是新形势下社会管理创新的一种新模式。智慧社区是指充分利用物联网、云计算、移动互联网等新一代信息技术的集成应用,为社区居民提供一个安全、舒适、便利的现代化、智慧化生活环境,从而形成基于信息化、智能化社会管理与服务的一种新的管理形态的社区。“智慧社区”建设能够有效推动经济转型,促进现代服务业发展。
HT for Web
2023/03/07
5740
图扑数字孪生智慧社区,助力社区数字化转型
未来社区丨AI智能科技助力打造平安和谐智慧化家园!
人身财产安全、社区防疫管理、高空抛物治理、垃圾堆积治理、电动车消防管理、关爱帮扶特殊人群··· ···这些一直是社区治理的重要工作。 腾讯云未来社区依托腾讯云AI技术,通过智能硬件设施的全面部署,融合人工智能、大数据、物联网、区块链等先进技术,致力于实现社区空间内的全域感知,全时响应,充分运用AI智能科技,为基层治理添砖加瓦,为居民生活保驾护航,助力打造平安和谐智慧化社区。 社区档案 社区档案对社区中要素进行管理,以“人”为核心,通过AI、结构化基础数据、IoT,将社区内的“空间、事件、物、车”与“人”进行
云产品技术支持小助手
2022/06/24
1.2K0
未来社区丨AI智能科技助力打造平安和谐智慧化家园!
Ai智慧社区_AI社区医院
前不久进入了智慧社区、智慧园区和智慧校园行业,于是打算就智慧社区下的智慧小区写两篇文章,一篇是介绍智慧小区,一篇是关于如何构建智慧小区管理系统。
全栈程序员站长
2022/11/02
2K0
入选国家级标准计划!腾讯参与起草社区基层防疫标准
今日,国家标准化管理委员会正式公布《基于云计算的重大突发公众卫生事件中社区服务系统基本要求》。 该标准由中国电子技术标准化研究院和腾讯共同牵头起草,成功列入了2021年第二批国家标准计划。 2020年新冠疫情发生后,民政部办公厅、中央网信办秘书局、工业和信息化部办公厅、国家卫生健康委办公厅联合印发《新冠肺炎疫情社区防控工作信息化建设和应用指引(第一版)》,提出要促进社区防控工作与现代信息技术深度融合,指导社区防控信息系统建设。 但社区服务系统涉及资源多样,社区类型众多,各类资源之间也缺乏应急消息和信息互
云产品技术支持小助手
2022/06/24
5320
入选国家级标准计划!腾讯参与起草社区基层防疫标准
社区管理之痛,将成为谁的智慧切口?
社区是城市在小区域范围内的一个缩影。因为两者之间的体系结构和发展模式存在一定程度的相似和关联,所以在智慧城市的建设路径上,以智慧社区为切口,做好小区域范围的智慧管理成为当下市场和社会的一个风口,也是治理切口。
用户2908108
2021/07/22
4180
腾讯首个智慧产业总部落户长沙 将打造“一部手机游湖南”
8月6日,腾讯(长沙)智慧产业总部在长沙正式揭牌成立,双方将在智慧城市、人工智能产业生态等方面展开广泛合作,助力长沙城市建设,培育人工智能新兴产业,加快传统产业升级转型。 腾讯(长沙)智慧产业总部揭牌仪式 当天,湖南省政府与腾讯公司在长沙举行战略合作框架协议签约仪式,深入推进“互联网+”行动计划,营造“互联网+产业”创新发展良好环境,共同推进互联网与湖南省经济社会各领域融合发展。 省委副书记、省长许达哲会见腾讯公司董事会主席兼首席执行官马化腾,并见证签约。省委常委、常务副省长谢建辉,省政府秘书长王
腾讯文旅
2020/06/17
1.5K0
城市“一网统管”平台—智慧平安小区的场景应用
随着城市建设进程的不断加快,关于城市的智能化治理需求也随之增多。在国家发布的“十四五”规划中,已经明确指出,推进新型城市建设,推行城市运行一网统管。作为推动城市治理体系和治理能力现代化的重要探索,“一网统管”将成为关键基础工程。
TSINGSEE青犀视频
2023/04/27
5160
基于智慧路灯杆打造智慧社区物联网
随着城市化发展,城市社区居民的增加,对于社区管理与服务能力的要求也日益提高。智慧社区物联网,就是通过融合大数据采集分析、物联网、智能管控等技术,高效整合社区各类服务资源,打造便民智慧服务圈。
智慧物联小马
2022/06/10
5470
基于智慧路灯杆打造智慧社区物联网
1.23 亿元、金华市城市大脑:花落谁家?
2021年12月10日,金华市大数据发展管理局发布《金华市城市大脑建设项目》招标公告,预算 123353700 元。 项目背景 国家及各级政府高度重视智慧城市与城市大脑建设,国务院印发《促进大数据发展行动纲要》中提出:建立“用数据说话、用数据决策、用数据管理、用数据创新”的管理机制,实现基于数据的科学决策,将推动政府管理理念和社会治理模式进步。 习近平总书记在浙江考察期间对杭州“城市大脑”建设给予充分肯定并提出了推广应用要求。省政府作出了“把‘城市大脑’作为提升大都市区能级、推进大城市智慧化的关键手段、关键
云头条
2022/03/18
6310
推荐阅读
相关推荐
智慧社区发展前景及解决方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验