在Java中跟踪websocket连接的最佳实践
假设我的游戏服务器可以承载一百万用户,这意味着我需要跟踪一百万个websocket连接,那么适合这样做的数据结构(或集合)是什么?处理同步问题的策略是什么在Java中跟踪websocket连接的最佳实践,java,data-structures,websocket,synchronized,Java,Data Structures,Websocket,Synchronized,假设我的游戏服务器可以承载一百万用户,这意味着我需要跟踪一百万个websocket连接,那么适合这样做的数据结构(或集合)是什么?处理同步问题的策略是什么 添加/删除/迭代集合时对集合进行同步。-它可能会影响性能问题 没有同步,当添加新连接或删除现有连接(因为用户脱机)时,它可能无法迭代套接字(例如发送广播消息) 使用CopyOnWriteArrayList,当用户频繁在线/离线时,它会增加GC负载 迭代读取数据时使用readLock,写入数据时使用writeLock。这就是游戏的方式
迭代读取数据时使用
readLock
,写入数据时使用writeLock
。这就是游戏的方式