本文由vivo互联网技术An Peng分享,即时通讯网收录时有内容修订和重新排版。
cover-opti.png (11.62 KB, 下载次数: 665)
下载附件 保存到相册
1 年前 上传
1.png (12.48 KB, 下载次数: 616)
2.png (78.3 KB, 下载次数: 589)
x1.png (18.49 KB, 下载次数: 595)
x2.jpg (13.48 KB, 下载次数: 617)
3.png (22.97 KB, 下载次数: 598)
4.png (38.15 KB, 下载次数: 598)
5.png (29.91 KB, 下载次数: 619)
6.png (35.27 KB, 下载次数: 646)
7.png (30.66 KB, 下载次数: 627)
8.png (33.93 KB, 下载次数: 633)
9.png (18.35 KB, 下载次数: 642)
服务端节点可能因为异常,非正常地退出,对于该场景,这里就需要有一个解绑的过程,当前实现是通过公司平台团队的分布式定时任务服务,检查持续5分钟(可配置)没有上报心跳的机器码分配节点进行数据库绑定信息清理的逻辑,重置相关机器码的位置供后续注册绑定使用。
package com.vivo.it.demo.controller; import com.vivo.it.platform.luban.id.client.GlobalIdLongClient; import com.vivo.it.platform.luban.id.dto.GlobalLongIDRequestDTO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.RequestMapping; @RequestMapping("/globalId") public class GlobalIdDemoController { @Autowired private GlobalIdLongClient globalIdLongClient; @RequestMapping("/getLongId") public String getLongId() { GlobalLongIDRequestDTO globalLongIDRequestDTO = GlobalLongIDRequestDTO.Builder() .setAgent("1") //代理,接入申请时确定 .setZone("0") //大区,接入申请时确定 .setApp("8") //应用,接入申请时确定 .setProject("7") //项目,接入申请时确定 .setIdNumber(2); //当次返回的id数量,只对getGlobalIDQueue有效,对getGlobalID(...)无效 long longId = globalIdLongClient.getGlobalID(globalLongIDRequestDTO); return String.valueOf(longId); } }
来源:即时通讯网 - 即时通讯开发者社区!
轻量级开源移动端即时通讯框架。
快速入门 / 性能 / 指南 / 提问
轻量级Web端即时通讯框架。
详细介绍 / 精编源码 / 手册教程
移动端实时音视频框架。
详细介绍 / 性能测试 / 安装体验
基于MobileIMSDK的移动IM系统。
详细介绍 / 产品截图 / 安装体验
一套产品级Web端IM系统。
详细介绍 / 产品截图 / 演示视频
引用此评论
引用:AnonXG 发表于 2023-09-02 13:33 好文,顶一下,目前在练习写IM项目时可以借鉴下相应的思路。
精华主题数超过100个。
连续任职达2年以上的合格正式版主
为论区做出突出贡献的开发者、版主等。
Copyright © 2014-2024 即时通讯网 - 即时通讯开发者社区 / 版本 V4.4
苏州网际时代信息科技有限公司 (苏ICP备16005070号-1)
Processed in 0.109375 second(s), 38 queries , Gzip On.