Nacos-namespace環境隔離


Nacos中服務存儲和數據存儲的最外層都是一個名為namespace的東西,用來做最外層隔離

 

1.在Nacos控制台可以創建namespace,用來隔離不同環境

 

2.然后填寫一個新的命名空間信息:

 

3.保存后會在控制台看到這個命名空間的id:

 

4.修改order-service的application.yml,添加namespace:

spring:
  application:
    name: orderservice
  cloud:
    nacos:
      server-addr: tajia-nacos:8848 # nacos服務地址
      discovery:
        cluster-name: SH
        namespace: 3ab6057e-25db-42b8-9f50-12a5a8601b0e # dev環境

 

5.重啟order-service后,再來查看控制台

 

6.此時訪問order-service,因為namespace不同,會導致找不到userservice,控制台會報錯:

09-30 20:36:14:000 ERROR 14176 --- [nio-8088-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet]    : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.RuntimeException: com.netflix.client.ClientException: Load balancer does not have available server for client: userservice] with root cause

 

7.Nacos環境隔離總結
a.每個namespace都有唯一id
b.服務設置namespace時要寫id而不是名稱
c.不同namespace下的服務互相不可見


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM