首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当新消息生成时,聊天应用程序如何知道从后台数据库服务器拉取?

当新消息生成时,聊天应用程序可以通过以下方式知道从后台数据库服务器拉取:

  1. 实时推送:聊天应用程序可以利用实时推送技术,如WebSocket或长轮询,与后台数据库服务器建立持久连接。当新消息生成时,后台服务器可以主动推送消息给聊天应用程序,避免了轮询请求的开销和延迟。腾讯云提供了实时音视频解决方案TRTC,可以用于快速构建实时通信功能。
  2. 轮询请求:聊天应用程序可以定期向后台数据库服务器发送轮询请求,检查是否有新消息。轮询请求的频率可以根据具体需求进行调整,以平衡实时性和性能开销。腾讯云的云服务器CVM和负载均衡CLB可以提供可靠的后台服务支持。
  3. 消息队列:聊天应用程序可以利用消息队列来解耦消息生成和消息消费的过程。当新消息生成时,将消息发送到消息队列中,然后聊天应用程序从消息队列中拉取消息。消息队列可以提供高可用性、削峰填谷、异步处理等特性,有效地缓解数据库服务器的压力。腾讯云的消息队列CMQ和分布式消息中间件CMQ-T可以用于构建高性能的消息系统。
  4. 缓存机制:聊天应用程序可以引入缓存机制,将最新的消息缓存在内存中,以减少对数据库服务器的频繁读取。当新消息生成时,先更新缓存,聊天应用程序可以直接从缓存中获取最新消息,提高响应速度。腾讯云的分布式缓存TencentDB for Redis和全球分布式数据库TDSQL可以提供高性能的缓存服务。

总结起来,聊天应用程序可以通过实时推送、轮询请求、消息队列和缓存机制等方式,从后台数据库服务器拉取新消息。腾讯云提供了相应的产品和服务来支持构建高性能的聊天应用程序,具体推荐的产品有:TRTC、CVM、CLB、CMQ、CMQ-T、TencentDB for Redis和TDSQL。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

跟着源码学IM(十一):一套基于Netty的分布式高可用IM详细设计与实现(有源码)

客户端拉消息通过一个本地的旧的序列号来拉取服务器的最新消息;5)为了保证消息必达,在线客户端还增加一个定时器,定时向服务端拉取消息,避免服务端向客户端发送拉取通知的包丢失导致客户端未及时拉取数据。...如果客户端一边正在拉取数据,一边有新的增量消息push过来。如何做隔离?本地设置一个全局的状态,当客户端拉取完离线消息后设置状态为1(表示离线消息拉取完毕)。...当客户端收到拉取实时消息,会启用一个轮询监听这个状态,状态为1后,再去向服务器拉取消息。...;3)群离线消息过多:群消息分页拉取,第二次拉取请求作为第一次拉取请求的ack;4)对于消息未读数场景,每个用户维护一个全局的未读数和每个会话的未读数,当群聊非常大时,未读资源变更的QPS非常大。...解决办法是按需拉取,当群消息有新消息时候发送时候,服务端主动推送新的消息数量,然后客户端分页按需拉取数据。21.14为什么除了单聊、群聊、推送、离线拉取等实时性业务,其他的业务都走http协议?

1.2K40

从新手到专家:如何设计一套亿级消息量的分布式IM系统

6、新息的“推模式 vs 拉模式 vs 推拉结合模式” 在IM系统中,新消息的获取通常会有三种可能的做法: 1)推模式:有新消息时服务器主动推给所有端(iOS、Android、PC等); 2)拉模式:由前端主动发起拉取消息的请求...,为了保证消息的实时性,一般采用推模式,拉模式一般用于获取历史消息; 3)推拉结合模式:有新消息时服务器会先推一个有新消息的通知给前端,前端接收到通知后就向服务器拉取消息。...推拉结合模式简化图如下: 4.png 可以使用推拉结合模式解决推模式可能会丢消息的问题:即在用户发新消息时服务器推送一个通知,然后前端请求最新消息列表,为了防止有消息丢失,可以再每隔一段时间主动请求一次...这种做法的性能瓶颈会在拉取历史会话列表那里,因为每次新消息都需要拉取后端一次,如果按微信的量级来看,单是消息就可能会有20万的QPS,如果历史会话列表放到MySQL等传统DB的话肯定抗不住。...[4] 一套亿级用户的IM架构技术干货(上篇):整体架构、服务拆分等 [5] IM消息ID技术专题(二):微信的海量IM聊天消息序列号生成实践(容灾方案篇) [6] 快速裂变:见证微信强大后台架构从0

