前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >优雅解决LeanCloud流控问题

优雅解决LeanCloud流控问题

作者头像
Dreamy.TZK
发布2020-05-16 13:29:50
2.7K1
发布2020-05-16 13:29:50
举报
文章被收录于专栏:小康的自留地小康的自留地

前言

最近好多人遇到了"因流控原因,通过定时任务唤醒体验版实例失败,建议升级至标准版云引擎实例避免休眠"。我也遇到了这种问题,太难受了。难道白嫖结束了,羊被薅死了?

但我还是不甘心,于是只能另寻他法。

首先看到官方所说:

既然是同一时刻,那么是不是意味着只要搓开时间就可以了呢?

我便调整时间尝试了几天,第一天还好,但以后便又出现了流控导致的失败。

因此,调整时间避免的方案治标不治本。还需另寻他法。

目前方案

  1. 修改定时任务的唤醒时间 这个方案在上边我已经介绍过了,治标不治本。这里我并不推荐。
  2. 在博客多加入一条请求。 也就说每一次访问博客时,将leancloud唤醒。这种方法可以,这也是我最先想到的,但无疑,这会在一定程度上拖慢博客加载速度。
  3. 第二个方案的变种 为什么说是变种。因为也是加一个请求,之不过不会在你博客加,那么加在哪里呢?请继续往后看。

优雅解决

LeanCloud的机器唤醒其实还有一种方式。详情请看休眠策略

  • 如果应用最近一段时间(半小时)没有任何外部请求,则休眠。
  • 休眠后如果有新的外部请求实例则马上启动。访问者的体验是第一个请求响应时间是 5 ~ 30 秒(视实例启动时间而定),后续访问响应速度恢复正常。
  • 强制休眠:如果最近 24 小时内累计运行超过 18 小时,则强制休眠。此时新的请求会收到 503 的错误响应码,该错误可在 云引擎 > 统计 中查看。

那么我们只要每三十分钟之内在外部访问一次不就可以解决了么?

于是我查看了一下valine-admin的唤醒源代码,自唤醒云函数也是这样实现的。于是便继续开始白嫖。

开始尝试

这里我使用的是GitHub+Actions。是不是很熟悉,自动部署也是这个方案呢。

  1. 鼠标放在右上角,选择setting
  1. 点击Developer settings
  1. 选择Personal access tokens,添加一个新的TOKEN。 这个TOKEN主要使用来启动actions和上传结果用的。 设置名字为GITHUB_TOKEN , 然后勾选 repo , admin:repo_hook , workflow 等选项,最后点击Generate token即可。

名字请务必使用GITHUB_TOKEN

  1. 接下来FORK项目。 地址:https://github.com/blogimg/WakeLeanCloud 如果觉得好用可以点个赞哦!
  2. 成功FORK后,进入项目的设置。添加你的leancloud的后台地址(也就是评论管理的后台地址)

选择Secrets,添加你的地址

其中Name的名字必须为**SITE**,Value可以是多个地址,用英文逗号分隔。不要中中文逗号,不要用中文逗号,不要用中文逗号

  1. 接下来对自己的项目点个star就能启动了,启动后请切换到actions,看看是否运行成功。
代码语言:txt
复制
- 成功那么你就可以关掉了,默认是每天8:00-24:00时每20分钟运行一次。(GitHub时间稍有延迟,大概时2-5分钟。)
    - 失败
请认真看本教程。

自己点自己的项目是手动执行一次actions。是为了测试才设计这个功能的哦!

并不是不点星这个actions就不会运行。

  1. 最后,如果觉得好用,请给我点个star哦!

问题

  1. 修改频率 自己修改actions的配置文件即可。时间请自行百度cron表达式。
  2. 后台地址会不会暴露 不会的
  3. 没有效果 请确保你的第五步成功添加了网址,如果没有添加也会定时执行actions的动作而不会报错。可以在详情里查看是否监控的你的地址。正常情况下会如下图所以,多个网址会依次排列。如果没有填写网址则会默认访问作者的博客。

最后

既然用上了valine,那么我想再次安利下我魔改的valine-admin哦!

项目地址:https://github.com/sviptzk/Valine-Admin-Server

教程地址:https://cloud.tencent.com/developer/article/1611811

相较于原版的优势如下:

微信提醒(基于方糖公众号)

QQ提醒(基于QMSG)

一套很漂亮的邮件模板(基于以为大佬的魔改)

一个漂亮的后台页面(基于懒人大佬)

适配国际版的时区问题

更多特性正在研发!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 目前方案
  • 优雅解决
  • 开始尝试
  • 问题
  • 最后
相关产品与服务
云函数
云函数(Serverless Cloud Function,SCF)是腾讯云为企业和开发者们提供的无服务器执行环境,帮助您在无需购买和管理服务器的情况下运行代码。您只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。云函数是实时文件处理和数据处理等场景下理想的计算平台。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档