当前位置: 首页 > news >正文

宜昌市住房和城乡建设厅网站渠道网恋

宜昌市住房和城乡建设厅网站,渠道网恋,账号运营竞争性谈判,贵阳网站建设运营作者#xff1a;尚卓燃#xff08;PsiACE#xff09;澳门科技大学在读硕士#xff0c;Databend 研发工程师实习生 Apache OpenDAL(Incubating) Committer https://github.com/PsiACE 对于 Databend 这样复杂的数据库服务端程序#xff0c;往往需要支持大量的可配置选项尚卓燃PsiACE澳门科技大学在读硕士Databend 研发工程师实习生 Apache OpenDAL(Incubating) Committer https://github.com/PsiACE 对于 Databend 这样复杂的数据库服务端程序往往需要支持大量的可配置选项以帮助运维人员根据实际使用需要管理和调优系统。 Databend 目前支持三种配置方式命令行、环境变量和配置文件优先级依次递减。 一般情况下推荐使用配置文件来记录和管理各种配置。对于 K8S 集群为了灵活变更部分配置比如特性开关使用环境变量可能是更优雅的形式。命令行则用于调整本地环境下的少数冲突配置。 Databend Query 中的映射 对于 databend-query 不管是什么形式的配置其配置选项几乎可以看作是代码的扁平化树形映射即基本符合代码中「配置域」「配置项」的逻辑。 环境变量和配置文件中利用 serfig 将代码嵌套展开使用 _ 做为分隔符。命令行中稍有不同一方面分隔符使用 -另一方面部分命令行选项的名称中没有绑定配置域。 为了更好理解这里的映射关系我们可以深入到具体一项配置下面将围绕 admin_api_address 这个配置项展开。 在环境变量上需要使用 QUERY_ADMIN_API_ADDRESS QUERY 表征这个配置所处的域而 ADMIN_API_ADDRESS 是具体的配置项。在配置文件中通常是使用 toml 来进行配置。 [query] 表征配置所处的域admin_api_address 为具体的配置项。 [query] ... # Databend Query http address. # For admin RESET API. admin_api_address 0.0.0.0:8081 ... 命令行中需要使用 --admin-api-address 进行配置这一项没有绑定「配置域」。如果是配置 --storage-s3-access-key-id 那么「storage」 「s3」构成配置域「access-key-id」是具体的配置项。 在了解如何对 admin_api_address 进行配置后让我们进入到配置相关的代码进一步查看映射关系的代码形式位于 src/query/config/src/config.rs。 pub struct Config {...// Query engine config.#[clap(flatten)]pub query: QueryConfig,... }/// Query config group. #[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, Args)] #[serde(default, deny_unknown_fields)] pub struct QueryConfig {...#[clap(long, default_value 127.0.0.1:8080)]pub admin_api_address: String,... } 因为代码中使用了嵌套的层级结构最上层是 Config而 admin_api_address 是 pub query: QueryConfig 中的一个配置项经过 serfig 处理后需要使用 QUERY 或者 [query] 表征其所处的域配置项就还是 admin_api_address 。 而命令行中具体的配置项名称和默认值会受到 #[clap(long long-name, default_value value)] 控制clap 会接管配置 admin_api_address 就变成了 --admin-api-address。--storage-s3-access-key-id 而言其实际的代码层级是 Config - StorageConfig - S3StorageConfig - access_key_id字段之上有标注 #[clap(long storage-s3-access-key-id, default_value_t)] 所以需要使用 --storage-s3-access-key-id 进行配置。 Databend Meta 中的映射 databend-meta 的配置文件和命令行逻辑与 databend-query 是基本一致的。但是环境变量是通过 serfig 内置的 serde-env 自行定义的映射关系但同样可以尝试按「配置域」「配置项」进行理解。 同样具体到单独的某项配置来看一下这里以 log_dir 为例。 在环境变量上需要使用 METASRV_LOG_DIR METASRV 表征这个配置所处的域而 LOG_DIR 是具体的配置项。而在配置文件中这一配置项作用于全局只需要 log_dir ./.databend/logs1 在命令行中当然也直接 --log-dir 进行配置。 让我们通过代码来解构其映射代码位于 src/meta/service/src/configs/outer_v0.rs。 #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq, Parser)] #[clap(about, version **METASRV_COMMIT_VERSION, author)] #[serde(default)] pub struct Config {.../// Log file dir#[clap(long log-dir, default_value ./.databend/logs)]pub log_dir: String,... } 配置文件和命令行参数相关的配置项是由 Config 结构体管理的逻辑与 databend-query 一致就不再赘述。 而环境变量的配置项是由 ConfigViaEnv 结构体进行处理的如下 /// #[serde(flatten)] doesnt work correctly for env. /// We should work around it by flatten them manually. /// We are seeking for better solutions. #[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)] #[serde(default)] pub struct ConfigViaEnv {...pub metasrv_log_dir: String,... } 与 Config 之间的映射关系位于 impl FromConfig for ConfigViaEnv 和 impl IntoConfig for ConfigViaEnv这两个部分。对于 metasrv_log_dir 而言就是映射到前面的 log_dir 字段。
http://www.pierceye.com/news/789828/

相关文章:

  • 老网站不要了做新站需要怎么处理平面广告设计赏析
  • 怎么看网站是不是php语言做的网站系统优点
  • 旅游网站建设 策划书销售app哪个好用
  • 建个大型网站要多少钱wordpress页眉设置
  • 浅谈网站建设开发浙江中联建设集团网站
  • 哪有做网站全包圆装修公司
  • 邵阳建设银行网站是多少建设银行 企业
  • 网站开源系统网页制作与网站建设思维导图
  • 专门做前端项目的一些网站wordpress 朋友圈插件
  • 网站建设哪家专业网站开发费用怎么做账
  • 用dw怎么做网站首页wordpress 文章页面失败
  • 郑州网站制作专业乐云seowordpress it博客主题
  • 支付宝手机网站支付二维码怎么做网站 开发
  • 教育网站制作视频代理网址ag80hncom
  • 泰兴公司做网站建设制作外贸网站公司
  • 手机wap网站大全作品提示优化要删吗
  • 郑州网站建设技术支持云南澄江县建设局网站
  • wordpress建企业网站设置网站一级域名和二级域名
  • 云南省城乡与住房建设厅网站合肥网红打卡地
  • 用dw做的企业网站宁波seo优化费用
  • 网站制作开发建网站公司 蓝纤科技
  • 怎样到国外做合法网站法网站网站建设小组实验报告
  • DNF做钓鱼网站网站建设方案书编写
  • 提高网站粘性wordpress tag中文
  • 公司已有网站 如何自己做推广wordpress的音乐插件怎么用
  • 权威网站php wordpress 等
  • 建设网站企业公司中通建设计院第四分公司网站
  • 快站免费网站建设哪家好南宁市住房建设局网站
  • 学生做的网站成品roseonly企业网站优化
  • 台前网站建设电话百度账号注册申请