首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

游戏服务器之多进程架构通信

游戏服务器有时需要分多个进程来处理各种负载。多个进程之间的连接处理就相对复杂了。 1、服务器进程类型 (1)登陆服务器 创建账号,检验角色账号,选择和获取并返回网关信息。...(6)中心服务器 处理内部服务器之间的消息转发,和某些转发流程控制。 (7)其他服务器 还有些日志服务器、连接php(gm)服务器、跨服战服务器、聊天服务器等。...2、进程内的网络相关线程类型 进程内的网络相关线程类型(不包括主线程和逻辑线程),处理进程间通信需要处理的连接的数据发送和接收。...3)发送测试消息到对端 (3)网络接收发送线程 负责发送和接收数据(多线程,数量需要配置,每条线程处理的连接数需要是动态增长的) (4)回收线程 回收连接 主动连接相关 (1)主动连接线程 根据进程需要主动连接别的进程来增加...如场景进程需要主动连接中心服务器、社会关系服务器、网关服务器、日志服务器、数据库服务器,所以分别各自要另起连接线程。

1.8K50

Oracle架构、原理、进程

发起连接的应用程序或工具通常称为用户进程,连接发起后,Oracle服务器就会创建一个进程来接受连接,这个进程就成为服务进程服务器进程代表用户进程与Oracle实例进行通信,在专用服务器连接模式下,用户进程和服务进程是...1对1的关系,在共享服务器模式下,多个用户进程可能共享一个服务进程。...3、Oracle架构实现原理、含五大进程解析 Oracle架构,讲述了Oracle RDBMS的底层实现原理,是Oracle DBA性能调优和排错的基础理论。...将上面的Oracle RDBMS架构图进行抽象分类,可以将Oracle架构抽象为:Oracle体系 = 内存结构 + 进程结构 + 存储结构 ?...Oracle Instance主要由内存池SGA和后台进程组成。 ? 系统全局区SGA ? Oracle的架构不是很难也不是很容易,认真学肯定能学会。

2.7K21
您找到你想要的搜索结果了吗?
是的
没有找到

应用架构演化进程

所以单体时代就是将上述的三层进行单体部署,也就是说前端后端都在一个进程内,就好比在一个jvm内。...但是这种架构的问题就是随着业务的不断增加,项目的体积会越来越大,而且大家都知道软件工程师往往会通过跳槽来寻找与之能力相匹配的工作,因此单体的架构的维护成本很大。...2.Mvc时代 作者一直在想单体架构和mvc架构的区别,思来想去一直想不明白。我们知道mvc主要描述的是模型、视图、控制器。...而解决应用架构的木桶问题,就必须采用微分的思想,通过不断的合并同类项,让一些具有相同特征的代码合并然后再部署,并能够根据实际情况进行补短板。...而且单进程的姿势往往限制了本身资源利用的能力。因为我们迫切需要将其进行多进程化拆分。

31810

进程服务器

一、思路 先与客户端建立好连接, 每次监听到一个客户端之后,都需要产生一个子进程去处理这个连接,然后父进程继续去等待监听,唯一一个要注意的点就是要使用信号来监听子进程是否结束,从而对其进行回收,防止僵尸进程的产生...&opt, sizeof(opt)); (3)bind函数 bind(lfd, (struct sockaddr*)&ser_addr, sizeof(ser_addr));b这个函数主要目的就是将服务器的地址结构绑定到套接字...lfd上,所以开始要设置服务器的ser_addr:ser_addr.sin_family = AF_INET, ser_addr.sin_port = htons(8888);ser_addr.sin_addr.s_addr...监听到了客户端后,就要开始创建子进程来对这个监听进行处理;pid = fork() 3、子进程处理通信 因为子进程不需要监听连接,使用可以close(lfd);之后便可以进行通信处理 void do_work...sizeof(buf)); tcp.Write(cfd, buf, n); tcp.Write(STDOUT_FILENO, buf, n); } } 4、父进程回收子进程

4.7K20

nginx 多进程架构详解

一、进程模型 众所周知,nginx性能高,而nginx的高性能与其架构是分不开的。那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧。...其次,采用独立的进程,可以让互相之间不会影响,一个进程退出后,其它进程还在工作,服务不会中断,master进程则很快启动新的worker进程。...图2 Nginx网络事件 有人可能要问了,nginx采用worker的方式来处理请求,每个worker里面只有一个主线程,那能够处理的并发数很有限啊,多少个worker就能处理多少个并发,何来高并发呢...现在的网络服务器基本都采用这种方式,这也是nginx性能高效的主要原因。...现在,知道了nginx为什么会选择这样的进程模型与事件模型了。对于一个基本的web服务器来说,事件通常有三种类型,网络事件、信号、定时器。从上面的讲解中知道,网络事件通过异步非阻塞可以很好的解决掉。

2.4K10

机房架构,究竟怎么玩?

,临时性机房架构如何实施?...机房架构,什么是理想状态下的“同机房连接”? ?...该机房架构,并没有做到100%的“同机房连接”,通常称作伪机房架构。 伪机房架构,有“主机房”和“从机房”的差别。...伪机房架构,是一个实践性,落地性很强的架构,它对原有架构体系的冲击非常小,和单机房架构相比,仅仅是: (1)跨机房主从同步数据,会10毫秒延时; 画外音:主从同步数据,本来就会有延时。...,例如:滴滴,快狗打车; (3)伪机房架构,思路是“最小化跨机房连接”,机房区分主次,落地性强,对原有架构冲击较小,强烈推荐; 临时性机房架构,是机房迁移过程中的一个过渡状态,机房迁移步骤又该如何

1.3K21

GPU,具有Tensorflow的多进程

需要与要启动的进程一样的内核(有时内核可以处理多个“线程”,因此这是最后关注的数字)。 将使用AWS的实例p3.8xlarge,提供32个vCores和4个V100显卡。...这个包允许启动进程并创建管道以与它们通信。以下是架构的拓扑: ? 多处理图 有32个工作进程和1个主进程。...工作进程只是在玩游戏来收集数据并将其发送到主进程,主进程将训练这些数据并将新网络保存在文件中。然后,工作人员收到加载新网络,加载并再次播放N个游戏的消息。...因此,需要从主进程启动32个进程,并在主进程和每个进程(即32个管道)之间创建一个管道。还需要在主进程内创建线程以异步侦听管道。...对于GPU分配,有32个进程,4个GPU,每个16GB内存。增加每个进程的内存可以提高运行模型的进程速度。

2.2K20

Kakfa - 副本架构

---- 基本架构 ---- Kafka 副本架构 概念 Kafka 是一个高性能、分布式的消息系统,被广泛应用于各种场景中。在 Kafka 中,副本架构是保证数据可靠性的重要手段之一。...---- 优点 副本架构的优点主要有以下几点: 提高数据可靠性:副本架构可以将同一个主题的数据同时存储在多个 Broker 上,当某个 Broker 发生故障时,系统可以从其他 Broker 上获取数据...提高读写性能:副本架构可以将读请求分摊到多个 Broker 上,从而提高读取性能;同时,副本架构还可以将写请求分摊到多个 Leader 上,从而提高写入性能。...---- 缺点 但是,副本架构也存在一些缺点: 会增加系统复杂度:副本架构需要对数据进行复制和同步,会增加系统的复杂度。...---- 图解副本架构 ---- 小结 总之,副本架构是 Kafka 中保证数据可靠性和高可用性的重要手段之一。

13610

作业帮架构

今天分享下作业帮的架构,整体方案还是比较简单的,对于大家理解架构的设计和架构带来的价值应该是有帮助的。...活模式 活模式,是通过DNS的流量分配,将不同比例的流量分配到不同的云机房,在云机房里面,实现了所有服务的流量闭环。 当某个云出现故障时,通过DNS切换,将用户流量调走。...活模式是最理想的方案。 但单云服务等量的部署以及服务闭环还是很难实现的事情。 多云架构全貌 最底层是资源层,包含计算、存储、网络。...定期演练 多云架构不能停留在方法论或者方案上,为了确保多云架构真正在出现问题时可用,务实的做法是需要进行定期断网演练。 比如半年进行一次,用于发现架构的隐患问题以及预案的执行流程流畅性。...以上就是作业帮的架构设计,整体设计方案还是非常简单的,对于想做的架构的业务来说,上手还是比较简单的。

26420

Nginx服务器进程

