服务器集群(一)服务器组网相关概念

本文章已收录至本站专栏
服务器集群系列

0、为什么需要组网

在数据库服务器的配置中,对数据库服务器性能影响较大的有:

CPU:数据库查询和修改操作都需要消耗大量的CPU资源,另外数据库都是多线程应用程序,使用SMP(对称多处理)系统能够提供更好的性能。CPU缓存结构也很重要,因为数据库的对缓存的点击率是很高的。

内存:最重要的性能因素。数据库需要大量的内存来缓存数据。如果服务器没有足够的内存来作为数据缓存,将使用磁盘子系统作缓存,磁盘子系统的访问速度比内存低很多,这样就会降低系统性能。内存太低,甚至会因为过于频繁的磁盘访问而导致服务器死机。配置256GB DDR3内存,以满足应用系统的数据缓存。

磁盘:即使内存很充足,系统还得执行大量的磁盘I/O,从硬盘中读取数据并写入修改的数据,因此磁盘的访问速度对性能影响也很大。

总之,引起服务器异常的因素很多,倘若以上因素其中一个出问题,该服务器就会不可用。何况,如果服务器厂商承诺的SLA是99%,一年内也会有 (365-365x99%)≈4天的时间不可用,这对用户、搜索引擎抓取的影响是很大的。

因此,在预算允许的情况下,我们应该组建服务器网络,配置负载均衡;搭建服务器监控,在一个节点挂掉的时候自动切换;搭建多机热备、一主多从的数据库网络。

1、可行性方案

本教程即将从以下几个方面,探究个人进行服务器组网的可行性研究,并给出解决方案。

以下是本系列的项目列表:

  • 实现按解析线路分流
  • 实现NGINX负载均衡
  • 实现PHP负载均衡
  • 实现MySQL一主多从
  • 实现MySQL读写分离

敬请期待吧!

2、存在的问题

目前本站的服务器分布在中国大陆、中国香港、美国,并且在若干腾讯云账号名下。

因此,无法直接通过内网互联进行通讯,只能通过软件模拟内网,实际带宽为公网带宽。在实践中,我发现这样的组网方案存在延迟高的问题,在探究之后,我给出了在恶劣网络情况下的组网方案:

  • WireGuard 组网
  • DnsPod 智能解析分流
  • Dnsmasq 管理本地DNS解析
  • 宝塔负载均衡 网站回源
  • 宝塔MySQL主从复制 数据库一主多从
  • ProxySQL 数据库读写分离

可能需要准备:

  • 至少2台Linux服务器(本站以5台为例)
  • 升级服务器内核至 Kernel 5.x(本站统一使用kernel-ml-5.19)
  • DnsPod账号(最好是专业版)
  • 宝塔Linux面板企业版(建议使用开心版)

开始吧!

3、服务器选择

我的各服务器分布在腾讯云、阿里云和一些小厂的机房,因此组网很麻烦。

使用腾讯云,同地域云服务器享受5Gbps内网互联,轻量应用服务器享受1Gbps云联网。

最新优惠:


热门优惠产品:

618采购季
【腾讯云】618采购季来袭!爆款云服务器18元起,参与活动享多重好礼


热门产品合集页
【腾讯云-专属】精选爆款云产品,大额代金券等你领


云服务器全球购
【腾讯云】境外1核2G服务器低至2折,半价续费券限量免费领取!


新客专属福利
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。


其他推荐产品:

轻量应用服务器专场特惠
【腾讯云】轻量新用户上云福利,2核2G4M 低至 50 元/年 起, 抓住上云好时机!

服务器集群(一)服务器组网相关概念

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

文章作者
Hsukqi Lee
发布于

2022-08-06

修改于

2022-08-29

许可协议

CC BY-NC-ND 4.0

评论

昵称
邮箱
网址
暂无