毫秒级的多人实时操作后端用什么语言和数据结构比较靠谱?

2015-12-07 13:05:26 +08:00
 ansenlee
目前有个想法,多人的实时操作,每一步都保存到服务器,操作的同时其他人也可以实时看到。

这种项目用什么后端语言性能比较好?

另外,直接写入文件是不是要比写入数据库来的更快?
5613 次点击
所在节点    程序员
39 条回复
bigfei
2015-12-07 13:09:25 +08:00
nodejs 好了, eventemitter
Mirana
2015-12-07 13:10:35 +08:00
node socket.io ,如果数据库在本地那么写数据库快点
k9982874
2015-12-07 13:11:29 +08:00
c/c++
硬盘 IO 永远是最慢的,数据库有自己的 CACHE ,除非数据库 overload 。
数据可以存到 memcached ,写个其他服务或计划任务往数据库里插。如果怕丢失数据考虑消息队列。
ansenlee
2015-12-07 13:12:22 +08:00
@bigfei nodejs 处理这种毫秒级,好像并没有性能特别好
ansenlee
2015-12-07 13:13:41 +08:00
@k9982874 但是这种毫秒级的,是不是要有多个中间库才靠谱?
@Mirana socket 已在考虑范围内~~~数据库是在服务器
k9982874
2015-12-07 13:17:12 +08:00
看你的业务,中间层越多复杂度越高,越不靠谱,简单既是美。
mengzhuo
2015-12-07 13:18:39 +08:00
只有内存才可以
ansenlee
2015-12-07 13:26:52 +08:00
@k9982874
@mengzhuo

如果写缓存的话,只能考虑数据队列了。。。好惆怅
chinawrj
2015-12-07 13:28:55 +08:00
得有一个好的框架,不要保证的是多人之间的 ms 级别延时。你的写入操作应该也是抽象成一个“人”来对待,和其他人一样接收数据。只不过这个“人”是把数据保存。
chinawrj
2015-12-07 13:29:36 +08:00
@chinawrj 不能修改真痛苦。将就着看看吧。有错别字
ansenlee
2015-12-07 13:33:03 +08:00
@chinawrj 其实毫秒级别保存还好,但是多人的实时的操作同一个文件,就有点头疼了。。
vigoss
2015-12-07 14:17:47 +08:00
其实和语言关系不大,你该说说具体的场景。多人写文件可是得加锁呀。数据库肯定已经考虑好了这个问题。
shyling
2015-12-07 14:34:12 +08:00
我觉得毫秒级的或许 node 不是一个特别好的选择吧=。=
c4pt0r
2015-12-07 14:42:55 +08:00
显然是 go 啊....
cheng007
2015-12-07 14:47:22 +08:00
毫秒级啊, 你看一下面的数据,你觉着可能吗?
Mac-mini:~ ng$ ping www.baidu.com
PING www.a.shifen.com (14.215.177.37): 56 data bytes
64 bytes from 14.215.177.37: icmp_seq=0 ttl=57 time=6.383 ms
64 bytes from 14.215.177.37: icmp_seq=1 ttl=57 time=5.174 ms
64 bytes from 14.215.177.37: icmp_seq=2 ttl=57 time=5.423 ms
64 bytes from 14.215.177.37: icmp_seq=3 ttl=57 time=5.008 ms
64 bytes from 14.215.177.37: icmp_seq=4 ttl=57 time=6.042 m
hr6r
2015-12-07 15:24:17 +08:00
@cheng007 多人之间毫秒, 并不代表自己的操作之间要毫秒嘛~
ansenlee
2015-12-07 15:33:24 +08:00
@cheng007 是多人操作
c742435
2015-12-07 16:21:58 +08:00
@ansenlee 请详细说明应用场景
lightening
2015-12-07 16:26:55 +08:00
Erlang?
9hills
2015-12-07 16:28:50 +08:00
任何一种语言都可以,直接写内存,然后定时 dump 到数据库

不要毫秒级去操作数据库。。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/241688

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX