开源IM项目OpenIM部署流程

一、OpenIM 是什么?

OpenIM,全称一般叫 OpenIM SDK / OpenIM Server,是一个开源的即时通讯(IM)整体解决方案。它的定位不是一个简单聊天框,而是一个:

💬 可用于商业系统的 IM 基础能力底座

GitHub 地址: 

https://github.com/OpenIMSDKhttp://OpenIMSDK

二、核心能力

它支持:

  • 单聊
  • 群聊
  • 好友系统
  • 会话列表
  • 离线消息
  • 多端同步
  • 消息撤回
  • 已读回执
  • 语音/图片/文件
  • WebRTC 音视频(可扩展)

三、优点

  1. 代码全部开源,永久免费
  2. 支持高并发
  3. 社区活跃
  4. Docker 支持
  5. 多端 SDK 很齐全

四、缺点(实话实说)

  1. 部署复杂(微服务 + Kafka)
  2. 运维成本高
  3. 资源占用不小
  4. 文档不算特别清晰(踩坑不少)
  5. 升级版本容易改配置

五、适合什么场景?

适合:

  • 商业IM
  • 需要完整聊天体系
  • 多端同步
  • 有运维能力

不适合:

  • 只是简单聊天
  • 小项目
  • 单服务器轻量需求

六、docker 快速部署

官方提供了快速部署的包:

# 我是在/opt目录下执行的 cd /opt git clone https://github.com/openimsdk/openim-docker

直接运行:

cd /openim-docker docker compose down docker compose up -d 

它用到了非常多的依赖,比如redis\minio\etcd\kafka等等。因此如果你的服务器是干净的话,那下载完镜像就会正常启动了,但是如果你服务器上docker已经运行了部分实例,那得改改docker compose 配置文件。

停止服务:

docker compose down

我以redis为例:

我这里有个名为redis的实例,端口占用的是6379。

这个实例又不能删掉。因此我们只能修改openim的配置:

vim docker-compose.yaml

首先是修改实例名、然后改相应端口等等。熟悉docker的朋友应该是没什么问题。

操作完基本上就可以正常启动了:

这个是启动健康检查的状态。等待1-2分钟即可:

七、相关默认参数\端口

WebSocket 地址一般是:

ws://你的服务器IP:10001

HTTP API:

http://你的服务器IP:10002

聊天demo:

http://你的服务器IP:11001

Read more

【Git#1】初识 git(配置 & 基本认识 & 文件操作)

【Git#1】初识 git(配置 & 基本认识 & 文件操作)

📃个人主页:island1314 ⛺️ 欢迎关注:👍点赞 👂🏽留言 😍收藏 💞 💞 💞 * 生活总是不会一帆风顺,前进的道路也不会永远一马平川,如何面对挫折影响人生走向 – 《人民日报》 🔥 目录 * 一、前言 * 二、git 基本操作 * 1. 创建 Git 本地仓库 * 2. 配置 git * 三、认识工作区、暂存区、版本库 * 四、文件操作 * 1. 添加文件 -- 场景一 * 2. 了解 .git 下目录及文件 * 3. 添加文件 -- 场景二 * 4. 修改文件 * 5. 版本回退 * 6. 撤销修改 * 1️⃣对于工作区的代码,还没有

By Ne0inhk
GitHub介绍指南

GitHub介绍指南

作为程序员,GitHub 绝对是日常开发、技术成长、团队协作的核心工具——它不只是“代码仓库”,更是全球1亿+开发者的技术生态枢纽,从个人项目管理到大型团队协作,从开源学习到职场背书,吃透它能大幅提升开发效率、拓宽技术视野,是程序员不可或缺的“刚需装备”。 一、先厘清关键:GitHub ≠ Git(避免踩坑)        很多开发者初期会混淆两者,用两个通俗比喻就能快速区分,核心关系一句话概括:Git 负责“本地记录”,GitHub 负责“云端共享”: * Git:你本地电脑的“代码版本管理工具”(软件),无需联网,核心作用是记录代码每一次修改、管理分支、一键回退版本,相当于你私人的“代码日记本”,解决“改崩代码回不去”“多个最终版文件夹混乱”的痛点。 * GitHub:基于 Git 搭建的在线平台(网站),需联网使用,核心是将本地

By Ne0inhk
[JAVA探索之路]带你理解Git工作流程

[JAVA探索之路]带你理解Git工作流程

目录 引言 一、Git核心概念 二、四种主流工作流 中心化工作流 功能分支工作流 GitFlow工作流 Forking工作流 场景选择推荐 三、Git实用工具和小技巧  Git钩子 急救命令 四、一些小建议 引言 想象一下,你和几个朋友一起写一本小说。如果大家都直接在同一个文档上改,很快就会乱套:有人删了重要情节,有人同时修改同一段落,最后谁也不知道哪个版本是对的。 Git就是解决这个问题的“超级版本管理器”,而工作流程就是大家约定好的“写作规矩”。没有规矩,再好的工具也会用乱。今天,我就带你理清各种Git工作流,找到适合你团队的那一套。 一、Git核心概念 * 仓库:就是你的项目文件夹,Git会记录里面所有文件的变化 * 提交:相当于给当前版本拍张“快照”,并写上说明 * 分支:从主线分出去的“平行世界”,可以在里面大胆实验而不影响主线 * 合并:把分支的改动整合回主线 简单来说,

By Ne0inhk

Erupt低代码框架:企业级应用开发的效率革命

Erupt低代码框架:企业级应用开发的效率革命 【免费下载链接】erupt🚀 通用数据管理框架,VORM 对象视图模型,注解驱动低代码开发 项目地址: https://gitcode.com/erupts/erupt 在当今快节奏的技术环境中,企业级应用开发面临着前所未有的效率挑战。传统开发模式中,技术债务的积累和开发瓶颈的制约,让团队难以快速响应业务需求。我们建议技术决策者关注Erupt框架,这款基于Java的低代码解决方案正在重新定义企业级应用的开发效率。 🔍 问题诊断:传统开发模式的效率困境 企业级应用开发长期受困于重复性工作的高占比。实践证明,传统CRUD开发中,开发人员需要投入大量时间在前端组件编写、后端接口开发和权限配置等基础工作上。这些工作虽然技术难度不高,但占据了团队70%以上的开发资源,形成了严重的技术债务。 从架构层面分析,传统开发面临的核心问题包括: * 技术栈碎片化:前后端技术选型不统一导致维护成本激增 * 权限体系复杂:RBAC模型配置繁琐,跨团队协作困难 * UI风格混乱:缺乏统一设计规范,用户体验不一致 * 部署流程冗长:从开

By Ne0inhk