# bigo_server **Repository Path**: U8tou/bigo_server ## Basic Information - **Project Name**: bigo_server - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-22 - **Last Updated**: 2024-08-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 开发文档 ## 开发环境配置 > vscode > > 在工作目录下的 .vscode 添加配置launch.json, 以方便执行debug ```js { "configurations": [ { "name": "Launch Package", "type": "go", "request": "launch", "mode": "debug", // 执行目标文件 // "program": "${fileDirname}", "program": "${workspaceFolder}\\a-admin\\main.go", // 设置启动参数 dev、uat、prod "args": [ "dev" ], } ] } ``` ## window 环境 >构建exe可执行文件 > windows环境中,go语言的默认配置就是编译成在windows环境中可执行的exe文件 ```shell # 清理mod未引用的依赖,注意到含mod文件目录下,针对的是mod文件而不是项目 go mod tidy # 构建、输出到某个文件夹并重命名,注意部署的时候,将a-admin的resources,也要带上 go build -o ./a-admin/aijuan-server.exe ./a-admin/main.go # linux打包构建 go build -o ./a-admin/aijuan-server ./a-admin/main.go ``` > 若想保持在异常时不关闭cmd黑框 > > 在app.exe同目录下,创建文本,写入以下内容,重命名文件为 launch.bat,双击执行 ```shell aijuan-server.exe pause ``` > 构建linux可执行文件 ```shell # 如果修改成功,可以通过go env命令查看 set CGO_ENABLED=0 set GOOS=linux go build ``` ## 使用环境 ### 服务监控 hertzbeat > 文档地址: ### 分布式定时任务 XXL-JOB > xxljob: [xxl-job: 一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。 (gitee.com)](https://gitee.com/xuxueli0323/xxl-job) ### 分布式延迟任务 asyncq > 文档地址: > > UI > > ```shell > docker run -d --restart=always \ > --name asynqmon \ > -p 8085:8080 \ > hibiken/asynqmon --redis-addr=119.23.175.154:6379 > ``` ### 分布式缓存 redis > 文档地址: > > ```shell > # 拉取镜像 > docker pull redis > # 运行容器 > docker run -itd --restart=always --name redis -p 6379:6379 redis > ``` ### 分布式锁 redsync > 文档: > > [「Go工具箱」redis官网推荐的go版本的分布式锁:redsync-腾讯云开发者社区-腾讯云 (tencent.com)](https://cloud.tencent.com/developer/article/2211973) ### 分布式文件存储 minio > 文档地址: > > ```shell > # 拉取镜像 > docker pull minio/minio > > # 容器部署命令 密码必须八个字符以上 > # -p:端口配置 > # -d --restart:后台运行容器,并当Docker重新启动时容器跟着启动 > # -e:配置 > # -v:挂载 > # --console-address:服务端端口 > docker run --name minio \ > -p 9000:9000 \ > -p 9001:9001 \ > -d --restart=always \ > -e "MINIO_ROOT_USER=admin" \ > -e "MINIO_ROOT_PASSWORD=QWERasd0" \ > -v /home/minio/data:/data \ > -v /home/minio/config:/root/.minio \ > minio/minio server /data \ > --console-address ":9001" > ```