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

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

服务提供者

  1. 创建一个项目作为服务的提供者 nacos-discovery-http-provider
  2. maven引入相关依赖
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
    </dependencies>
    
  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  
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值