mirror of
https://github.com/openimsdk/open-im-server.git
synced 2026-04-28 06:19:20 +08:00
feat(release-v3.4): Enhanced Build, Deployment, and Configuration Management for Optimized Performance and Automation (#1255)
* docs: add openim docs Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com> * docs: add openim images test Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com> * feat: fix openim ci and deployment Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com> * feat: fix openim ci and deployment Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com> * feat: add openim flag api configpath env set Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com> * fix: fix openim push logger Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com> * fix: fix openim config path Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com> * fix: fix openim config path Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com> * fix: fix openim config path Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com> --------- Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
This commit is contained in:
@@ -1,3 +1,3 @@
|
||||
module github.com/openimsdk/open-im-server/v3/tools/changelog
|
||||
|
||||
go 1.18
|
||||
go 1.19
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
module github.com/openimsdk/open-im-server/v3/tools/component
|
||||
|
||||
go 1.18
|
||||
go 1.19
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
|
||||
在更新你的数据迁移README文档时,考虑到清晰、准确和专业的表述是非常重要的。这不仅可以帮助读者更好地理解迁移过程,还可以确保在迁移过程中减少可能出现的错误。以下是对你提供的README文档的一些改进和完善建议:
|
||||
|
||||
------
|
||||
|
||||
# OpenIM V2 至 V3 数据迁移指南
|
||||
|
||||
该指南提供了从 OpenIM V2 迁移至 V3 的详细步骤。请确保在开始迁移过程之前,熟悉所有步骤,并按照指南准确执行。
|
||||
|
||||
+ [OpenIM Chat](https://github.com/OpenIMSDK/chat)
|
||||
+ [OpenIM Server](https://github.com/OpenIMSDK/Open-IM-Server)
|
||||
|
||||
|
||||
|
||||
### 1. 数据备份
|
||||
|
||||
在开始数据迁移之前,强烈建议备份所有相关的数据以防止任何可能的数据丢失。
|
||||
|
||||
### 2. 迁移 OpenIM MySQL 数据
|
||||
|
||||
+ 位置: `open-im-server/v3/tools/data-conversion/openim/mysql.go`
|
||||
+ 配置 `mysql.go` 文件中的数据库信息。
|
||||
+ 手动创建 V3 版本的数据库,并确保字符集为 `utf8mb4`。
|
||||
|
||||
```bash
|
||||
// V2 数据库配置
|
||||
var (
|
||||
usernameV2 = "root"
|
||||
passwordV2 = "openIM"
|
||||
addrV2 = "127.0.0.1:13306"
|
||||
databaseV2 = "openIM_v2"
|
||||
)
|
||||
|
||||
// V3 数据库配置
|
||||
var (
|
||||
usernameV3 = "root"
|
||||
passwordV3 = "openIM123"
|
||||
addrV3 = "127.0.0.1:13306"
|
||||
databaseV3 = "openIM_v3"
|
||||
)
|
||||
```
|
||||
|
||||
**执行数据迁移命令:**
|
||||
|
||||
```bash
|
||||
make build BINS="conversion-mysql"
|
||||
```
|
||||
|
||||
启动的二进制在 `_output/bin/tools` 中
|
||||
|
||||
|
||||
### 3. 转换聊天消息(可选)
|
||||
|
||||
+ 只支持转换存储在 Kafka 中的消息。
|
||||
+ 位置: `open-im-server/v3/tools/data-conversion/openim/msg.go`
|
||||
+ 配置 `msg.go` 文件中的消息和服务器信息。
|
||||
|
||||
```bash
|
||||
var (
|
||||
topic = "ws2ms_chat" // V2 版本 Kafka 主题
|
||||
kafkaAddr = "127.0.0.1:9092" // V2 版本 Kafka 地址
|
||||
rpcAddr = "127.0.0.1:10130" // V3 版本 RPC 地址
|
||||
adminUserID = "openIM123456" // V3 版本管理员用户ID
|
||||
concurrency = 4 // 并发数量
|
||||
)
|
||||
```
|
||||
|
||||
**执行数据迁移命令:**
|
||||
|
||||
```bash
|
||||
make build BINS="conversion-msg"
|
||||
```
|
||||
|
||||
### 4. 转换业务服务器数据
|
||||
|
||||
+ 只支持转换存储在 Kafka 中的消息。
|
||||
+ 位置: `open-im-server/v3/tools/data-conversion/chat/chat.go`
|
||||
+ 需要手动创建 V3 版本的数据库,并确保字符集为 `utf8mb4`。
|
||||
+ 配置 `main.go` 文件中的数据库信息。
|
||||
|
||||
```bash
|
||||
// V2 数据库配置
|
||||
var (
|
||||
usernameV2 = "root"
|
||||
passwordV2 = "openIM"
|
||||
addrV2 = "127.0.0.1:13306"
|
||||
databaseV2 = "admin_chat"
|
||||
)
|
||||
|
||||
// V3 数据库配置
|
||||
var (
|
||||
usernameV3 = "root"
|
||||
passwordV3 = "openIM123"
|
||||
addrV3 = "127.0.0.1:13306"
|
||||
databaseV3 = "openim_enterprise"
|
||||
)
|
||||
```
|
||||
|
||||
**执行数据迁移命令:**
|
||||
|
||||
```bash
|
||||
make build BINS="conversion-chat"
|
||||
```
|
||||
@@ -1,6 +1,6 @@
|
||||
module github.com/openimsdk/open-im-server/v3/tools/data-conversion
|
||||
|
||||
go 1.18
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
github.com/IBM/sarama v1.41.2
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
# v2数据迁移工具
|
||||
|
||||
### <font color=red>转换前请做好数据备份!!!</font>
|
||||
|
||||
### 转换OPENIM MYSQL数据
|
||||
- open-im-server/v3/tools/data-conversion/openim/mysql.go
|
||||
- 配置mysql.go数据库信息
|
||||
- 需要手动创建v3版本数据库,字符集`utf8mb4`
|
||||
|
||||
```go
|
||||
var (
|
||||
usernameV2 = "root" // v2版本mysql用户名
|
||||
passwordV2 = "openIM" // v2版本mysql密码
|
||||
addrV2 = "127.0.0.1:13306" // v2版本mysql地址
|
||||
databaseV2 = "openIM_v2" // v2版本mysql数据库名字
|
||||
)
|
||||
|
||||
var (
|
||||
usernameV3 = "root" // v3版本mysql用户名
|
||||
passwordV3 = "openIM123" // v3版本mysql密码
|
||||
addrV3 = "127.0.0.1:13306" // v3版本mysql地址
|
||||
databaseV3 = "openIM_v3" // v3版本mysql数据库名字
|
||||
)
|
||||
```
|
||||
```shell
|
||||
go run mysql.go
|
||||
```
|
||||
|
||||
### 转换聊天消息(可选)
|
||||
- 目前只支持转换kafka中的消息
|
||||
- open-im-server/v3/tools/data-conversion/openim/msg.go
|
||||
- 配置msg.go数据库信息
|
||||
```go
|
||||
var (
|
||||
topic = "ws2ms_chat" // v2版本配置文件kafka.topic.ws2ms_chat
|
||||
kafkaAddr = "127.0.0.1:9092" // v2版本配置文件kafka.topic.addr
|
||||
rpcAddr = "127.0.0.1:10130" // v3版本配置文件rpcPort.openImMessagePort
|
||||
adminUserID = "openIM123456" // v3版本管理员userID
|
||||
concurrency = 4 // 并发数量
|
||||
)
|
||||
```
|
||||
```shell
|
||||
go run msg.go
|
||||
```
|
||||
|
||||
### 转换业务服务器数据(使用官方业务服务器需要转换)
|
||||
- 目前只支持转换kafka中的消息
|
||||
- open-im-server/v3/tools/data-conversion/chat/chat.go
|
||||
- 需要手动创建v3版本数据库,字符集`utf8mb4`
|
||||
- main.go数据库信息
|
||||
```go
|
||||
var (
|
||||
usernameV2 = "root" // v2版本mysql用户名
|
||||
passwordV2 = "openIM" // v2版本mysql密码
|
||||
addrV2 = "127.0.0.1:13306" // v2版本mysql地址
|
||||
databaseV2 = "admin_chat" // v2版本mysql数据库名字
|
||||
)
|
||||
|
||||
var (
|
||||
usernameV3 = "root" // v3版本mysql用户名
|
||||
passwordV3 = "openIM123" // v3版本mysql密码
|
||||
addrV3 = "127.0.0.1:13306" // v3版本mysql地址
|
||||
databaseV3 = "openim_enterprise" // v3版本mysql数据库名字
|
||||
)
|
||||
```
|
||||
```shell
|
||||
go run chat.go
|
||||
```
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
module github.com/openimsdk/open-im-server/v3/tools/imctl
|
||||
|
||||
go 1.18
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
github.com/MakeNowJust/heredoc/v2 v2.0.1
|
||||
|
||||
+1
-1
@@ -1,3 +1,3 @@
|
||||
module github.com/openimsdk/open-im-server/v3/tools/infra
|
||||
|
||||
go 1.18
|
||||
go 1.19
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
module github.com/openimsdk/open-im-server/v3/tools/ncpu
|
||||
|
||||
go 1.18
|
||||
go 1.19
|
||||
|
||||
require go.uber.org/automaxprocs v1.5.3
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
module github.com/openimsdk/open-im-server/v3/tools/openim-web
|
||||
|
||||
go 1.18
|
||||
go 1.19
|
||||
|
||||
require gopkg.in/yaml.v2 v2.4.0
|
||||
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
module github.com/openimsdk/open-im-server/v3/tools/versionchecker
|
||||
|
||||
go 1.18
|
||||
go 1.19
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
module github.com/openimsdk/open-im-server/v3/tools/yamlfmt
|
||||
|
||||
go 1.18
|
||||
go 1.19
|
||||
|
||||
require (
|
||||
github.com/likexian/gokit v0.25.13
|
||||
|
||||
Reference in New Issue
Block a user