游戏服务器的多进程|游戏服务器租用
一旦走上多进程之路,开发者也发现了多进程系统的一些其他好处:可以利用多核CPU能力;使用操作系统的工具可以更仔细地监控运行状态,使灾难恢复更容易。多进程系统的经典模型是“三层架构”:
在多进程架构下,开发人员一般倾向于将每个模块的功能独立开发成一个进程,然后使用进程间通信来协调和处理完整的逻辑。这种思想是一种典型的“流水线和过滤器”架构模式——将每个进程视为一个过滤器,用户发送的数据包流经由多个过滤器连接而成的流水线,最终得到完整的处理。因为使用了多个进程,首先,用一个进程和一个线程来构造每个进程。这样对于游戏程序的开发来说,结构就清晰简单多了,可以获得更高的性能。
虽然有很多优点,但是在多进程系统中还有一个需要特别注意的问题——数据存储。由于数据的一致性,很难将存储过程分为多个过程。即使关系数据分为数据库和表,也非常复杂,取决于业务类型。而且,如果单个逻辑处理流程无法承载,开发人员很难并行扩展特定的业务逻辑,因为其内存中的数据很难分割和同步。他们可能会选择使业务逻辑流程无状态化,但这增加了存储流程的性能压力,因为每个业务流程都需要在存储流程中提取或写入数据。
除了数据问题,多进程架构还带来了一系列的运营开发问题:一是整个系统的部署比较复杂,因为需要连接配置多个不同类型的进程,导致需要管理大量的配置文件;其次,由于进程间通信较多,需要定义大量的协议。对于单个进程下的函数调用所解决的问题,必须在多个进程下定义一组请求和响应协议,这导致整个源代码规模增加一个数量级。最后,整个系统被肢解成许多短功能的代码片段。如果不了解整体结构,就很难理解一个完整的业务流程是如何处理的,这就使得代码的阅读和交接成本极高,尤其是在游戏领域。因为业务流程变化非常快,几乎没有人能完全掌握修改后的系统内容。有不懂的请咨询梦飞服务器了解。