栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Dubbo整合Nacos

Dubbo整合Nacos

Dubbo项目将Nacos作为其注册中心和配置中心

Nacos提供了四个主要功能

服务发现和服务运行状况检查(服务治理):Nacos使服务易于注册自己并通过DNS或HTTP接口发现其他服务。Nacos还提供服务的实时运行状况检查,以防止向不正常的主机或服务实例发送请求。动态配置管理:动态配置服务使您可以在所有环境中以集中和动态的方式管理所有服务的配置。Nacos消除了在更新配置时重新部署应用程序和服务的需求,这使配置更改更加有效和敏捷。动态DNS服务:Nacos支持加权路由,使您可以更轻松地在数据中心内的生产环境中实施中间层负载平衡,灵活的路由策略,流控制和简单的DNS解析服务。它可以帮助您轻松实现基于DNS的服务发现,并防止应用程序耦合到特定于供应商的服务发现API。服务和元数据管理(分布式配置):Nacos提供了易于使用的服务仪表板,可帮助您管理服务元数据,配置,kubernetes
DNS,服务运行状况和指标统计信息。

Nacos既可以作为服务治理中心(可以替代 Spring Cloud Eureka)也可以作为配置中心(可替代 Spring Cloud Config)。
Nacos作为一个单独的服务进行部署,不需要用户搭建项目作为服务治理节点。

Dubbo整合Nacos 服务提供者的相关配置

注入依赖


    com.alibaba
    dubbo
    2.6.6





    com.alibaba
    dubbo-registry-nacos
    0.0.2




    com.alibaba.nacos
    nacos-client
    0.6.1




    io.netty
    netty-all




    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-config
    2.1.2.RELEASE

dubbo-provider.xml:以xml形式配置dubbo




    

    

    
    

    
    

    
    
    


调用接口

public interface IUserService {
    public String ceshi(String input);
}

服务的实现类

public class UserServiceImpl implements IUserService {
    @Override
    public String ceshi(String input) {
        return "Hello World,"+input;
    }
}
服务调用者的相关配置

注入依赖


    com.alibaba
    dubbo
    2.6.6





    com.alibaba
    dubbo-registry-nacos
    0.0.2




    com.alibaba.nacos
    nacos-client
    0.6.1




    io.netty
    netty-all




    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-config
    2.1.2.RELEASE

bootstrap.properties 配置Nacos配置中心

#应用名
spring.application.name=springcloud-alibaba-consumer
#配置文件的前缀
spring.cloud.nacos.config.prefix=springcloud-alibaba-consumer
#当前生效的配置文件
spring.profiles.active=Test

#配置中心路径
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
#配置文件后缀
spring.cloud.nacos.config.file-extension=properties

服务降级的实现类

public class MockUserService implements IUserService {

    public MockUserService(){

    }
    @Override
    public String ceshi(String input) {
        return "服务暂时不可用,请重试";
    }
}

Controller层

@RestController
@RefreshScope
public class DubboComsumerController {

    @Autowired
    IUserService userService;

    @Value("${name:未知者}")
    private String name;

    @RequestMapping("/hello")
    public String hello(){
       return userService.ceshi(name);
    }
}
启动项目,进行验证

第一步:Nacos管理平台,查看到服务的注册信息

第二步:访问localhost:8081/hello,进行验证

第三步:配置Nacos分布式配置文件

第四步:再次访问localhost:8081/hello,进行验证

第五步:关闭服务提供者后,再次访问:localhost:8081/hello,进行验证

该项目源码:github
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/780508.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号