-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path高性能游戏服务器语言的思考.txt
52 lines (33 loc) · 3.15 KB
/
高性能游戏服务器语言的思考.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#coding = UTF-8
O#狂想曲 – 高性能游戏服务器语言的思考(一)- 概览
http://www.greatony.com/?p=190
网络游戏服务器: 高性能,易扩展,易编写。
在网络游戏的服务器的设计中,有几个问题是永远的挑战,主要包括:
1)难以编写
高性能的网络游戏服务器通常使用C++结合脚本语言,抑或是诸如erlang等语言写就,门槛相对较高,研发的成本也很高,而且还很容易出bug。
2)难以扩展
众所周知,想要编写易于扩展的服务器程序相当的困难,在这个过程中跨服务器带来的失效的可能性,和通讯的速率和延迟带来风险
3)安全性和可靠性
网络游戏最担心的就是出现安全性问题,最近的暗黑破坏神3的装备和金币复制bug就是很显著的一个例子。而可靠性主要在于,服务器可以在多长的时间内稳定的运行,这对于游戏的运营来说具有重要的意义
上面提到的都是现象,我们应当透过现象来看本质,其实这些问题表达的就是如下的几个诉求:
1)无缝扩展
扩展行为对于应用的开发者来说应当是透明的,对于应用开发者,无需关心运行程序的到底是1台计算机还是100台计算机。
2)数据一致性
应用程序的开发者不需要关心我的数据到底是存储在什么位置的,不需要关心数据在集群中是否是一致的,这应该由框架的机制来保证。
3)易于编写
服务器的程序应当简化到简单的将策划文档翻译过来即可,语言必须简洁、有力
这系列文章将会围绕这几点诉求展开,谈谈我的思考。
这里先列出目录,然后逐一补全
O#狂想曲 - 高性能游戏服务器语言的思考(二)- 无缝扩展(一)- Erlang的思考
O#狂想曲 - 高性能游戏服务器语言的思考(三)- 无缝扩展(二)- O#的设计
O#狂想曲 - 高性能游戏服务器语言的思考(四)- 数据一致性(一)- Apache Cassandra项目
O#狂想曲 - 高性能游戏服务器语言的思考(五)- 数据一致性(二)- 数据库事务与事务内存
O#狂想曲 - 高性能游戏服务器语言的思考(六)- 数据一致性(三)- O#的设计
O#狂想曲 - 高性能游戏服务器语言的思考(七)- 易于编写(一)- Node.js的设计
O#狂想曲 - 高性能游戏服务器语言的思考(八)- 易于编写(二)- Python语言的设计
O#狂想曲 - 高性能游戏服务器语言的思考(九)- 易于编写(三)- Ruby语言的设计
O#狂想曲 - 高性能游戏服务器语言的思考(十)- 易于编写(四)- O#的设计
O#狂想曲 - 高性能游戏服务器语言的思考(十一)- 性能与吞吐量(一)- Node.js的背后
O#狂想曲 - 高性能游戏服务器语言的思考(十二)- 性能与吞吐量(二)- C#与.Net CLR虚拟机
O#狂想曲 - 高性能游戏服务器语言的思考(十三)- 性能与吞吐量(三)- O#的设计
O#狂想曲 - 高性能游戏服务器语言的思考(十四)- O#的全貌