服务器集群(八)集群使用体验

1、服务器现状

启动“组网计划”后很多小伙伴陆续加入了集群,也有因为服务器到期而退出的,无论如何,现在我们拥有一个8节点的服务器集群:

清北科技节点监控
https://node.tsinbei.com

组网计划说明:

清北科技组网计划
https://cdn.tsinbei.com/projects/cluster.html

刚刚好这8台里,4台上海,4台香港。我们把上海的划分为“后端计算节点”,把香港的划分为“前端分发节点”,也就是源站和CDN。

截至2023年4月,本博客已稳定运行于该集群接近8个月,你可以前往:

清北博客网站状态
https://blog.tsinbei.com/status.html

查看各节点负载情况,一般来说四个节点分配比例是1:1:1:1,有的时候随网络波动会动态调整权重。

2、服务可用性SLA

说了这么多,可能大家最感兴趣的还是SLA。这里晒出 Google Search Console 的数据:

总体可用性

Robots.txt提取

DNS解析

服务器连接

其中最重要的指标就是服务器连接了,可以看到,作为一个个人运维的网站,我的博客运行算是比较稳定的。

Robots.txt提取的问题,是有一段时间我对扫描器不胜其扰,屏蔽了.txt的所有访问,然后过了很久,Google发邮件说Robots.txt抓取出现问题,我才意识到这对爬虫的影响。

DNS解析没的说,DNSPod专业版,全球都很快,从未出问题。

3、故障处理

看我的一系列文章可以看到,我对集群的运维颇有微词。然而这是早期的集群,在经过优化后它已经长达5个月没有严重到需要我亲自来处置的问题了。秘诀就一个:

“能跑就不要动。”

不要老是在没有备份的情况下对服务器瞎改,要不然出了问题就是灾难了。

然而,由于腾讯云服务器SLA,以及一些莫名其妙的问题(我也不知道是什么,但是它确实使网站出现了故障),我的博客依然会出现故障。这就要提到D监控和负载均衡了。D监控每隔10分钟检测,出问题就自动切换节点;负载均衡在后端出现故障时直接并发,哪个后端可用就返回哪个。

我起床时偶尔可以看到几条告警消息,基本上就是“网站故障提醒”,不到1分钟后“网站故障恢复提醒”,对用户体验基本无感。

现在MySQL配置我已经比较熟悉,因此最近几个月再也没有棘手的主从不同步问题了。

4、用户体验

说到用户体验,我还是比较在意网站速度的。

本站在中国大陆并没有使用CDN,裸连速度三网平均0.6s。在腾讯云CDN的HTTPS计费后,我连夜把静态资源从腾讯云迁移到了自家集群。光有4台香港还不够,我又采购了一个CDN,算上冗余备份节点,清北CDN的节点数达到了16个。

这些都是针对大陆自然访客的。针对机器访问,我专门解析了一个节点,配以严格的WAF策略;对于境外访问,我全部解析至Cloudflare,保证了全球访问1s,并且免遭境外DDoS攻击。

Cloudflare 网站月报

我站的CSS和JS加载经过了不少调优,现在大陆家宽无缓存访问最快0.8s触发DOMContentLoaded。这样的站,我自认为对用户体验算是友好的。

5、不足之处

2023 年 10 月
最新情况:由于监控服务器在国内,今天告警数台服务器离线,排查后发现离线服务器都在境外,并不是服务器离线而是 WireGuard 隧道不通。推测是敏感时期会大规模屏蔽这些已知并且特征明显的协议,虽然说我 TM 完全没有拿 WireGuard 来突破 GFW

虽然有这么多优点,由于MySQL配置的问题,本站在文章编辑和评论的时候会比较慢,但是这可以通过一些简单的手段解决,例如使用第三方评论。

使用此方案,文件同步会有一些小问题,我的解决方案是全部存在对象存储中,对象存储可以用大厂的也可以自建,有空出一期自建教程。

使用大厂对象存储可以直接用相同地域服务器反向代理免流量。

我的集群仍在优化,如果你有宝贵意见,欢迎在评论区提出。

服务器集群(八)集群使用体验

https://blog.tsinbei.com/archives/1211/

文章作者
Hsukqi Lee
发布于

2023-04-05

修改于

2023-10-04

许可协议

CC BY-NC-ND 4.0

评论

昵称
邮箱
网址
暂无