1. 首页 > 快讯

Nacos: 生产环境中Namespace和Endpoint的最佳实践

namespce

关于命名空间,下面主要讨论命名空间的设计背景以及命名空间的最佳实践。

命名空间设计背景

Namespace的设计是基于nacos的多环境、多租户数据(配置和服务)隔离。现在:

从租户(用户)的角度来看,如果有多个不同的环境,那么可以根据指定的环境创建不同的命名空间,实现多个环境的隔离。例如,您可能拥有三种不同的环境:日常环境、预发布环境和生产环境。然后就可以使用一组nacos集群来构建以下三个不同的命名空间。如下图:

从多个租户(用户)的角度来看,每个租户(用户)可能有自己的命名空间,每个租户(用户)的配置数据和注册的服务数据都会归属于自己的命名空间。实现多租户之间的数据隔离。例如,超级管理员分配了三个租户,分别是张三、李四和王五。分配后,每个租户使用自己的帐户名和密码登录后创建自己的命名空间。如下图所示。

Note : 此功能仍在规划中。

命名空间的最佳实践

关于命名空间的最佳实践,这部分主要包含两个动作:

如何获取命名空间的值。如何初始化命名空间参数。如何获取命名空间的值。

无论你使用的是基于Spring Cloud的nacos还是Dubbo,都会涉及到namespace的参数输入。那么此时从哪里可以获取namespace的值呢?

如果在使用过程中没有注意到这个参数的输入,nacos Unified 会使用一个默认的命名空间作为输入,nacos Naming 会使用public 作为默认参数进行初始化,nacos config 会使用一个空字符串作为默认参数。初始化。如果需要自定义自己的命名空间,这个值应该如何生成呢?在nacos控制台左侧可以看到一个命名空间函数。单击以查看“新建命名空间”按钮。那么这时候你就可以创建自己的命名空间了。创建成功后,会生成一个命名空间ID,主要用于避免可能存在的命名空间名称重复。因此,当您需要在应用程序中配置指定的命名空间时,请填写命名空间ID。重要的事情说三遍。当您的应用程序需要配置指定的命名空间时,请填写命名空间ID。当您的应用程序需要配置指定的命名空间时,请填写命名空间ID。当需要配置指定的namespace时,填写namespace ID描述:Namesace是public的,是nacos的保留控件。如果需要创建自己的命名空间,最好不要与public重名。它在实际业务场景中具有特定的语义。名称,以免难以从字面上区分您属于哪个名称空间。

命名空间参数初始化方法

nacos客户端对namespace的初始化流程如下图:

nacos客户端对namespace的初始化主要分为两部分:

Nacos: 生产环境中Namespace和Endpoint的最佳实践

用户态通过nacos客户端构造实例时通过properties参数传入的namespace是在云环境(阿里云下的EDAS)中通过namespace参数解析的。您可以使用-Duse.cloud.namespace.parsing=true/false 来控制是否需要在云环境中自动解析namespace参数。默认为true,表示会自动解析。目的是方便用户零成本平滑迁移到云端。前往云端。如果用户需要使用云端nacos下自建的namespace,那么只需设置-Duse.cloud.namespace.parsing=false即可。

endpoint

关于端点,我们也主要从端点的设计背景和端点的参数初始化两个方面来讨论。

端点设计背景

当nacos服务器集群需要扩容或缩容时,客户端需要有能力及时检测到集群的变化。通过端点实现对集群变化的及时感知。也就是说,客户端会定期向端点发送请求,以更新客户端内存中的集群列表。

端点参数初始化

Nacos Client 提供了解析传入端点参数规则的能力。即通过构造函数的属性初始化端点时,指定的端点值可以是具体值,也可以是占位符,如下所示:

${endpoint.options:defaultValue}。

描述:

endpoint.options 是一个具体变量。支持读取系统属性和系统环境变量。 defaultValue 是给定的默认值。当特定变量未正确初始化时,它将使用给定的默认值进行初始化。整个端点的解析规则比较复杂。整体解析流程图如下:

需要注意的是,蓝的特别区别在于,它支持云环境(阿里云上的EDAS)自动从系统环境变量中读取端点值,方便用户零成本在本地开发或将应用迁移到云端。通过改造方法实现平滑迁移到云端。

阐明:

1.启用端点参数规则解析

1.2.如果设置了端点,

1.2.1 端点集是指定的具体值。

1.2.2 作为占位符输入。

用户评论

最怕挣扎

想深入了解如何在生产环境使用 Nacos 的 Namespaces 和 Endpoints,这篇文章正好!

    有15位网友表示赞同!

我绝版了i

我是刚开始学习 Nacos的,这篇关于名字空间和端点的文章看起来很有帮助。

    有15位网友表示赞同!

残花为谁悲丶

生产环境部署真要仔细考虑 NAMESPACE 和 ENDPOINT 的策略。

    有5位网友表示赞同!

别留遗憾

Nacos 这么用的就太棒了!

    有8位网友表示赞同!

空巷

这个标题好吸引人!感觉学习完这篇教程后就能更稳妥地使用 Nacos 了 。

    有12位网友表示赞同!

神经兮兮°

终于找到详细讲解 Namespaces 和 Endpoints 在生产环境最佳实践的文章了!

    有18位网友表示赞同!

独角戏°

NAMESPACE 的隔离机制很强大,这样可以避免项目之间互相干扰。

    有14位网友表示赞同!

淡抹烟熏妆丶

学习一下如何合理配置Nacos ,提升系统的可靠性和可用性 。

    有7位网友表示赞同!

伱德柔情是我的痛。

ENDPOINT 管理在分布式系统中至关重要啊,这篇教程一定要好好研究!

    有18位网友表示赞同!

ヅ她的身影若隐若现

期待看看具体的生产案例和配置方法!

    有5位网友表示赞同!

裸睡の鱼

对 Nacos 的 Namespaces 和 Endpoints 了解得越多,部署的越稳妥。

    有13位网友表示赞同!

今非昔比'

好的文档,清晰易懂。 这篇关于 Nacos 生产环境最佳实践的文章应该被推荐给所有开发人员!

    有16位网友表示赞同!

〆mè村姑

生产环境稳定性很关键,Nacos NAMESPACE 和 ENDPOINT 的最佳实践真的很有帮助。

    有14位网友表示赞同!

凉月流沐@

看了标题感觉很有实用价值,可以提升系统架构的水平。

    有10位网友表示赞同!

又落空

之前在 Nacos 中配置的名字空间和 endpoint 就经常遇到问题,希望能从这篇文档中找到答案!

    有7位网友表示赞同!

昂贵的背影

学习完这篇文章后应该能够更好地管理我的 Nacos 配置了。

    有7位网友表示赞同!

你瞒我瞒

NAMESPACE 设计可以避免服务间的冲突影响。

    有13位网友表示赞同!

你很爱吃凉皮

想了解如何在生产环境下安全高效地配置 Nacos!

    有15位网友表示赞同!

本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/5635.html

联系我们

在线咨询:点击这里给我发消息

微信号:666666