Skip to content

setup development

henry.huang edited this page Mar 16, 2021 · 5 revisions

development:

  • 搭建本地开发环境:

1. 准备工作:

  • go 开发环境: 安装/配置
  • docker 环境搭建: 安装
  • protobuf 安装: 安装

1.1 go 安装:

brew install go

1.2 docker 安装:

1.3 protobuf 组件安装:

	go get -u -v github.com/gogo/protobuf/protoc-gen-gofast
	go get -u -v github.com/gogo/protobuf/proto
	go get -u -v github.com/gogo/protobuf/jsonpb
	go get -u -v github.com/gogo/protobuf/protoc-gen-gogo
	go get -u -v github.com/gogo/protobuf/gogoproto

2. 本项目代码拉取:

  • 初始化项目

# clone repo:
git clone [email protected]:zeromicro/zeromall.git

# enter project root:
cd zeromall/

# install require pkg:
make go.mod.tidy
go mod tidy -v

  • 开发环境配置 git-pre-commit-hook:
# 安装依赖工具:
brew install pre-commit

# 会自动添加 hook 文件到: .git/hooks/pre-commit
pre-commit install

3. 启动中间件:

3.1 etcd:


3.2 mysql:

  • 启动 docker 容器:

3.3 redis:

  • 启动 docker 容器:

3.4 rabbitmq:


4. 单个业务 - 子服务启动顺序:

  • queue 服务为例: app/basic/queue/cmd/main.go
  • 服务启动顺序:
    • inner server: 内部 rpc 服务(grpc)
    • outer server: 对外 http api 服务
    • admin server: 对内 admin http api 服务
    • job server: 对内 job 服务(异步/定时任务)

4.1 rpc server:

  • 先启动:
  • 需要预先启动 etcd docker 容器, 用于服务发现.
  • 其他3个服务, 默认可能会依赖 rpc server(inner) 启动.

4.2 api server:

4.3 admin server:

  • 系统管理后台 API

4.4 job server:

  • 异步任务
  • 定时任务: 支持 cronjob
Clone this wiki locally