# mycmdb **Repository Path**: linuxxia/mycmdb ## Basic Information - **Project Name**: mycmdb - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-01-07 - **Last Updated**: 2022-01-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## daemo 后端逻辑简略版 cmd: 程序cli工具包,程序启动入口(指定配置文件启动) main: 程序入口文件 etc: 程序启动时所使用的配置: 数据库连接信息、日志模式信息 conf: 程序配置对象: 将etc下的配置 和配置对象(struct)进行绑定映射, 初始化为一个Config配置对象 - config.go 定义配置对象(创建struct) 和 数据库连接配置 - load.go 读取etc中的配置,结合定义的配置对象,将其初始化为全局配置对象 - log.go 日志相关的配置对象 protocol: 程序监听的协议(所有领域): 这里只是监听协议,不管路由 将对应的(http/rcp)报文 代理到对应的领域层去 - http.go : 监听http协议, 启动http服务,并监听端口,处理http协议请求,注册到 http router中 - rpc.go : 监听rpc协议, ... version 程序自身的版本信息 pkg 业务领域包(要实现的业务功能): host邻域、dns领域、rds领域等 - service.go : 所以的领域都会注册到pkg中,以pkg(包)的形式去使用 (注册: Host host.Service) <注册这里不是很懂,不明白: var Host host.Service> - host host领域: 实现对主机操作, 如对主机的增删查改功能 - host.go: 定义实现 该领域功能 所需的 数据结构 - interface.go : 根据数据结构定义 该领域功能 所需的 方法接口(增删查改接口 crud) - http : 定义该领域暴露方式(http/rpc等),这里只是做路由不做监听(监听由protocol去做), 使用http协议进行暴露 - http.go : 定义http路由: 以http协议的 http router进行暴露 - host.go : http请求的处理实现 - impl 业务具体实现: 实现所需的方法接口 - mysql.go : 从连接池中获取一个mysql连接 - host.go : 实现接口(实例化接口) - dao.go : 数据落盘: 和数据库进行交互,实现数据的持久化 - model 业务需要的数据模型 - interface 业务接口(领域方法) - mysql - lb - ...