Go:yaml配置文件集成

目录

            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配置文件

常量

Go:yaml配置文件集成_第1张图片

number: 12.30

isSet: true

Yaml配置文件解析

           安装第三方库:go get gopkg.in/yaml.v21

新建一个配置文件,比如:

Go:yaml配置文件集成_第2张图片

构造对应的Golang结构体

Go:yaml配置文件集成_第3张图片

进行解析

Go:yaml配置文件集成_第4张图片

 

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

你可能感兴趣的:(GO语言)