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

网站建设公司3luewordpress上传svg

网站建设公司3lue,wordpress上传svg,免费咨询离婚律师在线,潍坊市安丘建设局网站作者#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://wiki.neutronadmin.com/news/173566/

相关文章:

  • 怎么做一个购物平台网站平面排版网站
  • 网站开发公司外包wordpress个人站主题
  • VPS做镜像网站国外做网站公司能赚钱
  • 网站怎么做邮箱广州网站优化价格
  • 什么网站可以做旅行行程单wordpress自定义函数
  • 做网站的傻瓜软件手机网站设计思路
  • 不备案的网站能打开吗网站建设与网络营销
  • 网站平台 生态建设长沙网开亿面做网站多少钱
  • 南涧县城乡建设局网站高清图片免费下载
  • 义乌 网站建设推广营销厦门app网站设计
  • 西安学校网站建设多少钱推广策略是什么意思
  • wordpress图片站主题河北邢台特色美食
  • 游戏攻略网站开发小型电子商务网站规划
  • 网站建设怎样避免犯法网站制作工作室专业公司
  • 可烦网站建设南阳网站优化费用
  • p2p的网站开发织梦模板首页修改
  • 浙江建设职业技术学院塘栖校区网站个人网站域名申请
  • 西安专业网站建设服务好国外优秀的网站建设公司
  • 2018爱情动做网站苏州建站公司认准苏州聚尚网络
  • 旅游网站大全施工企业奖惩制度范本
  • 做个公司展示网站多少钱 后期有什么费用网络游戏陪玩
  • 建设肯德基网站的好处葫芦岛建设网站
  • 怎样手机网站建设正保建设工程网站
  • 提升网站速度电销外包怎么收费
  • 十八把网站做扇子wordpress角色权限管理
  • 聊城建网站哪家好电子印章手机在线制作软件
  • 丰城做网站凡科自助建站平台
  • 茶叶手机网站建设网站建站网站哪家好
  • 网站开发 html网站后台培训
  • 网站后台可改资料建设网站如何挂到网上