Kratos从零到上线: 4. Kratos项目目录结构以及一些主要的指令说明

api
image.png

  • api.bm.go文件,api.pb.go文件是对外提供的接口文件,这两个文件主要是由api.proto文件通过指令自动生成的。主要接口是http服务和grpc服务接口
  • client.go是grpc客户端代码示例,可以参照此代码来创建grpc客户端
  • 测试bm和pb文件生成过程。首先删除bm和pb文件,打开goland的Terminal终端进入到api目录,输入命令:
kratos tool protoc --bm --grpc     //bm是生成bm文件参数,grpc是生成pb文件参数,可以指定生成某一个文件,一般这两个参数必须有
  • api目录下重新生成bm和pb文件
  • 第一次执行该指令时需要下载依赖包和kratos-protoc指令。成功后可以在GoPath目录下的bin文件夹下看到有kratos-protoc文件。以后就可以使用kratos-protoc指令来生成bm和pb文件, 不管是在新的项目中还是其他地方都可以使用该指令生成proto对应的bm和pb文件
  • 删除bm和pb文件打开终端进入到api目录,输入指令
kratos-protoc --bm --grpc
image.png
  • 如果需要swagger文档需要带参数 --swagger 就可以生成 api.swagger.json文件。swagger主要是提供给对接方接口说明
  • 通过一下指令打开api.swagger.json文档
kratos tool swagger serve ./api.swagger.json //需要下载依赖包和命令工具

成功之后会生成链接,打开该链接就可以弹道swagger在线文档

  • 以后在打开swagger.json文件可以直接使用swagger serve -p port ./api.swagger.json。-p指定 swagger服务端口

cmd

  • main.go是整个工程的入口文件。
  • 主要分为4个部分
    image.png
  • 1 日志接口初始化,该日志接口时kratos封装的,Init可以带参数,参数主要是配置保存日志的文件目录和名字,以及日志文件的大小,等级,格式等等信息。可以参考官网说明配置。不配置的话就是将日志打印在终端。
  • 2 读取配文件初始化。Init可以传递参数,参数主要是读取什么地方的配置文件。默认不填写的话是读取本地configs目录下的配置文件。我们项目中是读取的Apollo远程配置中新的配置文件。因此该配置参数为

    Apollo安装配置参考百度。注意如果使用远程配置中心配置,需要添加环境变量,可以参考kratos和Apollo官网
    image.png

    以后会对该配置进行详细说明。目前学习的话先暂时使用本地配置

configs
image.png

  • 主要是一些配置文件的说明,格式采用过的是toml。可以简单学习一下toml文件格式
  • 根据文件名称就可以区分是啥配置文件,可以具体点进去看一下
  • 服务开发过程中遇到的配置都可以独立成一个toml配置文件

internal
image.png

test

  • 测试的一些配置文件,可以直接忽略
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容