3.4K01
  • 如何设计一个亿级消息量的 IM 系统

    推模式 vs 拉模式 vs 推拉结合模式 在IM系统中,新消息的获取通常会有三种可能的做法: 推模式:有新消息时服务器主动推给所有端(iOS、Android、PC等) 拉模式:由前端主动发起拉取消息的请求...,为了保证消息的实时性,一般采用推模式,拉模式一般用于获取历史消息 推拉结合模式:有新消息时服务器会先推一个有新消息的通知给前端,前端接收到通知后就向服务器拉取消息 推模式简化图如下: ?...在用户发新消息时服务器推送一个通知,然后前端请求最新消息列表,为了防止有消息丢失,可以再每隔一段时间主动请求一次。...但这样仍然可能丢失会话的最后一条消息,为了加大消息的可靠性,可以在历史会话列表的会话里再带上最后一条消息的ID,前端在收到新消息的时候会先拉取最新的会话列表,然后判断会话的最后一条消息是否存在,如果不存在...这种做法的性能瓶颈会在拉取历史会话列表那里,因为每次新消息都需要拉取后端一次,如果按微信的量级来看,单是消息就可能会有20万的QPS,如果历史会话列表放到MySQL等传统DB的话肯定抗不住。

    3.2K53

    微信团队分享:微信直播聊天室单房间1500万在线的消息架构演进之路

    ① 实时通知:发送消息时,在写入列表后,向recvsvr集群发送通知。 ② 异步拉取:recvsvr机器收到通知后,触发异步线程拉取。...③ 兜底轮询:当recvsvr机器上接收到某个聊天室的请求时,触发该聊天室的轮询,保证1s内至少访问一次消息列表,避免通知失效导致无法更cache,同时做到机器启动时数据的自动恢复: ?...回到1.0版本的一个方案细节:我们可以看到大部分情况下,当新消息到来的时候,recvsvr它都是能及时感知到的,因此recvsvr一次拉取到的消息条数并不会很多,因此这一步骤上不会丢消息。...④ 异步拉取:由异步任务来执行②的拉取和组合数据。 ⑤ 原子切换:完整的在线列表做双指针,利用原子操作无锁切换,做到无锁查询。...的来龙去脉》 《QQ 18年:解密8亿月活的QQ后台服务接口隔离技术》 《月活8.89亿的超级IM微信是如何进行Android端兼容测试的》 《一篇文章get微信开源移动端数据库组件WCDB的一切

    2.6K10

    开源免费在线客服系统-真正免费开源-GOFLY0.3.3发布-极简强大Go语言开发网页客服

    极简强大Go语言开发在线客服GOFLY0.3.3发布 更新日志: ##### V0.3.3 1.访客/客服端聊天界面样式修改 2.访客端展示客服头像信息 3.访客到来自动打开,以及参数控制 4.访客/客服端聊天信息默认折叠...5.客服端新消息提醒标识 6.客服端访客列表展示访客正在输入信息 ##### V0.3.2 1.修改访客界面样式,更加简洁扁平 2.修改自动欢迎界面样式增加聊天框效果 3....修改数据库时间字段类型,兼容mysql5.7 4.修复数据库执行sql获取错误信息 ##### V0.3.1 1.修改在线咨询浮框样式 2.修改数据库时间字段类型,兼容mysql5.5...+ ##### V0.2.9 1.访客开多个窗口时 , 单点登录关闭旧ws连接 2.访客切换窗口时可以自动重连 3.访客到来时 , http接口和ws接口同时发送给客服上线信息...4.客服后台定时拉取在线访客接口 5.客服后台切换tab拉取在线访客 下载地址: https://gitee.com/taoshihan/go-fly/releases 开源地址:

    1.7K20

    系统设计:即时消息服务

    当一个用户想要向另一个用户发送消息时,他们将连接到聊天服务器并将消息发送到服务器;然后,服务器将该消息传递给其他用户,并将其存储在数据库中。...假设一台现代服务器可以在任何时候处理50K并发连接,我们将需要10K这样的服务器。 我们如何知道哪个服务器拥有与哪个用户的连接?...然后,聊天服务器可以向发送者发送确认;我们不需要等待将消息存储在数据库中(这可能发生在后台)。 Messager如何维护消息的顺序? 我们可以为每条消息存储一个时间戳,即服务器接收消息的时间。...B存储和检索数据库中的消息 每当聊天服务器收到新消息时,它都需要将其存储在数据库中。为此,我们有两种选择: 1.启动一个单独的线程,该线程将与数据库一起存储消息。...HBase也是一个高效的数据库,用于存储各种大小的数据,这也是我们的服务所需要的。 客户端应该如何有效地从服务器获取数据? 从服务器获取数据时,客户端应分页。

    5.9K652

    开源免费在线客服系统-真正免费开源-GOFLY0.3.5发布-极简强大Go语言开发WEB网页客服

    极简强大Go语言开发在线客服GOFLY0.3.5发布 更新日志: ##### V0.3.5 新增分开系统自动断线与客服关闭连接 修复没有设置欢迎时tip显示错误问题 修复客服端发送消息错误提示不显示问题...修复一些界面问题 修复死锁问题 ##### V0.3.3 1.访客/客服端聊天界面样式修改 2.访客端展示客服头像信息 3.访客到来自动打开,以及参数控制 4.访客/客服端聊天信息默认折叠 5.客服端新消息提醒标识...6.客服端访客列表展示访客正在输入信息 ##### V0.3.2 1.修改访客界面样式,更加简洁扁平 2.修改自动欢迎界面样式增加聊天框效果 3.修改数据库时间字段类型,兼容mysql5.7...4.修复数据库执行sql获取错误信息 ##### V0.3.1 1.修改在线咨询浮框样式 2.修改数据库时间字段类型,兼容mysql5.5+ ##### V0.2.9 1.访客开多个窗口时 , 单点登录关闭旧...ws连接 2.访客切换窗口时可以自动重连 3.访客到来时 , http接口和ws接口同时发送给客服上线信息 4.客服后台定时拉取在线访客接口 5.客服后台切换tab拉取在线访客 下载地址: https

    1.8K10

    适合新手:从零开发一个IM服务端(基于Netty,有完整源码)

    为了方便地水平扩展,我们使用消息队列进行解耦: 1)transfer接收到消息后如果发现用户不在线,就发送给消息队列入库; 2)用户登录时,服务器从库里拉取离线消息进行推送。...例如: 1)如何保证消息的顺序和唯一 2)多个设备在线如何保证消息一致性 3)如何处理消息发送失败 4)消息的安全性 5)如果要存储聊天记录要怎么做 6)数据库分表分库 7)服务高可用...关于消息ID的生成算法方面的文章,请详细参考: 《融云技术分享:解密融云IM产品的聊天消息ID生成策略》 《微信技术分享:微信的海量IM聊天消息序列号生成实践(算法原理篇)》 《微信技术分享:微信的海量...当客户端登录时,就会从数据库中获取该用户的所有的relation,存在内存中,以便后续加密解密; 3)当客户端给某个好友发送消息时,取出内存中该关系的密钥,加密后发送。...用户上线时按照条件to_user_id=用户id拉取记录即可。

    3.4K31

    TIMSDK 常见问题

    只要不删除这条消息可以继续使用,但无法从漫游消息拉取过期的文件消息; 若对过期的文件消息调用 getToFile() 方法,则返回 6009; 若请求过期的文件 URL,则返回 HTTP 4xx 错误;...建议根据不同的 UI 界面来开启或关闭 forceUpdate,参考微信,会话列表界面时,使用本地缓存的头像,进入用户资料页时再强制拉取资料数据进行更新 当 forceUpdate = true 时,会强制从后台拉取数据...当 forceUpdate = false 时,则先在本地查找,如果本地没有数据则再向后台请求数据。 4.如何获取本地存储的用户资料?...TIMFriendshipManager 类下的 query 方法来获取本地存储资料数据,使用 query 方法前需要事先通过 getSelfProfile() 或 getUsersProfile() 从网络拉取数据到本地...只有在用户收到推送并打开 APP 后,SDK 才会自动重连上服务器并拉取离线的消息和通知。 集成离线推送文档链接:点击跳转 社区指引及常见问题:点击跳转 3.登录后我会收到哪些状态回调?

    5.7K102

    网页端收消息,究竟是推还是拉?

    一般来说: 有服务对消息进行逻辑处理 有数据库对数据进行落地 有缓存对数据进行加速 抛开这些技术细节不谈,暂且认为服务端对每一个用户都有一个“待收消息”的队列,里面存放了需要给这个用户的一切消息。...消息的接收方,也就是用户A,如果是在网页端登录,因为HTTP协议是“请求-响应”式的,服务端与网页之间没有消息通道,对于这类“收消息”的需求,是如何处理的呢? 方案一、轮询拉取 ?...轮询拉取,是最容易想到的实现方式: 发送方发送了消息,先入队列 网页端起一个timer,每个一段时间(例如10秒),发起一个轮询请求,拉取队列里的消息 如果队列里有消息,就返回消息 如果队列里无消息,就...10秒后再次轮询 这种方式的优势是:实现简单,直观且,容易理解,互联网兴起时,人数不多的聊天室就是这么玩的。...场景三,新消息来时,正好有通知连接在,则: 新消息来时,正好有通知连接在 通知连接实时将消息带回 立马再发起通知连接 上面三个场景的最终状态,都是“一定,永远,会有一条通知连接,连接在浏览器与服务器之间

    88020

    消费者原理分析-RocketMQ知识体系4

    PullMessageService 从消息服务器默认每次拉取 32 条消息,按消息的队列偏移量顺序存放在 ProcessQueue 中,PullMessageService 再将消息提交到消费者消费线程池...,设置下一次拉取任务的 brokerId 如果 commitlog 标记可用并且当前节点为主节点,则更新消息消费进度 【消息拉取长轮询机制】 RocketMQ 推模式是循环向消息服务端发送消息拉取请求...如果开启长轮询模式,rocketMQ 会每 5s 轮询检查一次消息是否可达,同时一有新消息到达后立马通知挂起线程再次验证新消息是否是自己感兴趣的消息,如果是则从 commitlog 文件提取消息返回给消息拉取客户端...,否则直到挂起超时,超时时间由消息拉取方在消息拉取时封装在请求参数中,PUSH 模式默认 15s。...当生产者发送最新消息过来后,首先持久化到commitLog文件,通过异步方式同时持久化consumerQueue和index。

    1.3K31

    直播系统聊天技术(七):直播间海量聊天消息的架构设计难点实践

    客户端拉取消息示例: 用户端本地最大时间为 1585224100000,从 server 端可以拉取到比这个数大的两条消息。 7.3 消息控速 服务器应对海量消息时,需要做消息的控速处理。...如果产生新消息时用户有拉取中标记: 1)距设置标记时间在 2 秒内,则不会下发通知(降低客户端压力,丢弃通知未丢弃消息); 2)超过 2 秒则继续下发通知(连续多次通知未拉取则触发用户踢出策略,不在此赘述...具体如何划分,应该是可以开放出方便的接口进行设置的。 服务器对三种消息执行不同的限速策略,在高并发时,低优先级消息被丢弃的概率最大。...这里需要注意的是:首次加入直播间聊天室时,本地并没有有效时间戳,此时会传 0 给服务拉取最近 50 条消息并存库。后续再次拉取时才会传递数据库里存储的消息的最大时间戳,进行差量拉取。...另外:直播间聊天室中的消息即时性较强,直播结束或用户退出聊天室后,之前拉取的消息大部分不需要再次查看,因此在用户退出聊天室时,会清除数据库中该聊天室的所有消息,以节约存储空间。

    2.8K30

    为什么要使用Node.js?

    分析一下聊天室是如何工作的。 最简单的例子,在我们的站点上只有一个聊天房间,所用的用户采用一对多的形式交换消息。假设我们的房间里有三个已经建立连接的用户。...当一个用户发送消息,会经过如下几步: 浏览器监听发送按钮点击,JavaScript处理事件,从输入框中获取消息内容,websocket发送消息。...尤其是用在为不同响应时间的服务做代理,或者从多个源点收集数据。 举个例子:服务端应用需要和第三方资源沟通,从多个源点拉取数据,或者将图像视频等资源存储到第三方服务。...尽管最初的后台处理可能在同一台服务器上运行,但这种方法具有非常高的可伸缩性。这些后台处理服务可以很容易地分发到分离的worker服务器,而无需配置前向Web服务器的负载。...总结 我们从理论到实践讨论Node.js,从它的目标和抱负开始,到它的甜头和陷阱。当开发者遇到Node.js的问题时,认为阻塞是万恶之源,99%的原因是滥用Node.js造成的。

    3.3K21

    百度公共IM系统的Andriod端IM SDK组件架构设计与技术实现

    主要流程如下:8.2挑战二:如何避免同步失败时消息丢失问题问题描述:为了降低服务端qps,在拉取会话时增加了versionCode机制,如果第一次拉取会话后没有新会话产生,后续拉会话时服务端根据versionCode...如果在拉取完会话后,每条会话消息还未拉去完毕,此时断网或长连接中断,导致部分会话的消息没有拉取或没有拉取完毕,状态恢复再次重试拉取时由于已经获取到了最新的versionCode,再次从server拉取会话时无法拉取到会话...以新消息通知为例:如果有其他用户给当前用户发送消息,消息到达服务端后,服务端根据用户在线状态,通过长连接通道下发新消息通知;端根据约定解析对应通知消息,识别新消息通知,开始拉取新消息操作,拉取新消息后更新会话...10、核心流程4:消息收发10.1挑战一:以什么样的方式获取新消息问题描述:当有其他用户给当前设备发消息时,要实时展现其他用户发送的消息,就要及时地获取到对应消息。...方案描述:用户发送新消息时,服务端拣选新消息关键信息字段,构造一条通知消息推送给接收人。接收人收到通知消息后,解析通知消息内容,理解对用通知操作后,从服务端拉取新消息。

    1900

    《基于实践,设计一个百万级别的高可用 & 高可靠的 IM 消息系统》

    ack 机制 基于拉模式实现的数据拉取请求(第一次 fetch 接口)与数据拉取确认请求(第二次 fetch 接口)是成对出现的; 客户端二次调用 fetch 接口,需要将上次消息消费的锚点告诉服务端...如果比本地的小,说明该消息已经收到,忽略不处理; 如果比本地的大,使用本地的消息编号,向服务端拉取大于本地的消息编号的消息列表,即增量消息列表。...拉取完成后,更新消息列表中最大的消息编号为新的本地的消息编号; (2)服务端在收到 ack 消息时,进行批量标记已读或者删除 好处:这种方式,在业务被称为推拉结合的方案,在分布式消息队列、配置中心、注册中心实现实时的数据同步...系统保持长连接,当用户状态被检测为离线时,通过这个长连接告知客户端“有新消息”,进而唤醒手机弹窗标题。...第三方厂商 PUSH 系统 原理 在系统级别,每个硬件系统都会与对应的手机厂商保持长连接,当用户状态被检测为离线时,后台将推送报文通过 HTTP 请求,告知第三方手机厂商服务器,进而通过系统唤醒

    1.9K42

    Gossip 协议解析

    通过 Gossip 协议传播消息的不同策略如下[8],[5],[2]: 推送模型 拉取模型 推拉模型 推送模型 当只有少量更新消息时,推送模型是高效的,因为它会产生流量开销。...推送模型中,具有最新消息的节点将消息发送给其他节点的随机子集[8]。 拉取模型 每个节点在拉取模型中主动轮询随机节点的子集,以查找任何更新消息。...当存在许多更新消息时,此方法是高效的,因为很有可能找到具有最新更新消息的节点[8]。 推拉模型 推拉模型是快速可靠地传播更新消息的最佳策略[2]。节点可以推送新的更新消息,也可以拉取新的更新消息。...在初始阶段使用推送方法是高效的,因为只有很少的节点具有更新消息。在最后阶段,由于有很多具有许多更新消息的节点,使用拉取方法是高效的[8]。...生成时钟是一个递增的表示服务器生成的数字。每当节点重新启动时,生成时钟都会增加。版本号保证应用程序状态的排序和版本控制。版本号只能递增[6]。

    30710

    消息中间件—RocketMQ消息消费(一)

    方式,如何设置Pull消息的频率需要重点去考虑,举个例子来说,可能1分钟内连续来了1000条消息,然后2小时内没有新消息产生(概括起来说就是“消息延迟与忙等待”)。...—PullRequestHoldService会从pullRequestTable本地缓存变量中不断地去取,具体的做法是查询待拉取消息的偏移量是否小于消费队列最大偏移量,如果条件成立则说明有新消息达到Broker...Push模式实际上在内部还是使用的Pull方式实现的,通过Pull不断地轮询Broker获取消息,当不存在新消息时,Broker端会挂起Pull请求,直到有新消息产生才取消挂起,返回新消息。...这里算是比较典型的生产者-消费者模型,实现了准实时的自动消息拉取。然后,再根据业务反馈是否成功消费来推动消费进度。...思考题 使用RocketMQ的Pull模式进行消息消费时,由上面可知该模式下无需自动拉取消息,这样在DefaultMQPullConsumerImpl启动时,消息拉取线程—PullMessageService

    1.9K30

    微信团队分享:微信直播聊天室单房间1500万在线的消息架构演进之路

    ① 实时通知:发送消息时,在写入列表后,向recvsvr集群发送通知。 ② 异步拉取:recvsvr机器收到通知后,触发异步线程拉取。...③ 兜底轮询:当recvsvr机器上接收到某个聊天室的请求时,触发该聊天室的轮询,保证1s内至少访问一次消息列表,避免通知失效导致无法更cache,同时做到机器启动时数据的自动恢复: ④ 无锁读取:通过读写表分离和原子切换...回到1.0版本的一个方案细节:我们可以看到大部分情况下,当新消息到来的时候,recvsvr它都是能及时感知到的,因此recvsvr一次拉取到的消息条数并不会很多,因此这一步骤上不会丢消息。...④ 异步拉取:由异步任务来执行②的拉取和组合数据。 ⑤ 原子切换:完整的在线列表做双指针,利用原子操作无锁切换,做到无锁查询。...图片回到longpolling机制,我们可以发现,正常运行下,recvsvr没有新消息时,是可以让请求挂在proxy层hold住,等待连接超时或者longpolling notify的。

    75700

    RocketMQ HA机制(主从同步)

    RocketMQ主从同步架构中,如果主服务器宕机,从服务器会接管消息消费,此时消息消费进度如何保持,当主服务器恢复后,消息消费者是从主拉取消息还是从从服务器拉取,主从服务器之间的消息消费进度如何同步?...那问题来了,主服务器宕机后,从服务器接管消息消费后,那消息消费进度存储在哪里?当主服务器恢复正常后,消息是从主服务器拉取还是从从服务器拉取?主服务器如何得知最新的消息消费进度呢?...第二种是,消息消费者在向主服务器拉取消息时,如果是是主服务器,在处理消息拉取时,也会更新消息消费进度。...3.2.2 主服务器消息拉取时更新消息消费进度 主服务器在处理消息拉取命令时,会触发消息消费进度的更新,其代码入口为:PullMessageProcessor#processRequest 1 boolean...;消息消费者向主服务器拉取消息时,如果消息消费者内存中存在消息消费进度时,主会尝试跟新消息消费进度。

    3.9K20

    基于实践:一套百万消息量小规模IM系统技术要点总结

    6.2 ack 机制 技术原理: 1)基于拉模式实现的数据拉取请求(第一次 fetch 接口)与数据拉取确认请求(第二次 fetch 接口)是成对出现的; 2)客户端二次调用 fetch 接口,需要将上次消息消费的锚点告诉服务端...- 拉取完成后,更新消息列表中最大的消息编号为新的本地的消息编号; 2)服务端在收到 ack 消息时,进行批量标记已读或者删除。...8.1 企业自研后台离线 PUSH 系统 技术原理: 在应用级别,客户端与后台离线 PUSH 系统保持长连接,当用户状态被检测为离线时,通过这个长连接告知客户端“有新消息”,进而唤醒手机弹窗标题。...8.2 企业自行对接第三方厂商 PUSH 系统 技术原理: 在系统级别,每个硬件系统都会与对应的手机厂商保持长连接,当用户状态被检测为离线时,后台将推送报文通过 HTTP 请求,告知第三方手机厂商服务器...解决一致性问题的切入点有很多,最常见的是使用有序的消息唯一id,关于有序且唯一的ID生成问题,微信团队的思路就很好,可以借鉴一下《微信技术分享:微信的海量IM聊天消息序列号生成实践(算法原理篇)》。

    2.1K31
    领券