- 先说一下这个文章的起因,大概是前天的时候,那时候我在玩我的世界(自己的搭建游戏服务器)
- 无名在问我们服务器显示在国内,但是延迟为什么这么大
- 通过域名查询ip发现服务器显示在贵港,他也没有问是不是带宽跟性能问题,毕竟他都知道了
- 然后就科学上网进游戏发现居然比正常上网延迟好多了(然后他基本上线之前都开一个加速器)
- 后面我简单的跟他解释了一下
- 这里面出现了一个跟这个问题相关的小插曲
- 当时服务器的ip池更换了ip(我设置了3天换一次,并且是选择在流量少的时候,凌晨4点左右)
- 这一次换了地址我服又换到了百色市😏,没错基本上3天后就广西省内随机旅游
- 出现了服里面的人都下线了,但是我没有下线(我是直连,跳过代理服务器),大概过了3-5秒钟
- 刚刚下线的一个玩家上线了(科学上网),但是因为一个一直无法上线(正常上网)
- 我就告诉他服务器换地址了,他还没有搞懂域名跟ip是什么关系
- 1.png
- 2.png
- 3.png
- 4.png
- 5.png
- 所以这一次来谈一谈我服的架构,以及产生这个问题的原因
- 在谷歌上发现很多博主基本上没人介绍自己的多服架构(可能这些博主只是一台web服用来搭建一个普通的博客发布自己的文章罢了)
- 不过还是在谷歌上找到了一些博主分享了自己实现多服架构的思想方法以及操作配置
- 这一次来谈谈我自己个人的架构方法,这个是我简单做的一个架构图
- 6.png
- 现在详细说下每个服的任务以及工作原理
- 主控制服
- 地址是在国内广西
- 任务是将流量分配到需要的服来提供服务,得到的数据再传回去给客户端
- 以及作为后面几个服的领头羊,负责听监控服的指令办事情,比如到时间换ip等
- 备份服
- 地址是在国外美国
- 任务是接收主控制服传入的数据,进行备份而后将数据进行片段分配,确保每一个服都拥有其他服的数据,来防止主控制服抛锚
- 如果检测到主控制服出问题(无法响应或者没有传入数据)就会告诉监控服,问他是不是真的无法访问
- 监控服
- 地址国外美国
- 任务是定时一段时间去检测主控制服是否还活着,如果死掉了,就告诉一号服
- 你们老大死了,你现在是老大了,你拿备份服给你的老大资料出来
- 然后顾全大局,做老大的事情,但是你也不能忘记你自己应该做的事情,你要记得当老大就是这么辛苦的😕,并且其他的服的编号就向后面编
- 二号变成一号,三号变成二号,以此类推,这时候也一直监控原来的控制服活过来了没,然后活过来了就给他最后面的编号继续工作
- 并且告诉他现在你以前一号手下是老大了,要听他的了(落后就要挨打😑),并且根据四号服提供的邮箱接口发送邮箱通知我
- 还有一个任务就是每过3天就告诉主控制服,有人要打你,快点换一个衣服(ip)
- 这样子人家就找到你就需要一点时间了,收到主控制服的回答后
- 就告诉他谢谢你的配合😏,如果主控制服一定的时间还没有回复,就一直骚扰他给他发信息,超过了时间就调用邮箱接口发邮箱给我
- 一号服
- 地址在国内香港
- 任务是做一个mc的游戏服务器,目前挂着工业服,机械动力服,原版服
- 二号服
- 地址是国内香港
- 任务是也是做一个mc的服务器,目前挂着整合包的服,快照服
- 三号服
- 地址在国外德国
- 任务是做一个饥荒的游戏服,目前挂着科技服,挂机服
- 游戏服如果崩溃自动调用邮箱接口发邮箱告诉我
- 比如最近失重整合包的服
- 7.png
- 8.png
- 第一次是因为一个查询物品的书,第二次是因为AE链接太多箱子,每一次从箱子里面物品检索数据太大了
- 后面晚上又崩了,他们上线就崩溃,我都不知道,怎么回事,我跟另外一个玩家玩了一个晚上都没问题
- 9.png
- 四号服
- 地址在国外美国
- 任务是做web服务器,目前挂着mc的皮肤站,qaq卟言个人博客站,一个测试站,以及提供数据库跟邮箱功能
- 这个架构的的问题
- 1.监控服如果出问题的话,这个的架构会出现非常非常严重的问题,比如主控制服ip一直会是原来那一个地址
- 如果受到了攻击会很容易出问题,目前我解决的问题是主控制服也定时换ip地址,通过备份服来检测两个更换ip的时间段是否一致
- 2.监控服如果出现问题,并且主控制服也死亡,后面的服无法自行做主
- 目前我的想法是每一个服都检测主控制服,主控制服死亡了,就命名一号为主控制服
- 3.因为部分服是在国外,连接至主控制服延迟稍微有点大,这就是为什么群里面的玩家玩一个香港的服一些人,延迟大,翻墙却好了很多
- 像上面的那个玩家的问题,我跟另外一个玩家科学上网,服换ip了
- 我们只是过一下就可以继续连接服务器了,但是他却需要域名转ip的10分钟生效时间
- 至此我服的架构介绍就完了
【谈谈本人的多服架构】
qaq卟言2021-07-31 12:23:24
闲聊
开始
完结