热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Linux服务器开发_简单网络结构

从事这行时间不长,才半年时间,做的是webgame网页服务器。现在做这个的很多,当然高手也很多。我提供自己的心得主要是想让给多的游戏成功,让更多的服务器能够给大家提供更好的服务在游戏服务器的传统上,网关是很受人家欢迎的,但是现今却有一部分开发框

从事这行时间不长,才半年时间,做的是webgame网页服务器。现在做这个的很多,当然高手也很多。

我提供自己的心得主要是想让给多的游戏成功,让更多的服务器能够给大家提供更好的服务

在游戏服务器的传统上,网关是很受人家欢迎的,但是现今却有一部分开发框架在摆脱网关。具体的情况再做分析。

我先简单介绍下,我之前第一个服务器的架构吧。

结构很简单,服务器主要分成了以下几个部分,网关,DB,登入服务,pk服务,应用服务,相互之间的结果很简单基本如下所示:

行业上的人应该明白,这就是最简单的结构,登入是和平台合作的,也就是做个借口出来,登入和登出都是在由登入服务器和应用服务器做通信实现的。数据库没细分,但是一般都是分成两个数据库,一个是账号数据库,另外一个是应用数据库,进入游戏后的数据都只是传说到网关的,网关然后分类分出。

很显然这个基本框架不是非常好,有改善的结构就是,把DB也做个DB网关,应用通过DB网关来访问DB。说起数据存储,不得不说下另外几种常用的数据存储。现在数据存储主要包括3种,也展现了3种不同的存储速度和需求。

1,就是数据库,数据库首选Mysql,还有oreale,至于别的数据库,我见得不是很多,也许我目光狭窄。

2,内存,使用容器存放在内存

3,.映射硬盘数据。

3者表现得重点各不相同,至于其中的优点和缺点,我便不提了。数据库不想多说,只想说说后面两个,内存的存放这个得需要小数据,但是再小数据它必定是成为一个共享数据,多线程访问,那么线程锁就得做好。

所以我个人意见把这块单独分开,做个缓存服务(结构完全分开内部除了查找,增加,删除,修改,提供接口访问,别的事情都不做),要是闲工程大了点,小的服务器可以完全和业务放在一起,效率自己把握好就是,别犯错,影响效率。(其实我一直想做个内存数据开发包出来,封装容器,挺简单的)

至于映射硬盘数据这个我并不在行,我只是了解过这个概念,但是没有具体去实现,但是个人认为,它结构主要是两部分,内存交换区,硬盘数据映射程序,具体怎么做好,介于没有去实现过,所以不做发表,这方面的技术除了要做到大的数据存储,又担心数据库结构不满足条件而作的。一般服务器不会深入使用这种东西,说白了,这个就是改写数据库单调结构而做的。

简单结构基本就这么多,但是简单结构是不适合大型项目使用的。下面的结构可以满足大型服务器的支持,

画图太烦,我就不画图了。

和上面登入是一样的,数据存储技术也是一样的,但是在网络结构和服务上做出很大改变。

登入时候连接的是一个验证服务器(这里会返回给你一个你将要连接的服务器IP和端口),

同时会对你的网络情况进行一个判断,还有网络,从你网速上选择适当网络端服务,

网络端服务只是用来收集网络数据(所以你接下来的数据全是发送到适合你的网络端服务器上)

,网络数据服务其实是一堆服务器,这里有一个管理网络服务器的出口的服务器,每个时段会获取应用服务器的空闲情况,然后返回给网络服务器,网络服务器根据闲忙情况选

择应用服务器的IP和端口。应用服务器其实也是一堆服务器,

它没有在网络上做什么特殊处理,而是在服务器结构上分得很细,

应用服务器最好每台之间独立(指的是每台服务器都是只是负责一个或者多个类型业务,最好不要几个服务器同时支持一个服务,)。

因为服务器和服务器之间的通信还是挺频繁的。这种结果能够适合大型服务器,

不过开销不小,其实你把几台选择服务器去掉,还是和上面一样的。选择服务器只是在连接上有一个选择而已,第一次选择完毕以后就不相关了!

上面这种结果能够满足一般服务了,第一种结构在设计上能很好转变成第二种结构,能否简单转换就得看你的结构好坏了!

其实还是有第三种结构的服务器,这种结果,其实你们猜都猜得到是什么样的,因为本人水平有限不卖弄第三种结构了,也许我有空会卖弄下,今天就不写了!~

【内容导航】
第1页:简单网络结构 第2页:几种技术

推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 标题: ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 本文介绍了在Docker容器技术中限制容器对CPU的使用的方法,包括使用-c参数设置容器的内存限额,以及通过设置工作线程数量来充分利用CPU资源。同时,还介绍了容器权重分配的情况,以及如何通过top命令查看容器在CPU资源紧张情况下的使用情况。 ... [详细]
  • 集合的遍历方式及其局限性
    本文介绍了Java中集合的遍历方式,重点介绍了for-each语句的用法和优势。同时指出了for-each语句无法引用数组或集合的索引的局限性。通过示例代码展示了for-each语句的使用方法,并提供了改写为for语句版本的方法。 ... [详细]
author-avatar
手机用户2602886335_120
这个家伙很懒,什么也没留下!
Tags | 热门标签
RankList | 热门文章
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有