配置分组的常见场景:不同的应用或组件使用了相同的配置类型,如 database_url 配置和 MQ_topic 配置。 命名空间(Namespace) 命名空间可用于进行租户粒度的配置隔离。不同的命名空间下,可以存在相同的 Group 或 Data ID 的配置。Namespace 的常用场景之一是不同环境的配置的区分隔离,例如开发环境,测试环境和生产环境...
从前文样例可以知道,我们可以通过指定spring.profile.active和配置文件的DataID来实现不同环境下读取不同的配置。为了能够实现更复杂的环境隔离需求,Nacos还提出了命名空间(Namespace)和配置分组(Group)这两个概念: 命名空间(Namespace)常用于不同项目间的隔离 配置分组(Group)常用与同一项目下,不同模块间的隔离 下面...
namespace_id) { param.namespace_id = Some(Uuid::new_v4().to_string()); } match NamespaceUtils::add_namespace(&app_data, param).await { Ok(_) => { let result = ConsoleResult::success(true); let v = serde_json::to_string(&result).unwrap();...
if namespace_id.is_empty() || namespace_id.eq(DEFAULT_NAMESPACE) { if namespace_id.is_empty() || namespace_id.as_ref().eq(DEFAULT_NAMESPACE) { return Err(anyhow::anyhow!("namespace can't update")); } let infos = Self::load_namespace_from_config(&app_data.config_addr).await...
self.naming_addr = factory_data.get_actor(); self.raft = factory_data.get_bean(); self.init(ctx); } } impl NamespaceActor { pub(crate) fn new() -> Self { pub(crate) fn new(raft_node_id: u64) -> Self { Self { data: Default::default(), id_order_list: Default::default(...
&& param.namespace_id.as_str() == ALREADY_SYNC_FROM_CONFIG_KEY { //标记已同步旧版本数据 self.already_sync_from_config = true; } let value = if let Some(v) = self.data.get(¶m.namespace_id) { if add_if_not_exist {
app_data: web::Data<Arc<AppShareData>>, ) -> impl Responder { let mut param: NamespaceInfo = param.0.into(); if StringUtils::is_option_empty(¶m.namespace_id) { param.namespace_id = Some(Uuid::new_v4().to_string()); } match NamespaceUtils::add_namespace(&app_data, param...