【故障补牢】贪吃的 Bing 爬虫,限量供应的应对措施

这篇具有很好参考价值的文章主要介绍了【故障补牢】贪吃的 Bing 爬虫,限量供应的应对措施。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

相对于【故障公告】,【故障补牢】分享的是园子在发生故障后采取的亡羊补牢措施。

在上次被微软 Bing 爬宕机后(详见 【故障公告】被放出的 Bing 爬虫,又被爬宕机的园子),我们采取了2个应对措施,然后解除了对 Bing 爬虫的屏蔽。

措施1:限流——采用滑动窗口进行限流

我们之前采用的限流措施没有采用滑动窗口,只能防君子不能防小人,比如限制同一个IP一天只能请求2万次,但如果遇到大胃口的爬虫,1秒请求2万次,虽然没有超过限制,但服务器已趴下。

我们通过 ASP.NET Core 内置的 rate limiting middleware 进行滑动窗口限流,参考博文 ASP.NET Core rate limiting middleware in .NET 7

services.AddRateLimiter(
    _ =>
    {
        _.GlobalLimiter = PartitionedRateLimiter.CreateChained(
            PartitionedRateLimiter.Create<HttpContext, string>(
                _ => RateLimitPartition.GetSlidingWindowLimiter(
                    "total",
                    _ => new SlidingWindowRateLimiterOptions()
                    {
                        AutoReplenishment = true,
                        PermitLimit = limitOptions.TotalPermitLimit,
                        QueueLimit = 0,
                        Window = TimeSpan.FromSeconds(limitOptions.WindowSize),
                        SegmentsPerWindow = limitOptions.WindowSize,
                        QueueProcessingOrder = QueueProcessingOrder.OldestFirst
                    })),
            PartitionedRateLimiter.Create<HttpContext, string>(
                context => RateLimitPartition.GetFixedWindowLimiter(
                    partitionKey: context.GetUserIp() ?? "unspecified",
                    factory: _ => new FixedWindowRateLimiterOptions
                    {
                        AutoReplenishment = true,
                        PermitLimit = limitOptions.PermitLimit,
                        QueueLimit = limitOptions.QueueLimit,
                        Window = TimeSpan.FromSeconds(limitOptions.WindowSize),
                        QueueProcessingOrder = QueueProcessingOrder.OldestFirst
                    })));
        _.OnRejected = (context, _) =>
        {
            context.HttpContext.Response.StatusCode = StatusCodes.Status429TooManyRequests;
            return default;
        };
    });

措施2:隔离——专用 pod 限制计算资源、专用负载均衡限制带宽

借助 k8s 的资源隔离能力,部署专用的 pod 给 Bing 爬虫使用,最多把 pod 爬挂,不会造成服务器宕机,对其他应用 pod 毫无影响。

部署专门的负载均衡给 Bing 爬虫通行,这样可以避免因爬虫抢占带宽而造成其他正常请求无法正常响应,而且可以通过限制带宽控制爬虫的并发请求量以及带宽成本。文章来源地址https://www.toymoban.com/news/detail-437110.html

到了这里,关于【故障补牢】贪吃的 Bing 爬虫,限量供应的应对措施的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 抖音短视频查重机制与应对措施

    一.查重机制是什么? 平台首先要检查的是MD5,这是一种通用的、稳定的和快速的信息摘要算法,其主要作用是保证信息传输的完全一致性,有时也用于普通数据的加密和保护领域, MD5起到加密和保护的作用,也是检查平台重复的最快方法。 然后查看视频的标题,底部的描述

    2023年04月23日
    浏览(87)
  • 交换机Mac泛洪实验以及应对措施

    交换机Mac泛洪实验报告 交换机的概述及工作原理 交换机的概述:交换机是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路。最常见的交换机是以太网交换机。交换机工作于 OSI参考模型 的第二层,即数据链路层。交换机拥

    2024年02月11日
    浏览(56)
  • 微信小程序最新用户头像昵称获取规则调整应对措施(2022)

    小程序用户头像昵称获取规则调整公告 以前通过wx.getUserProfile获取用户信息,用户点击同意以后,便可以直接获取相关信息,但是官方最近做出了调整,直接将头像和昵称使用默认值填充了,所以我们无法直接获取用户的信息了,需要新增一个页面用于用户自定义头像和昵称

    2023年04月14日
    浏览(37)
  • 谷歌公开.zip域名,应采取哪些措施应对可能的安全风险?

    近期,谷歌发布了几个新的顶级域名,这些新域名包括.dad、.esq、.prof、.phd、.nexus、.foo、.mov以及本文我们将要提到的.zip域名。自发布以来,多个安全社区都开始讨论这些顶级域名所带来的影响,主要原因是.zip很容易被误认为是文件扩展名,被不法分子用来建设钓鱼网站,造

    2024年02月11日
    浏览(39)
  • 故障报告、分析和纠正措施系统 FRACAS工作程序和要求

    故障信息传递和故障件处理的流程图见下图: 一、故障报告 (1)故障报告的范围 军工产品在研制过程中发生的所有故障和重大质量问题等(以下简称为故障)都应及时记录,并填写故障报告表。 (2)故障报告的内容 故障报告的内容应能完整、真实地反映故障发生时的一切情况,一

    2023年04月09日
    浏览(41)
  • 供应链安全和第三方风险管理:讨论如何应对供应链中的安全风险,以及评估和管理第三方合作伙伴可能带来的威胁

      在当今数字化时代,供应链的安全性越来越受到重视。企业的成功不仅仅依赖于产品和服务的质量,还取决于供应链中的安全性。然而,随着供应链越来越复杂,第三方合作伙伴的参与也带来了一系列安全风险。本文将探讨供应链安全和第三方风险管理的关键问题,并通过

    2024年02月12日
    浏览(44)
  • 浅谈非内存对抗类和AI自瞄类FPS作弊程序原理及常用反反作弊措施与反作弊应对手段(中)

    往期文章: 浅谈非内存对抗类和AI自瞄类FPS作弊程序原理及常用反反作弊措施与反作弊应对手段(上)         Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中。它使用Linux自身的调度器进行管理,所以相对于

    2024年04月13日
    浏览(41)
  • 配网故障定位技术的发展与应用:保障电力供应安全稳定的重要支撑

    在现代社会,电力供应安全稳定对于国家经济发展和民生福祉至关重要。然而,随着电网规模的不断扩大,配网故障问题也日益突出。为了确保电力供应的连续性和可靠性,人们不断探索和研发各种故障定位技术。本文将介绍一种基于行波测距技术的配网行波型故障预警与定

    2024年02月02日
    浏览(58)
  • 微软Bing Chat逆向爬虫实战

    最近AIGC太火了,以OpenAI为首的一批人工智能公司一次又一次的引爆科技圈的浪潮,从ChatGPT到Sora,OpenAI在一年多时间里连续发布两个重磅产品,彻底拉开了AI时代的帷幕。而作为科技巨头微软也是OpenAi的大股东,OpenAi只要出了新模型,那么微软的Bing都是第一时间集成上去,基

    2024年04月09日
    浏览(50)
  • 浅谈Python网络爬虫应对反爬虫的技术对抗

    在当今信息时代,数据是非常宝贵的资源。而作为一名专业的 Python 网络爬虫程序猿,在进行网页数据采集时经常会遭遇到各种针对爬虫行为的阻碍和限制,这就需要我们掌握一些应对反爬机制的技术手段。本文将从不同层面介绍如何使用 Python 进行网络爬虫,并提供相应解决

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包