在Java中跟踪websocket连接的最佳实践

时间:2017-05-18 06:55:18

标签: java data-structures websocket synchronized

假设我的游戏服务器可以托管1M用户,这意味着我需要跟踪1M websocket连接,这样做的合适数据结构(或集合)是什么?处理同步问题的策略是什么?

  1. 在添加/删除/迭代集合时对集合进行同步。 - 它可能会遇到性能问题,

  2. 没有同步,添加新连接或删除现有连接(因为用户离线)时,可能无法迭代套接字(例如发送广播消息)

  3. 使用user1;user2;user3,当用户经常在线/离线时会增加GC负载

1 个答案:

答案 0 :(得分:1)

迭代读取数据时使用readLock,写入数据时使用writeLock。这就是t-io的播放方式。