Merge remote-tracking branch 'origin/main'

This commit is contained in:
Gordon 2021-05-27 11:41:04 +08:00
commit 0397a2d179
6 changed files with 115 additions and 118 deletions

View File

@ -1,6 +1,5 @@
# Open-IM-Server
Open-IM-Server is open source instant messaging Server.Backend in Go.
![avatar](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/Open-IM.png)
![avatar](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/open-im-logo.png)
[![LICENSE](https://img.shields.io/badge/license-Apache--2.0-green)](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/LICENSE)
[![Language](https://img.shields.io/badge/Language-Go-blue.svg)](https://golang.org/)
@ -45,30 +44,30 @@ business data.
#### Building from Source
1. Install [Go environment](https://golang.org/doc/install). Make sure Go version is at least 1.15.
> Open-IM relies on five open source high-performance components: **ETCD**, **MySQL**, **MongoDB**, **Redis**, **Kafka**. Before you deploy Open-IM-Server privately, please make sure that you have installed the above five components and **check the component connection parameters** in the configuration file. you must install the missing components first,If your server does not have the above components. **It is recommended to use it directly, if you have the above components, if not, Docker installation is recommended, which is faster and more convenient**.
2. Open-IM relies on five open source high-performance components: **Etcd**, **MySQL**, **MongoDB**, **Redis**, **Kafka**. Before you deploy Open-IM privately, please make sure that you have installed the above five components and **check the component parameters ** in the configuration file. If your server does not have the above components, you must install the missing components first. **If you have the above components, it is recommended to use them directly, if not, Docker installation is recommended, which is faster and more convenient**.
1. Install [Go environment](https://golang.org/doc/install). Make sure Go version is at least 1.15.
3. Git clone Open-IM project
```
git clone https://github.com/tinode/chat
https://github.com/OpenIMSDK/Open-IM-Server.git
```
4. Open [config.yaml](https://github.com/Open-IM-IM/opim_admin/blob/main/config/config.yaml),then modify the following parameters.
- Check that the Etcd connection parameters.
- Check that the ETCD connection parameters.
```
etcd:
etcdAddr: [ xxx.xxx.xxx.xxx:2379]
etcdAddr: [ 127.0.0.1:2379]
```
- Check or modify database(MySQL) connection parameters are correct for your database.
```
mysql:
dbAddress: [ xxx.xxx.xxx.xxx:3306]
dbAddress: [ 127.0.0.1:3306]
dbUserName: xxx
dbPassword: xxx
```
@ -77,7 +76,7 @@ business data.
```
mongo:
dbAddress: [xxx.xxx.xxx.xxx:27017 ]
dbAddress: [ 127.0.0.1:27017 ]
dbUserName:
dbPassword:
```
@ -86,7 +85,7 @@ business data.
```
redis:
dbAddress: [xxx.xxx.xxx.xxx:6379]
dbAddress: [ 127.0.0.1:6379]
dbPassWord:
```
@ -95,9 +94,9 @@ business data.
```
kafka:
ws2mschat:
addr: [ xxx.xxx.xxx.xxx:9092 ]
addr: [ 127.0.0.1:9092 ]
ms2pschat:
addr: [ xxx.xxx.xxx.xxx:9092 ]
addr: [ 127.0.0.1:9092 ]
```
5. Build Open-IM server and database initializer:
@ -105,13 +104,13 @@ business data.
- **MySQL**
```
...
need to add
```
- **MongoDB**
```
...
need to add
```
6. Enter the script directory and execute the script according to the steps。
@ -125,23 +124,23 @@ business data.
2. Execute build shell
```
./auto_build_service_file.sh
./build_all_service.sh
```
3. Start service
```
./auto_start_service.sh
./start_all.sh
```
#### Using Docker to run Open-IM-Server
> Open-IM relies on five open source high-performance components: **ETCD**, **MySQL**, **MongoDB**, **Redis**, **Kafka**. Before you deploy Open-IM-Server privately, please make sure that you have installed the above five components and **check the component connection parameters** in the configuration file. you must install the missing components first,If your server does not have the above components. **It is recommended to use it directly, if you have the above components, if not, Docker installation is recommended, which is faster and more convenient**.
All images are available at https://hub.docker.com/r/lyt1123/open_im_server
1. [Install Docker](https://docs.docker.com/install/) 1.13 or above.
2. Open-IM relies on five open source high-performance components: **Etcd**, **MySQL**, **MongoDB**, **Redis**, **Kafka**. Before you deploy Open-IM privately, please make sure that you have installed the above five components and **check the component parameters ** in the configuration file. If your server does not have the above components, you must install the missing components first. **If you have the above components, it is recommended to use them directly, if not, Docker installation is recommended, which is faster and more convenient**.
3. Pull Open_IM_Server Image from docker
```
@ -164,14 +163,14 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
```
etcd:
etcdAddr: [ x.x.x.x:2379]
etcdAddr: [ 127.0.0.1:2379]
```
- Check or modify database(MySQL) connection parameters are correct for your database.
```
mysql:
dbAddress: [ x.x.x.x:3306]
dbAddress: [ 127.0.0.1:3306]
dbUserName: xxx
dbPassword: xxx
```
@ -180,7 +179,7 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
```
mongo:
dbAddress: [ x.x.x.x:27017 ]
dbAddress: [ 127.0.0.1:27017 ]
dbUserName:
dbPassword:
```
@ -189,7 +188,7 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
```
redis:
dbAddress: [x.x.x.x:6379]
dbAddress: [ 127.0.0.1:6379]
dbPassWord:
```
@ -198,9 +197,9 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
```
kafka:
ws2mschat:
addr: [ x.x.x.x:9092 ]
addr: [ 127.0.0.1:9092 ]
ms2pschat:
addr: [ x.x.x.x:9092 ]
addr: [ 127.0.0.1:9092 ]
```
5. Start Open-IM-Server Service
@ -328,8 +327,8 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
```
appapp client
app-serverapp server
open-im-sdkTuoyun's open source sdk
open-im-serverTuoyun's open source sdk service
open-im-sdkopen-im source sdk
open-im-serveropen-im source sdk service
```
- **Authentication Clow Chart**

View File

@ -5,10 +5,10 @@
#---------------Infrastructure configuration---------------------#
etcd:
etcdSchema: openIM
etcdAddr: [ 47.112.160.66:2379 ]
etcdAddr: [ 127.0.0.1:2379 ]
mysql:
dbAddress: [ 47.112.160.66:3306 ]
dbAddress: [ 127.0.0.1:3306 ]
dbUserName: root
dbPassword: 123456
dbDatabaseName: openIM
@ -19,7 +19,7 @@ mysql:
dbMaxLifeTime: 120
mongo:
dbAddress: [ 47.112.160.66:27017 ]
dbAddress: [ 127.0.0.1:27017 ]
dbDirect: false
dbTimeout: 10
dbDatabase: [ openIM ]
@ -30,7 +30,7 @@ mongo:
dbRetainChatRecords: 7
redis:
dbAddress: [47.112.160.66:6379]
dbAddress: [ 127.0.0.1:6379 ]
dbMaxIdle: 128
dbMaxActive: 0
dbIdleTimeout: 120
@ -38,10 +38,10 @@ redis:
kafka:
ws2mschat:
addr: [ 47.112.160.66:9092 ]
addr: [ 127.0.0.1:9092 ]
topic: "ws2ms_chat"
ms2pschat:
addr: [ 47.112.160.66:9092 ]
addr: [ 127.0.0.1:9092 ]
topic: "ms2ps_chat"
consumergroupid:
msgToMongo: mongo

BIN
docs/open-im-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 240 KiB

1
go.mod
View File

@ -12,7 +12,6 @@ require (
github.com/eapache/go-resiliency v1.2.0 // indirect
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect
github.com/eapache/queue v1.1.0 // indirect
github.com/favadi/protoc-go-inject-tag v1.1.0 // indirect
github.com/frankban/quicktest v1.11.3 // indirect
github.com/garyburd/redigo v1.6.2
github.com/gin-gonic/gin v1.6.3

2
go.sum
View File

@ -46,8 +46,6 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5 h1:Yzb9+7DPaBjB8zlTR87/ElzFsnQfuHnVUVqpZZIcV5Y=
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/favadi/protoc-go-inject-tag v1.1.0 h1:rSTVJya9GF6mcqOO2KRAppvVMHqIkSzG9ORflxqflNA=
github.com/favadi/protoc-go-inject-tag v1.1.0/go.mod h1:13goAxKedbu5IbfI0n2wIKh1CCgZOwPNZQd0igDWvko=
github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw=
github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
github.com/frankban/quicktest v1.11.3 h1:8sXhOn0uLys67V8EsXLc6eszDs8VXWxL3iRvebPhedY=

View File

@ -4,6 +4,7 @@ import (
"Open_IM/src/common/config"
"Open_IM/src/common/db"
"errors"
"github.com/dgrijalva/jwt-go"
"time"
)