Gpt微信小程序搭建的前后端流程 - 后端微服务框架的搭建(三)

本文介绍Gpt微信小程序后端基础框架的搭建流程。使用go - micro微服务搭建,便于扩展。阐述了整体代码框架,包括pkg通用库和internal内部微服务目录。详细说明了配置解析,用toml库,还提及微服务初始化代码和启动脚本。最后推荐体验小柠AI智能聊天小程序。
Gpt微信小程序搭建的前后端流程 - 后端基础框架的搭建(三)

Gpt微信小程序 只需要几个API,API上一小节也有讲到。直接用 gin 或者 beego 简单搭web服务器就够了。我们这里还用 go-micro微服务 去搭建,主要也是为了学以致用,把之前go-micro系列播客衔接上,以及后续好的横纵向扩展。


整体的代码框架:

图1

pkg通用库中用到的db数据库,redis和mq队列,大部分都是前面go-micro系列有用到的。internal内部的微服务目录也是在之前go-micro单个微服务目录格式上调整。

这里主要看配置解析, 配置解析用得是toml库, github.com/BurntSushi/toml


pkg目录

图2

配置的代码解析,用一个接口(基类) IConfig

pkg/config/config.go

type IConfig interface {
   
   
	//服务名
	AppName() string
	//运行模式
	AppEnv() string

	//日志的定义
	LogFilePath() string
	LogMaxAge() int
	LogMaxSize() int
	LogBackUpNum() int

	//mysql关系型数据库
	SchemeConfig() map[string]*SchemeConfig

	//redis
	RedisConfig() map[string]*RedisConfig

	//rabbitmq
	AmqpConfig() map[string]*AmqpConfig
}

// log日志库基本配置
type LogConfig struct {
   
   
	Type         string `yaml:"Type",toml:"Type"`
	LogDir       string `yaml:"LogDir",toml:"LogDir"`
	LogName      string `yaml:"LogName",toml:"LogName"`
	LogMaxAge    int    `yaml:"LogMaxAge",toml:"LogMaxAge"`       // 日志的过期时间,单位为天
	LogMaxSize   int    `yaml:"LogMaxSize",toml:"LogMaxSize"`     // 日志文件的最大
	LogBackUpNum int    `yaml:"LogBackUpNum",toml:"LogBackUpNum"` // 日志文件最多保留个数

}

// 服务配置
type Config struct {
   
   
	ConfPath string                   //配置路径
	AppPath  string                   //项目路径
	Scheme   map[string]*SchemeConfig `yaml:"Scheme",toml:"Scheme"`
	Redis    map[string]*RedisConfig  `yaml:"Redis",toml:"Redis"`
	Amqp     map[string]*AmqpConfig   `yaml:"Amqp",toml:"Amqp"`
	Log      *LogConfig               `yaml:"Log",toml:"Log"`
}

// App 的基本配置
type AppBaseConfig struct {
   
   
	AppName string `yaml:"AppName",toml:"AppName"`
	Env     string `yaml:"Env",toml:"Env"`
	Version string `yaml:"Version",toml:"Version"` // 版本
}

type AppConfig struct {
   
   
	Config
	App AppBaseConfig
}

pkg/config/scheme.go

// 关系型数据库的配置
type SchemeConfig struct {
   
   
    // mysql pgsql
    Driver <
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值