大神赐教!! 千万级同时在线用户服务器负载均衡 ??

时间:2021-03-27 18:40:19
使用场景:
要做一个用户登录平台, 用户数量要求支持最多是几千万同时在线这样,然后这个平台有很多个游戏(大于1000个),
每个用户可以同时加入玩多个游戏(一般就10以内),  而同一个游戏中,用户间要通过2分钟内知道整个游戏中所有用户的动态数据状态(可能某个游戏参加人数有几个到几万个不等的用户),

目前已经实现了十万级别用户的支撑要求, 如果用户不断扩大, 如何设计服务器架构,才能实现分布式, 均衡服务器的访问压力?



问题关键就是怎么处理,让同一个游戏中 随时变化的用户状态被其他用户所知道, 




或者有没有什么好的开源或者模块供参考(我们是c/c++语言实现的,其他语言排除),或者解决思路,谢谢。

好像听过Memcached分布式共享内存什么的,不知道是不是合用?

16 个解决方案

#1


补充一下: 当某个游戏用户超过1000个时, 可以仅获取到其中总数的1000个用户的动态数据即可。

#2


坐等.....学习。

#3


目前最高同时在线已经有30万了,单个服务器支撑不了60万, cpu处理不来访问请求, 


大神,给点启示!!!

#4


该回复于2014-06-12 15:59:33被管理员删除

#5


学习 大神赐教!! 千万级同时在线用户服务器负载均衡 ??

#6


论坛怎么这么冷清? 

#7


memcached只是个key-value缓存

#8


有长连接服务吗

#9


要想实时感知用户状态变化:
1 需要要client和server直接的长连接通道(总不能定期去server拉取状态吧,决定是不可取的)
2 需要有自己的消息处理服务(发送状态变化,放入消息队列,通过长连接通知client)

#10


学习 坐等大神 大神赐教!! 千万级同时在线用户服务器负载均衡 ??

#11


长连接? 应该不是用长连接吧? 这么多用户,怎么容纳,会死人的。

目前是定期UDP报告状态变化。

#12


最笨的方法升级硬件,换个cpu更多的服务器,装个2、3百G的内存,全ssd存储

另外lz现在用几台服务器来跑后台?

#13



多服务器、多数据库模式,你懂的。

#14


现在是什么架构的都不说呢。。。

#15


长连接  zookeeper保持数据同步~~初步想法~~

#16


引用 15 楼 liqi_wj 的回复:
长连接  zookeeper保持数据同步~~初步想法~~

zk做数据同步你的服务器就废了,zk最适合分布式应用的协调服务。
你可以将zk作为server的协调服务器,前端加代理进行消息分发,用memcashed做缓存进行数据同步

#1


补充一下: 当某个游戏用户超过1000个时, 可以仅获取到其中总数的1000个用户的动态数据即可。

#2


坐等.....学习。

#3


目前最高同时在线已经有30万了,单个服务器支撑不了60万, cpu处理不来访问请求, 


大神,给点启示!!!

#4


该回复于2014-06-12 15:59:33被管理员删除

#5


学习 大神赐教!! 千万级同时在线用户服务器负载均衡 ??

#6


论坛怎么这么冷清? 

#7


memcached只是个key-value缓存

#8


有长连接服务吗

#9


要想实时感知用户状态变化:
1 需要要client和server直接的长连接通道(总不能定期去server拉取状态吧,决定是不可取的)
2 需要有自己的消息处理服务(发送状态变化,放入消息队列,通过长连接通知client)

#10


学习 坐等大神 大神赐教!! 千万级同时在线用户服务器负载均衡 ??

#11


长连接? 应该不是用长连接吧? 这么多用户,怎么容纳,会死人的。

目前是定期UDP报告状态变化。

#12


最笨的方法升级硬件,换个cpu更多的服务器,装个2、3百G的内存,全ssd存储

另外lz现在用几台服务器来跑后台?

#13



多服务器、多数据库模式,你懂的。

#14


现在是什么架构的都不说呢。。。

#15


长连接  zookeeper保持数据同步~~初步想法~~

#16


引用 15 楼 liqi_wj 的回复:
长连接  zookeeper保持数据同步~~初步想法~~

zk做数据同步你的服务器就废了,zk最适合分布式应用的协调服务。
你可以将zk作为server的协调服务器,前端加代理进行消息分发,用memcashed做缓存进行数据同步