互助分享 golang接口 简单架构
来源:互联网 发布:党纪党规知敬畏 编辑:程序博客网 时间:2024/04/27 13:22
已经停药30天,目前情况良好,就是受凉后,颈椎难受,各种小毛病,自己也懒惰,现在开始做了点golang的接口,这样可以做HTML5的项目,好了 ,废话少说了,先说下接下来用哪些技术
1. gin 之所以选择他,看性能很高,目前也算稳定,版本发布也不是很快, echo变化有些快
2. seelog 日志输出
3. xorm 数据库操作 我只用纯sql
4. config 配置文件使用 github.com/robfig/config
可能使用java的习惯
我的结构如下:
huzhu
|_action
|_conf
|_config.cfg
|_seelog.xml
|_models
|_xxx.go
|_service
|_init.go
|_xxx.Service.go
|_utils
|_conf
|_conf.go
|_init.go
|_utils.go
|_app.go
目前结构如上
service下的init.go
- package service
- import (
- _ "github.com/go-sql-driver/mysql"
- "github.com/go-xorm/xorm"
- "github.com/go-xorm/core"
- log "github.com/cihub/seelog"
- "huzhu/utils/conf"
- )
- var engine *xorm.Engine
- func InitDB() {
- defer log.Flush()
- cfg := conf.Config
- cfg.SetSection("DB")
- driverName,_ := cfg.String("driverName")
- dataSourceName,_ :=cfg.String("dataSourceName")
- var err error
- engine, err = xorm.NewEngine(driverName,dataSourceName)
- if(err != nil) {
- log.Error("InitDB ===> ",err)
- }
- //最大连接数量
- engine.SetMaxConns(800)
- //最大闲置数量
- engine.SetMaxIdleConns(30)
- //打印SQL
- // engine.ShowSQL = true
- //打印SQL错误
- // engine.ShowErr = true
- //sta_开头的表
- tbMapper := core.NewPrefixMapper(core.SnakeMapper{}, "sta_")
- engine.SetTableMapper(tbMapper)
- }
app.go
- package main
- import (
- "net/http"
- "time"
- "github.com/gin-gonic/gin"
- log "github.com/cihub/seelog"
- "huzhu/action"
- "huzhu/service"
- "huzhu/utils/conf"
- )
- func init() {
- //加载配置文件
- conf.InitConf("conf/config.cfg")
- //数据库初始化
- service.InitDB()
- //初始化日志
- initLog()
- }
- //初始化日志
- func initLog() {
- logger, err := log.LoggerFromConfigAsFile("conf/seelog.xml")
- if err != nil {
- log.Error("解析日志配置文件失败", err)
- return
- }
- log.ReplaceLogger(logger)
- }
- func main() {
- //设置生产环境
- // gin.SetMode(gin.ReleaseMode)
- router := gin.Default()
- router.GET("/xxx.do", action.xxx)
- s := &http.Server{
- Addr: ":80",
- Handler: router,
- ReadTimeout: 30 * time.Second,
- WriteTimeout: 30 * time.Second,
- MaxHeaderBytes: 1 << 20,
- }
- s.ListenAndServe()
- }
以上简单配置,先到这里,后面会把一个demo发上来,大家自己试试,写的不好,请大家谅解。
目前小主比较可怜,没人发表,只有自己默默的坚守,不管如何,希望可以帮助有需要的人,给自己加油...
www.huzhu.me
- 互助分享 golang接口 简单架构
- golang接口
- golang 接口
- golang 接口
- 各大网站架构简单总结[分享]
- 各大网站架构简单总结[分享]
- 各大网站架构简单总结[分享]
- 【分享、互助,请来野曝你家的白象…
- 一个golang简介分享
- 探究golang接口
- golang 组合和接口
- golang接口赋值操练
- golang中接口查询
- Golang中的接口
- 分享几张golang桌面图片
- 分享一款简单好用的接口文档管理工具
- 一个简单GOLANG路由
- golang 文件简单操作
- android studio .9图片的制作
- Respond.js在IE8失效原因分析
- 使用UIBezierPath和CAShapeLayer画各种图形
- DESTOON支持limit类似功能写法(转)
- Python学习:基础(5)任意**m进制到n进制**的转换
- 互助分享 golang接口 简单架构
- (2)HashMap面试
- EXP/IMP EXPDP/IMPDP 时间比较
- 推荐5个常用的html5开发工具
- MySQL my.cnf参数配置优化详解
- swift 学习笔记3 -- OC的block与swift的闭包
- 安卓app的文件读写方法
- 网络基础知识(二):TCP
- cocos2d-js cocos run -p android 报错:文件名、目录名卷标语法不正确