当前位置: 首页 > article >正文

IM社交-前言

最近从0到1在写一个IM系统,在此基础上做社交功能。

  • 整体是c/s架构
  • 前端界面使用Fyne(go领域的GUI), 后端golang.
  • 第一版 数据交互 使用tcp socket
  • 前端存储消息使用sqlite,包含离线消息同步
  • 后端存储离线消息使用mongodb, 定时清理过期的消息
  • 视频初版并没有采用云方案:上传后拿到一个url, 而是直接使用tcp传输,不依赖其它。这样做的原因一方面是减少依赖,二是就想使用tcp传输大文件看看效果,为后续quic的可能做些铺垫
  • 社交关系使用neo4j【待做】
  • 群聊推送在使用多台IM服务器时,使用pulsar/kafka 分发消息,以及nginx转发tcp流量
    目前功能演示如下:

IM演示

为什么要写这个,呃,就像某导演说的,要不是因为这点醋,谁包这饺子啊!为了quic/http3协议,才写这个项目,希望能坚持到底吧……


http://www.kler.cn/news/284899.html

相关文章:

  • 负载均衡的分类有哪些?
  • 路由策略工具
  • 51单片机——模块化编程
  • Kafka分布式集群部署实战:跨越理论,直击生产环境部署难题与解决方案,性能调优、监控与管理策略大揭秘,轻松上手分布式消息中间件
  • 【SQL基础】【leetcode】SQL50题
  • 『功能项目』技能释放【08】
  • Java设计模式【解释器模式】-行为型
  • 【QT线程学习】
  • PowerDesigner16.5 从mysql5.7逆向工程
  • ClickHouse的安装教程
  • 计算机网络概述(Internet结构和ISP)
  • matlab仿真 信道编码和交织(下)
  • 【docker】docker学习笔记
  • Datawhale AI夏令营 第五期 CV方向 Task3笔记
  • GD - GD32350R_EVAL - PWM实验和验证1
  • React原理之Diff算法
  • ESP32-S3 IDF框架 控制 WS2812 灯条:实现多种灯效
  • 【通过h5作为中转页跳转到微信小程序】
  • 【Linux】06.Linux 下的编译器——gcc/g++
  • 【C++ 第十八章】C++11 新增语法(2)
  • vue3+el-tale封装(编辑、删除、查看详情按钮一起封装)
  • 【HarmonyOS 4.0】@ohos.router 页面路由
  • ★ 算法OJ题 ★ 力扣11 - 盛水最多的容器
  • sqlite3 数据插入效率
  • YOLOv8改进 | 模块缝合 | C2f融合卷积重参数化OREPA【CVPR2022】
  • Having trouble using OpenAI API
  • 回归预测|基于鹅GOOSE优化LightGBM的数据回归预测Matlab程序 多特征输入单输出 2024年优化算法
  • vue3本地运行错误集
  • 5.3 MySql实战
  • Xilinx FPGA在线升级——升级思路