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

常量

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值