安装beego框架
|
|
创建项目:beego
- 创建
|
|
- 生成如下目录结构
|
|
优雅的使用beego
注:示例代码见文末链接
代码分层
controller:业务流程封装层
service:业务封装层
model:数据层
data:数据逻辑层
dao:数据操作层
举个例子(客服端付款方式):购买商品分为这么几个业务逻辑:
本地添加订单记录
向支付中心发起支付请求
更新本地订单状态
下发支付参数
对于三个层要做的事情分别是:
dao层
mysql中订单表添加操作
mysql中订单状态更新操作
对应缓存操作
其他附属表及缓存的操作
data层
提供订单添加操作(mysql+redis)
提供订单表的状态更新操作(mysql+redis)
servic层
封装一个本地添加订单的逻辑(包含订单表+其他表)
封装一个请求支付成功的业务方法
封装支付中心请求下单接口
controller层
- 先本地下单(service中的1方法)-> 向支付中心下单 -> 更新订单状态(service中2方法)
|
|
- 配置文件的使用
注:pro定义线上配置;dev为测试配置;发布代码时定义钩子;用pro替换app
|
|
- 使用定时脚本
|
|
运行
|
|
部署及发布
- 编译beego
- 使用go build,最后会生成一个main的二进制文件
|
|
- 使用beego,最后生成和项目名称相同的二进制文件
|
|
注意:如果是在mac环境开发编译,在linux运行会报错,需要使用以下方式在mac编译1CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build main.go
- 部署beego
go编译生产的的二进制文件
静态文件
- conf
- static
- views
假设data是待发布目录
|
|
- 运行go
后台运行
- go进程down掉,无法监控重启1nohup ./main &
- go进程down掉,无法监控重启
使用supervisor
- 可对go进程进行监控并重启等