微前端架构如何改变企业的开发模式与效率提升
738
2022-10-18
简单实用golang框架
EasyGo框架介绍
框架实现依赖类库
访问地址路由: github.com/julienschmidt/httprouterredis连接池: github.com/gomodule/redigo/redis唯一id生成器: github.com/rs/xidmysql数据库orm: github.com/astaxie/beego/orm数据库驱动(连接池): github.com/go-sql-driver/mysql日志库: github.com/sirupsen/logrus
框架结构设计
./easygo/
├── api # 接口控制器│ ├── response.go (定义全局响应状态码与实现统计输出json结构方法)│ └── smsActions.go (定义短信控制器方法)|── component # 组件层 (实现独立业务组件)├── conf # 配置文件│ ├── config.go (公共配置: 注册环境变量及业务配置信息)│ ├── mysqlConf.go (mysql数据库配置信息: 支持多环境配置)│ └── redisConf.go (redis数据库配置信息: 支持多环境配置)├── lib # 公共类库│ ├── redisPool.go (实现redis连接池)│ └── safeVerify.go (安全类库: ip, 地址签名等校验)├── log # 日志类库│ ├── logger.go │ └── logrus.go (logrus日志类库统一封装)├── main.go├── models # 数据库model│ └── verifyCode.go (验证码model文件,对应verify_code表,该文件可有beego框架bee命令创建,自动生成数据库"增删改"数据库操作方法)└── route # 路由 └── router.go (定义控制器路由表,配置路由信息,详情查看文件)
数据处理流程
main.go入口文件,注册mysql驱动、数据库信息,实例化路由表,监听指定端口。 路由转发请求到控制器方法。 控制器接收请求数据,开始参数校验、安全校验、创建日志请求跟踪id,最终通过包名方式调用models发送验证码方法(例子:Smsmodels.SendVerifyCode(phone, businessType)) models接受参数数据,并记录日志,开启数据处理流程 4.1 调用短信渠道路由方法,获取该请求,短信服务商。 4.2 根据路由信息,通过包名方式调用该渠道发送短信sdk。 4.3 记录发送短信验证码信息,通过orm方法入库。 4.4 发送短信统计数据缓存到 redis 。 控制器根据 model 数据处理结果,返回响应json数据信息。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~