Spring Cloud Alibaba - 05 Nacos 领域模型_NameSpac/Group/Cluster

举报
小工匠 发表于 2022/02/07 23:42:17 2022/02/07
【摘要】 文章目录 新增命名空间工程改造Namespace资源隔离GroupCluster源码 新增命名空间 新增dev 和 prod , 记住命名空间ID 工程改造 a...

在这里插入图片描述


新增命名空间

在这里插入图片描述

在这里插入图片描述

新增dev 和 prod , 记住命名空间ID

在这里插入图片描述


工程改造

artisan-cloud-nacosclient-order

artisan-cloud-nacosclient-product

在这里插入图片描述

在这里插入图片描述


Namespace资源隔离

我们来搞个例子: dev环境下的artisan-order-center 调用prod环境下的artisan-product-center

在这里插入图片描述

【改造点1 】

OrderInfoV2Controller 中 通过 nacos server获取 prod的 服务地址

 /**
         * 以下仅为演示,实际开发中并不会这样使用
         */
        // 从nacos server获取 product-info的地址
        List<ServiceInstance> instances = discoveryClient.getInstances("artisan-product-center");


        if (null == instances || instances.isEmpty()) {
            return "Prod微服务没有对应的实例可用";
        }

        // 从对应的服务实例中获取访问地址
        ServiceInstance serviceInstance = instances.get(0);
        String uri = serviceInstance.getUri().toString();
        log.info("从nacos server中获取的prod地址:", uri);

        // 发起远程Http调用
        ResponseEntity<ProductInfo> responseEntity = restTemplate.getForEntity(uri + "/selectProductInfoById/" + orderInfo.getProductNo(), ProductInfo.class);


        ProductInfo productInfo = responseEntity.getBody();


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

【改造点2 】

找到刚才的 命名空间ID 分别设置到 order 和 product

在这里插入图片描述

在这里插入图片描述

【测试】

在这里插入图片描述

NameSpace(默认的NameSpace是”public“ NameSpace可以进行资源隔离,比如dev环境下的NameSpace下的服务是调用不到prod的NameSpace下的微服务。 当然了,dev和prod最好不要共用一套nacos 注册中心。


Group

不同的Group之间不允许调用

我们把namepsace都切换成一样的, 设置不同的group 来测试下

在这里插入图片描述

【测试】

启动服务,访问
在这里插入图片描述


Cluster

同一个Namespace下 + 同一个Group下, 不同Cluster 内的服务,可以互相访问

在这里插入图片描述

启动服务,访问
在这里插入图片描述

可以发现 同一个Namespace下 + 同一个Group下, 不同Cluster 内的服务,可以互相访问。

但有个问题,如果全国多机房,虽然能通,但是网络上可能会有延迟,尽量确保同一个Cluster内的优先访问,这就需要编码实现了。

在这里插入图片描述


源码

https://github.com/yangshangwei/SpringCloudAlibabMaster

在这里插入图片描述

文章来源: artisan.blog.csdn.net,作者:小小工匠,版权归原作者所有,如需转载,请联系作者。

原文链接:artisan.blog.csdn.net/article/details/122767877

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。