informe de investigación KBEngine (rpm)

Transferencia: https: //my.oschina.net/u/3599144/blog/1305452


Este documento es una investigación y análisis de la nueva arquitectura de servidor de viajes lado, debido al marco de auto-desarrollo es difícil extender directamente al futuro de diferentes proyectos, para proporcionar una solución de referencia para varias empresas en fase de desarrollo servidor de viajes sección de la mano. El principal punto de referencia es la persistencia de los datos, la eficiencia de concurrencia, distribuida, mecanismo de caja de arena, mecanismo de actualización caliente, la investigación y los costes de desarrollo y mantenimiento. Si el cero de acuerdo a las necesidades del desarrollo de una nueva arquitectura de servidor, requiere mucho tiempo y puede ser más daño que bien, un nuevo marco de estabilidad tomará tiempo. Debemos tratar de usar código abierto, madurar, marco de código abierto de alta activa. El cuerpo comenzará a considerar los factores de análisis de requisitos del diseño del servidor, así como la arquitectura específica del servidor prototipo que necesitamos, a continuación, analizar el programa marco de código abierto existente.

 

Capaz de permanecer en los hombros de gigantes, utilizando los resultados de estudios anteriores, es la forma más rápida y más eficaz. Hay muchos servidor de juego de código abierto, de acuerdo con nuestros propios factores, eligen la derecha. Tal motor de servidor es actualmente más activos hay: KBEngine (c ++ + pitón), scut (c # / pitón), pomelo (nodejs).

Desde la facilidad de uso y costo en cuenta, hemos decidido adoptar dos proyectos para desarrollar KBEngine, IO es un juego, es un MMORPG.

 

KBEngine parámetros completos de la encuesta:

Publicado en junio de 2012,

Open Source Dirección: https://github.com/kbengine/kbengine

número tenedor 1300

Problemas 22

solicitudes de arrastre 12

Estrella: 2000

La versión última versión: V0.9.17

número de código de confirmaciones:> 5000

El número de preocupación de la comunidad: Foro 4000 (http://bbs.kbengine.org/) + grupo de QQ 5000, los intercambios más activos

El mantenimiento continuo: A partir de ahora el mantenimiento fijo que durará

Obtenida de la red a las historias de la comunidad y el éxito: Creación Online (fin MMORPG gira a gran escala), corriente fresco de Fuzion (2D versión horizontal), las guerras de bolas (sala de realidad virtual en batalla en tiempo real), Neurowake (VR fps Batalla), tarjeta de marcha atrás marca, tanques de héroe, y así sucesivamente.

http://bbs.kbengine.org/forum.php?mod=viewthread&tid=4233&extra=page%3D1

Estudio Reclutamiento: búsqueda de Baidu para la palabra clave "prioridad kbengine familiar", se pueden encontrar decenas de empresas como sus puntos de bonificación evaluación, lo que indica que la tecnología tiene una cierta influencia.

 

Varios Demostración: 

Unity3d: https://github.com/kbengine/kbengine_unity3d_demo/releases/latest
Unity3d: https://github.com/kbengine/kbengine_unity3d_warring/releases/latest
UE4: https://github.com/kbengine/kbengine_ue4_demo/releases/ última
ogro: https://github.com/kbengine/kbengine_ogre_demo/releases/latest
Cocos2d_js: https://github.com/kbengine/kbengine_cocos2d_js_demo/releases/latest

otros:

http://bbs.kbengine.org/forum.php?mod=viewthread&tid=1940&extra=page%3D1
http://bbs.kbengine.org/forum.php?mod=viewthread&tid=4187&extra=page%3D1


Varios documentos:
http://bbs.kbengine.org/forum.php?mod=viewthread&tid=1&extra=page%3D1
http://kbengine.org/cn/docs
https://github.com/kbengine/kbengine/ Árbol / maestro / docs

 

 

composición del servidor

		      |----------|
		      |  client  | x N
		      |----------|

------------------------|-----|-------------------------------

|----------|	     |----------|         |----------|
| loginsrv | x N     |  basesrv | x N     |basesrvmgr| x 1
|----------|         |----------|         |----------|

------------------------|-----|-------------------------------


	|----------|            |----------|
	|  cellsrv | x N	    |cellsrvmgr| x 1
	|----------|            |----------|

------------------------|-----|-------------------------------


	|----------|            |----------|
	|  dbmgr   | x 1	    |interfaces| x 1
	|----------|            |----------|

------------------------|-----|-------------------------------

         |-------------------------|
            | mysql | redis | mongodb | x N
         |-------------------------|

Prueba de estabilidad:

https://www.youtube.com/watch?v=sWtk3CfxyGY
http://v.youku.com/v_show/id_XMjgyMjM0MTYwNA==.html?spm=a2h3j.8428770.3416059.1

Del lado del servidor Componente Descripción

· loginapp:
登录验证、注册、接入口。
可在多台机器部署多个loginapp进程来负载。 


· dbmgr:
高性能多线程的数据存取。
默认使用Mysql作为数据库。


· baseappmgr:
协调所有baseapp的工作,包括baseapp负载均衡处理等。


· baseapp:
客户端与服务端的交互只能通过loginapp分配的baseapp来完成。
定时写entity的数据到数据库、baseapp数据相互备份、灾难恢复。
可在多台机器部署多个baseapp进程来均衡负载。
脚本层通常会选择在baseapp上实现如:社交系统、广播聊天、排行、游戏大厅、等等逻辑系统。


· cellappmgr:
负责协调所有cellapp的工作,包括负载均衡处理等。


· cellapp:
处理游戏与空间和位置有关的逻辑,如:AOI、Navigate、AI、战斗等等。
可在多台机器部署多个cellapp进程来动态均衡负载。 


· client:
客户端我们将提供基础框架,这个框架不包括渲染部分和输入输出部分的具体实现, 
我们将提供一个lib文件和一套API接口,开发者可以选择使用自己比较适合的图形渲染引擎与输入输出控制部分。
Unity3D, HTML5, Cocos2d等技术我们提供了相关插件,能够快速的和服务端对接。


· machine:
抽象出一个服务端硬件节点(一台硬件服务器只能存在一个这样的进程)。主要用途是接收远程指令处理本机上的组件启动与关闭, 
提供本机上运行组件的接入口以及收集当前机器上的一些信息, 
如:CPU、内存等。 这些信息会提供给一些对此比较感兴趣的组件。 


· interfaces: 
支持快速接入第三方计费、第三方账号、第三方数据, 快速与运营系统耦合。


· guiconsole: 
这是一个可视化的图形界面控制台工具,可以实时的观察服务端运行状态,实时观测不同Space中Entity的动态,
并支持动态调试服务端Python逻辑层以及查看各个组件的日志,启动服务端与关闭等。 


· logger: 
收集和备份各个组件的运行日志。

breve introducción

一款开源的MMOG游戏服务端引擎,
仅Python脚本即可简单高效的完成任何游戏逻辑(支持热更新),
使用配套客户端插件能够快速与(Unity3D、UE4、OGRE、HTML5、等等)结合形成一个完整的客户端。

引擎使用C++编写,开发者无需重复的实现游戏服务端通用的底层技术,
将精力真正集中到游戏开发层面上来,稳定可靠并且快速的打造各种网络游戏。

(经常被问到承载上限,KBEngine底层架构被设计为多进程分布式动态负载均衡方案,
理论上只需要不断扩展硬件就能够不断增加承载上限,单台机器的承载上限取决于游戏逻辑本身的复杂度。)

Publicado 13 artículos originales · ganado elogios 0 · Vistas 2309

Supongo que te gusta

Origin blog.csdn.net/kbengine/article/details/78327439
Recomendado
Clasificación