目录
Yaml配置介绍
Yaml配置文件解析
Koala配置项梳理
Koala配置文件生成器开发
Yaml配置文件介绍
基本语法
大小写敏感
使用缩进表示层级关系
缩进时不允许使用Tab键,只允许使用空格。
缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
YAML 支持的数据结构有三种。
对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
纯量(scalars):单个的、不可再分的值
Yaml配置文件
对象
- animal: pets
- 对应的json格式:
{animal:'pets'}
数组
- Cat - Dog
- Goldfish
对应的json格式
['cat','Dog','Goldfish']
对象和数组可以结合使用,形成复合结构。
languages:
-Ruby
-Perl
-Python
websites:
YAML:yaml.org
Ruby:ruby-lang.org
Python:python.org
Perl:use.perl.org
Yaml配置文件
常量
number: 12.30
isSet: true
Yaml配置文件解析
安装第三方库:go get gopkg.in/yaml.v21
新建一个配置文件,比如:
构造对应的Golang结构体
进行解析
Koala rpc框架配置项梳理
服务监听端口
Prometheus监听端口
服务的名字
注册中心配置
日志级别配置
Koala 环境划分
环境划分
product: 生成环境
test: 测试环境
环境区分
通过环境变量进行区分
KOALA_ENV=product
KOALA_ENV=test
env包
获取当前的环境
koala配置文件目录划分
conf
product
test
Koala env包开发
通过os包获取 os.Getenv(“KOALA_ENV”)
Koala服务部署规范
xxx_service
bin
conf
product
test
script
Logs
名词解释
RootDir: /xxx/xxx/xxx/xxx_service
ConfigDir: /xxx/xxx/xxx/xxx_service/conf/product/或者 /xxx/xxx/xxx/xxx_service/conf/test/
配置文件生成器开发
config_generator
主要功能
生成当前框架的配置文件
Koala框架支持配置文件解析
新增koala/server包
通过Init函数,完成配置文件的解析
main_generator改造
通过配置获取监听的端口
通过配置获取普罗米修斯的端口
参考资料
Yaml文件教程:http://www.ruanyifeng.com/blog/2016/07/yaml.html