markgor

markgor

V2EX 第 353333 号会员,加入于 2018-09-30 16:07:41 +08:00
今日活跃度排名 15756
根据 markgor 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
markgor 最近回复了
2 天前
回复了 kaka6 创建的主题 程序员 Web 服务突然被挤暴,如何有效分流
既然小程序了,就已经前后分离了;
具体业务你没提,我只能大概说说,

1 、活动页面,进入后 请求后端,后端能正常回应的话进入业务流程,不能正常回应的继续等待或定时重发请求;(此时界面丢个 loadding 的 gif 即可。
2 、后端先自己压测下,能接受多少请求,我看你这都是 socket 实现的,那就建立连接后 redis 计数器+1 ,断开连接后 redis 计数器-1 ,首次发起连接时候通过 redis 计数器来判断是否达到峰值(对应第一点)。



最后,你的问题是数据库 CPU 达到 100%,这种情况我觉得应该优先排查 SQL 语句,尤其是看慢查日志,一般出现这些问题基本都是 SQL 语句的问题。
分流对你并不适合,你的问题是数据库 CPU 100%,不是业务机器 CPU 100%。
@markgor 忽略我这个回答,如 2L 所说已经开放了,2 个月前我还在研究这种 URL
之前我用过 frp ,后来换成了向日葵....
因为主板不支持 WOL ,所以买了个向日葵的联网插座,控制电脑开关。
而且我还不用搭一台轻量云进去,还免去了运维这部分
之前研究过,但不算透彻;
1 、微信有开放接口给大厂商或合作商,但这个接口没对外开放;
2 、早期京东有个生成这个链接的接口,传入跳转 URL ,返回 ticket ,后来失效了,JD 对接口链接域名做了限制;
3 、现在市面上有生成这种链接的平台,他们估计都是利用类似第二点的方式生成的;(据我所知 JD 和 PDD 都有这个接口权限,还有没有其他的我就不清楚了
@NotreDame 阿里云的产品我不清楚,腾讯云的话 oss 对象外网访问是会产生外网费用,但不是走 cvm 带宽。
@NotreDame
可以給你参考,不过我用的是腾讯云,
resource.xxx.com -> COS 对象存储 ->回源地址 -> 源服务器。
这样当请求 A.JPG 文件 不存在时,COS 会回去源服务器拉取,然后存在 COS 。
代码中几乎不用改动(前提是资源域名做了划分,COS 可否根据请求类型区分是否回源我不确定。
提醒下,COS 回源有超时策略,大文件不多的情况下建议直接把大文件手动转移到同目录下的 COS 。
剩余的小文件就按上面的策略跑。

如果都是大文件的话那还是直接用工具转移去 COS 吧.
实话说,你要弄清楚哪部分卡;
1 、就算 ts 切片,你服务器带宽就 5M ,10 个人在线看,还不是照样卡吗?
2 、不知道你后端业务是怎样的,nginx 的话大文件会自动 range ,类似 ts 切片,一次加载一部分,大多数浏览器都支持 range 请求;但和第一点一样,带宽如何?
3 、一个视频几百兆,首先要做的就是针对请求限流吧?次要就是看带宽是否能支持;
4 、其实国内 CDN 大多按量计费,你这种场景非常适合上 CDN ,费用起码比你加大服务器带宽要便宜的多。
5 、如果一毛不拔,建议上传第三方视频平台。
我之前也试过,后来马上改了;
1 、部分产品允许超售,此时就会出现-1 的情况,无法分辨是超售了还是无限;
2 、设置为 NULL ,业务代码判断的时候需要单独区分判断,可以这样做,但对后续业务代码不友善;
3 、增加栏位,设定为是否不限库存;

最终我们选择的是第三点;
因为产品允许 超售|库存|不限;
包括后来增加的功能,部分产品需要二次询价,比方 A 给我们一个基本价,库存 10 ,超出库存的要二次确认,我们有单就飞过去,超出库存部分是否能做由他们决定,这种的话业务上会设置为库存产品|允许超售;
1 、因为业务需要统计还剩多少没卖,所以不能设定为不限库存产品;
2 、由于超出时候不是不能卖,只是流程上需要供应二次确认,所以只能设定为 可超售。

所以建议你还是加多个栏位进行判断。
BTW:
我们有些直连对接的分销,业务关系,我们不会反回这种产品究竟是 可超 /不可超 /库存数量这些的,一般情况下可超或库存大于 999 的直接返回 999 ;
@void1900
换种说法可能更容易理解;
nginx/httpd 如何知道这个文件需要转发给 phpfpm 还是直接读取返回呢?
这时候一般就几种方式;
1 、根据后缀来判断是否 php 文件;(其实就是#15 说的“解析文件时要么根据 MIME (后缀名也算)”
2 、根据目录转发请求;这种就和你所说的,和 mime 毫无关联
3 、全部请求转发,相当于 nginx 进行反代或均衡或缓存等;如 webman 框架,框架自身自带处理静态文件,上级的 nginx 做负载。
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2771 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 9ms · UTC 11:28 · PVG 19:28 · LAX 04:28 · JFK 07:28
♥ Do have faith in what you're doing.