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提取的问题,是有一段时间我对扫描器不胜其扰,屏蔽了.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攻击。
我站的CSS和JS加载经过了不少调优,现在大陆家宽无缓存访问最快0.8s触发DOMContentLoaded。这样的站,我自认为对用户体验算是友好的。
5、不足之处
2023 年 10 月
最新情况:由于监控服务器在国内,今天告警数台服务器离线,排查后发现离线服务器都在境外,并不是服务器离线而是 WireGuard 隧道不通。推测是敏感时期会大规模屏蔽这些已知并且特征明显的协议,虽然说我 TM 完全没有拿 WireGuard 来突破 GFW。
虽然有这么多优点,由于MySQL配置的问题,本站在文章编辑和评论的时候会比较慢,但是这可以通过一些简单的手段解决,例如使用第三方评论。
使用此方案,文件同步会有一些小问题,我的解决方案是全部存在对象存储中,对象存储可以用大厂的也可以自建,有空出一期自建教程。
使用大厂对象存储可以直接用相同地域服务器反向代理免流量。
我的集群仍在优化,如果你有宝贵意见,欢迎在评论区提出。
服务器集群(八)集群使用体验
评论