Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

lijian 4 vuotta sitten
vanhempi
commit
a92b85df88
3 muutettua tiedostoa jossa 99 lisäystä ja 15 poistoa
  1. 44 0
      docs/dev.md
  2. 28 0
      docs/ports.md
  3. 27 15
      run_dev_server.sh

+ 44 - 0
docs/dev.md

@@ -0,0 +1,44 @@
+---
+author: "卢振千"
+
+createdAt: 2021-02-07
+
+updatedAt: 2021-05-27
+
+---
+
+# 开发文档
+
+此文档为开发阶段的开发指南。
+
+## 注意事项
+
+项目不可以在 GO111MODULE 开启的状态下运行。
+
+可以选择将 GO111MODULE 关闭。
+
+```bash
+go env -w GO111MODULE=off
+```
+
+或者临时关闭。
+
+```bash
+export GO111MODULE=off
+```
+
+## 编译服务
+
+首先对项目进行编译。项目中所有需要编译的服务入口都存放在 services/main.go 目录下。
+
+可以运行项目中的 install.sh 脚本进行编译。
+
+编译后的二进制可执行文件会放到 $GOBIN 或者 $GOPATH/bin 目录下。具体会受到系统环境变量配置所影响,比如 $GOARCH 和 $GOOS。
+
+## 启动服务
+
+项目中的所有服务都可以单独启动。也可以通过运行 run.sh 脚本文件批量启动。
+
+每个服务都会依赖一些基础服务组件,首先需要保证这些基础服务组件是否正常。
+
+需要注意 Docker 环境下的基础服务组件和正常环境下的区别。

+ 28 - 0
docs/ports.md

@@ -0,0 +1,28 @@
+---
+author: "卢振千"
+
+createdAt: 2021-02-07
+
+updatedAt: 2021-05-27
+
+---
+
+# 端口分配
+
+开放端口区间为 18100-18200
+
+18100-18120 为平台服务的端口,包括 RPC、HTTP、MQTT 等。
+
+18150-18170 为基础服务组件。
+
+所有业务服务依赖的基础服务组件包括:
+
+- Etcd
+
+- MySQL
+
+- Redis
+
+- RabbitMQ
+
+- pkg 目录下的其它组件

+ 27 - 15
run_dev_server.sh

@@ -2,21 +2,33 @@ export GOPATH=/root/goprojects
 export TCP_PROXY_ADDR=
 export HTTP_PROXY_ADDR=
 LEVEL="error"
-EXTERNAL="39.98.250.155"
-ETCD="http://127.0.0.1:2379"
+EXTERNAL="10.244.3.1"
+ETCD="http://127.0.0.1:18153"
+REDIS_HOST="127.0.0.1"
+REDIS_PORT="18151"
+MYSQL_HOST="127.0.0.1"
+MYSQL_PORT="18152"
+MYSQL_DATABASE_NAME="iot-hub"
+MYSQL_USERNAME="root"
+MYSQL_PASSWORD="Luzhenqian@0807"
+$RABBIT_URI="amqp://guest:guest@127.0.0.1:18154"
 sudo killall -9 httpaccess registry apiprovider devicemanager controller mqttaccess knowoapi fileaccess coapaccess
 
 # start services
-$GOPATH/bin/linux_386/httpaccess -etcd $ETCD -httphost external:18100 -external $EXTERNAL -redishost 0.0.0.0:18151 -loglevel $LEVEL &
-$GOPATH/bin/linux_386/registry -etcd $ETCD -rpchost internal:18101 -aeskey ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOP -dbhost 39.98.250.155 -dbname iot-hub -dbport 3306 -dbuser root -dbpass gEkYDPloQcp93t4WHr3X -loglevel $LEVEL &
-$GOPATH/bin/linux_386/apiprovider -etcd $ETCD -loglevel $LEVEL  -httphost external:18102 -external $EXTERNAL &
-$GOPATH/bin/linux_386/devicemanager -etcd $ETCD -loglevel $LEVEL  -rpchost internal:18103 -redishost 0.0.0.0:18151 &
-$GOPATH/bin/linux_386/controller -etcd $ETCD -loglevel $LEVEL  -rpchost internal:18104 &
-$GOPATH/bin/linux_386/mqttaccess -etcd $ETCD -loglevel $LEVEL  -rpchost internal:18105 -tcphost external:18106 -external $EXTERNAL &
-$GOPATH/bin/linux_386/knowoapi -etcd $ETCD -loglevel $LEVEL  -httphost external:18107 -dbhost 39.98.250.155 -dbname iot-hub -dbport 3306 -dbuser root -dbpass gEkYDPloQcp93t4WHr3X -aeskey ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOP -external $EXTERNAL &
-$GOPATH/bin/linux_386/fileaccess -etcd $ETCD -loglevel $LEVEL  -rpchost internal:18108 -httphost internal:18109 &
-$GOPATH/bin/linux_386/coapaccess -etcd $ETCD -loglevel $LEVEL  -udphost internal:18110 &
-exit 0
-
-
-# etcd --listen-peer-urls="http://0.0.0.0:2380" --listen-client-urls="http://0.0.0.0:2379" -advertise-client-urls="http://0.0.0.0:2379" &
+nohup ./httpaccess -etcd $ETCD -httphost external:18100 -external $EXTERNAL -redishost $REDIS_HOST:$REDIS_PORT -loglevel
+$LEVEL > httpaccess.out 2>&1 &
+nohup ./registry -etcd $ETCD -rpchost internal:18101 -aeskey ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOP -dbhost $MYSQL_HOST -dbname
+ $MYSQL_DATABASE_NAME -dbport $MYSQL_PORT -dbuser $MYSQL_USERNAME -dbpass $MYSQL_PASSWORD -loglevel $LEVEL > registry.out
+ 2>&1 &
+nohup ./apiprovider -etcd $ETCD -loglevel $LEVEL -httphost external:18102 -external $EXTERNAL > apiprovider.out 2>&1 &
+nohup ./devicemanager -etcd $ETCD -loglevel $LEVEL -rpchost internal:18103 -redishost $REDIS_HOST:$REDIS_PORT >devicemana
+ger.out 2>&1 &
+nohup ./controller -etcd $ETCD -rabbithost $RABBIT_URI -loglevel $LEVEL -rpchost internal:18104 > controller.out 2>&1 &
+nohup ./mqttaccess -etcd $ETCD -loglevel $LEVEL -rpchost internal:18105 -tcphost external:18106 -external $EXTERNAL > mqt
+taccess.out 2>&1 &
+nohup ./knowoapi -etcd $ETCD -loglevel $LEVEL  -httphost external:18107 -dbhost $MYSQL_HOST -dbname $MYSQL_DATABASE_NAME
+-dbport $MYSQL_PORT -dbuser $MYSQL_USERNAME -dbpass $MYSQL_PASSWORD -aeskey ABCDEFGHIJKLMNOPABCDEFGHIJKLMNOP -external $E
+XTERNAL> konowapi.out 2>&1 &
+nohup ./fileaccess -etcd $ETCD -loglevel $LEVEL  -rpchost internal:18108 -httphost internal:18109 > fileaccess.out 2>&1 &
+nohup ./coapaccess -etcd $ETCD -loglevel $LEVEL  -udphost internal:18110 >caopaccess.out 2>&1 &
+exit 0