ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spring Cloud+Nacos实现服务注册中心(Hoxton版本)

2021-04-08 10:05:23  阅读:239  来源: 互联网

标签:服务 Spring Nacos nacos spring Hoxton server cloud discovery


前提条件
首先下载安装一个nacos server,然后启动nacos server。Nacos的下载和安装流程查看 https://www.cnblogs.com/ying-z/p/14630738.html   注册一个服务到nacos (1)用SpringBoot新建一个服务,服务名称为nacos-discovery-server。 (2)在pom中加入必要的依赖 
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.2.5.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencyManagement>
    <dependencies>
         <!-- 声明Spring cloud的版本为Hoxton.SR3-->
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>Hoxton.SR3</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <!-- 声明Spring cloud alibaba版本为2.1.0.RELEASE -->
      <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-alibaba-dependencies</artifactId>
        <version>2.2.1.RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <!-- 声明nacos依赖 -->        
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
</dependencies>

注意:版本 2.1.x.RELEASE 对应的是 Spring Boot 2.1.x 版本。版本 2.0.x.RELEASE 对应的是 Spring Boot 2.0.x 版本,版本 1.5.x.RELEASE 对应的是 Spring Boot 1.5.x 版本。

更多版本对应关系参考:版本说明 Wiki

(3)在application.properties中配置服务名称和nacos地址
server.port=9001
spring.application.name=nacos-discovery-server
spring.application.cloud.nacos.discovery.server-addr=127.0.0.1:8848

(4)新建一个Controller,提供一个接口

//SpringBoot主入口
@SpringBootApplication
public class NacosDiscoveryServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(NacosDiscoveryServerApplication.class, args);
    }
}
//接口
@RestController
public class NacosDiscoveryController {
    @GetMapping("/nacos/discovery/hello")
    public String hello(@RequestParam String name) {
        return "hello, nacos discovery! " + name;
    }
}

(5)启动服务,控制台打印以下内容,就说明注册成功了。 

2020-04-28 14:49:42.749 INFO 9864 --- [main] c.a.c.n.registry.NacosServiceRegistry:nacos registry, DEFAULT_GROUP nacos-discovery-server 192.168.9.114:9001 register finished

(6)打开nacos控制台,我们可以在服务列表中发现我们的服务了。

 

 注意事项:

(1)为什么我们的启动类上没有加@EnableDiscoveryClient注解,但是已经把服务注册到nacos上了?
在SpringCloud E版本的时候,对服务注册进行了优化,在依赖了spring-cloud-starter-alibaba-nacos-discovery之后,默认会将服务注册到注册中心。
(2)在已经依赖spring-cloud-starter-alibaba-nacos-discovery的情况下,如果我们不想让我们的服务注册到nacos应该怎么做?
在配置文件中添加如下依赖即可:
spring.cloud.nacos.discovery.enabled=false 
服务的消费(调用) 我们已经搭建一个服务注册中心,同时也向这个服务注册中心注册了服务。接下来我们就可以发现和消费服务了。这其中服务的发现由nacos实现,而服务的消费可以由Ribbon或者Feign等实现,也就是说服务的调用需要nacos和Feign(Ribbon)两者配合起来才能实现。Feign的使用待后续.....

标签:服务,Spring,Nacos,nacos,spring,Hoxton,server,cloud,discovery
来源: https://www.cnblogs.com/ying-z/p/14630785.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有