栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java > SpringBoot

SpringCloudAlibaba(四):使用Nacos作为注册中心

SpringBoot 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringCloudAlibaba(四):使用Nacos作为注册中心

前一篇已经写到了利用Nacos作为配置中心来构建一个项目,毕竟需求有很大一部分的比重就是配置中心。所以就先利用Nacos构建了基于配置中心的项目。
Nacos作为注册中心是更加常用的。下面创建项目注册到Nacos中。

服务提供者
  1. 创建一个项目作为服务的提供者 nacos-discovery-http-provider
  2. maven引入相关依赖
    
        
     com.alibaba.cloud
     spring-cloud-starter-alibaba-nacos-discovery
        
        
     org.springframework.boot
     spring-boot-starter-test
     test
        
        
     org.springframework.boot
     spring-boot-starter-web
        
        
     org.springframework.boot
     spring-boot-starter-actuator
        
    
    
  3. 创建相关服务类
    NacosHttpServerApplication.java
    @SpringBootApplication
    @EnableDiscoveryClient
    public class NacosHttpServerApplication {
        public static void main(String[] args) {
     SpringApplication.run(NacosHttpServerApplication.class, args);
        }
    }
    
    UserController.java
    @RestController
    public class UserController {
        //提供相关服务
        @RequestMapping(value = "selectOne",method = RequestMethod.GET)
        public String selectOne(@RequestParam String id){
     return "Hello:"+id;
        }
    }
    
    @EnableDiscoveryClient表示开启SpringCloud服务注册注册发现功能。主要是由pom.xml中引入的 spring-cloud-starter-alibaba-nacos-discovery 模块实现.
  4. 配置文件
    server.port=8081
    # 注册中心
    spring.cloud.nacos.discovery.server-addr=localhost:8848
    # 配置中心展现的服务名称
    spring.application.name=nacos-discovery-http-provider
    
  5. 启动应用程序&查看Nacos控制台
    启动应用程序,当控制台输出以下内容时表示服务注册&启动成功
    2020-05-19 21:15:22.471  INFO 4568 --- [    main] c.a.c.n.registry.NacosServiceRegistry    : nacos registry, DEFAULT_GROUP nacos-discovery-http-provider 192.168.1.16:8081 register finished
    
    登陆Nacos控制台服务列表即可看到如下内容。
服务消费者
  1. 创建服务消费项目 NacosHttpConsumerApplication
  2. 编辑pom.xml文件,内容与provider的pom文件内容一致
  3. 创建相关类
    NacosHttpConsumerApplication.java
    @SpringBootApplication
    @EnableDiscoveryClient
    @EnableFeignClients("top.anydata.products.web.example.nacos_discovery_http_consumer.service")
    public class NacosHttpConsumerApplication {
        public static void main(String[] args) {
     SpringApplication.run(NacosHttpConsumerApplication.class,args);
        }
    }
    
    IServerUserServiceFeign.class
    @FeignClient(value = "nacos-discovery-http-provider")
    public interface IServerUserServiceFeign {
    
        @RequestMapping(value = "selectOne",method = RequestMethod.GET)
        String selectOne(@RequestParam("id")String id);
    
    }
    
    ClientUserController.java
    @RestController
    public class ClientUserController {
        @Autowired
        IServerUserServiceFeign serverUserServiceFeign;
    
        @RequestMapping(value = "selectOne",method = RequestMethod.GET)
        public String selectOne(String id){
    
     return serverUserServiceFeign.selectOne(id);
        }
    
    }
    
  4. 配置文件配置服务名称与Nacos相关,实现发现Nacos中的服务
    spring.cloud.nacos.discovery.server-addr=localhost:8848
    # 配置中心展现的服务名称
    spring.application.name=nacos-discovery-http-consumer
    # 默认选择的配置环境,当前把环境划分为4套, dev[开发环境],test[测试环境],pre[预发环境],prod[生产环境]
    spring.profiles.active=dev
    management.endpoints.web.exposure.include='*'
    
  5. 启动服务&测试调用
    启动consumer服务,调用rest相关接口进行测试。

自此即实现了使用Nacos作为注册中心来进行服务的管理

本篇源码示例:

https://github.com/CainGao/SpringCloudAlibabaExample  
转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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