Nginx服务器进程有3类:主进程、工作进程、缓存进程 (1)主进程 Nginx启动时运行的主要进程,主要功能是与外界通信和对内部其他进程进行管理 主要工作内容 1)读取配置文件,验证有效性和正确性...2)建立、绑定、关闭 socket 3)按照配置生成、管理、结束工作进程 4)接收指令,如 重启、升级、退出 5)不中断服务,平滑重启、升级,升级失败的回滚处理 6)开启日志文件,获取文件描述符 (2)...工作进程 由主进程生成,生成数量由配置文件指定,工作进程生存于主进程的整个生命周期 主要工作内容 1)接收请求 2)将请求依次送入各个功能模块进行过滤处理 3)IO调用,获取响应数据 4)与后端服务器通信...,接收后端服务器处理结果 5)数据缓存,访问缓存索引、查询、调用缓存数据 6)发送请求结果 7)接收主进程指令,如 重启、升级、退出 (3)缓存进程 缓存进程有两类 1)缓存索引重建进程 nginx启动后由主进程生成...,在缓存元数据重建完成后就自动退出 该进程启动后,对缓存文件的目录结构扫描,在内存中建立索引元数据库 2)缓存索引管理进程 生存于主进程的整个生命周期 负责在索引元数据更新完成后,对元数据是否过期进行判断

4.4K40

谈谈异地架构

无论是高可用计算架构,还是高可用存储架构,其本质的设计目的都是为了解决部分服务器故障的场景下,如何保证系统能够继续提供服务。但在一些极端场景下,有可能所有服务器都出现故障。...其实不然,因为实现异地架构不是没有代价的,相反其代价很高,具体表现为: 系统复杂度会发生质的变化,需要设计复杂的异地架构。...基于这个分析,跨城异地活是架构设计复杂度最高的一种,接下来将介绍跨城异地架构设计的一些技巧 技巧1:保证核心业务的异地活 “异地活”是为了保证业务的高可用,但很多架构师在考虑这个“业务”时...为了应对不同级别的故障,日志保存的要求也不一样,常见的日志保存方式有: 服务器上保存日志,数据库中保存数据,这种方式可以应对单台数据库服务器故障或者宕机的情况。...本地独立系统保存日志,这种方式可以应对某业务服务器和数据库同时宕机的情况。例如,服务器和数据库部署在同一个机架,或者同一个电源线路上,就会出现服务器和数据库同时宕机的情况。

3.2K41

MySQL两主(主)架构配置

一、角色划分 1、MySQL数据库规划 我现在的环境是:zhdy04和zhdy05已经做好了主主架构配置,现在需要的是把两台或者多台从服务器与主一一同步。 如果搭建主主环境,参照此链接!...rows affected (0.03 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) zhdy05 masterB服务器...(0.03 sec) mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) 3、数据库配置文件修改 zhdy04 masterA服务器...7、最后一步,在主服务器zhdy04 masterA创建一个数据库,也就是说这四台服务器都会有这个数据库!...8、总结 也就是说,未来我们搭建从看完这个配置是不是也有思路了?就像配置路由器一样,互相连接的互相授权下是不是就可以了?

7K90

单应用的多进程架构

然而现在时代不同了,各种第三方服务,各种『黑科技』,很多东西,都需要利用多进程来进行架构,这类服务,例如XXX推送SDK,基本上会开一个新的进程,再例如一些Web容器,也会结合新的进程来使用,还有一些插件...那么单应用多进程架构,究竟有哪些好处呢?简单的说,我可以列举下面一些: 偷内存。...内存是按照进程来进行分配的,也是通过进程来进行统计的,开辟新的进程,将为自己的应用偷偷拿到一大块内存,降低被LMK Kill的风险。 互不影响。即使新开的进程崩溃,也不会导致主应用的进程受到影响。...主应用的进程即使退出,新的进程依然可以存活,从而可以继续为应用服务,这就是推送进程最常用的方式。...虽然多进程看上去好像很美,但是,单应用多进程架构,也会给你的程序带来很多负面影响,简单的说,我也列举下面一些: Application的多次初始化。

1.5K10

中心DCOS架构与部署方案

DCOS(Data Center Operating System)定位是数据中心操作系统,也称为基础设施管理,其本质就是用于支撑数据中心里对物理资源(如物理服务器和网络设备)生命周期进行自动化管理,比如...CMDB数据导入、裸机资源发现、服务器OS部署、配置初始化、远程开关机&重启、服务器&网络设备的监控和告警等。...业务生产环境涉及RegionZoneIDC,需要在控制台上集中查看以及管控所有资源,要求服务高可用,根据业务规模可以灵活进行垂直和水平扩展。...实际交付过程中,需要根据IDC架构整理出DCOS服务依赖的各类配置项,之后先部署容器集群,再启动DCOS服务,增加部署IDC时需要重复部署集群并且手工启动服务,无法灵活扩展。...CGW提供了集中的入口管控业务环境所有资源,在增加Region或者IDC时整个架构无感知,只需增加配置项,部署架构提高了系统的可扩展性。

2.4K30
领券