Java essay Java essay
首页
  • Java基础
  • Java进阶
  • 设计模式
  • Java你不知道的小事
  • Spring初识
  • Spring进阶
  • SpringBoot基础
  • SpringBoot进阶
  • 什么是微服务
  • SpringCloud全家桶
  • Dubbo
  • SpringCloud Alibaba
  • Zookeeper
  • Nginx
  • RabbitMQ
  • RocketMQ
  • Docker入门到精通
  • 性能分析工具
  • 数据库性能优化
  • 性能优化
  • Java基础面试必问
  • JavaWeb面试必问
  • Java框架面试必问
  • 数据库面试必问
  • 中间件面试必问
  • 分布式微服务面试必问
  • Linux面试必问
  • 计算机网络面试必问
  • 开放性问题面试问必问
  • 简介
  • 联系我

Mr.Fire

后端程序员一枚
首页
  • Java基础
  • Java进阶
  • 设计模式
  • Java你不知道的小事
  • Spring初识
  • Spring进阶
  • SpringBoot基础
  • SpringBoot进阶
  • 什么是微服务
  • SpringCloud全家桶
  • Dubbo
  • SpringCloud Alibaba
  • Zookeeper
  • Nginx
  • RabbitMQ
  • RocketMQ
  • Docker入门到精通
  • 性能分析工具
  • 数据库性能优化
  • 性能优化
  • Java基础面试必问
  • JavaWeb面试必问
  • Java框架面试必问
  • 数据库面试必问
  • 中间件面试必问
  • 分布式微服务面试必问
  • Linux面试必问
  • 计算机网络面试必问
  • 开放性问题面试问必问
  • 简介
  • 联系我
  • 微服务概述

  • SpringCloud全家桶

  • SpringCloudAlibaba

    • Alibaba Nacos快速入门(一)
    • Alibaba Nacos快速入门(二)
    • Alibaba Nacos快速入门(三)
      • 前言
      • 创建生产者工程
        • 引入依赖
        • 启动类添加注解@EnableDiscoveryClient
        • 添加一个Rest服务接口
        • 修改配置文件
      • 创建消费者工程
        • 引入依赖
        • 启动类添加注解@EnableDiscoveryClient与@EnableFeignClients
        • 声明Feign调用代理接口
        • 添加调用测试接口
        • 修改配置文件
      • 启动Nacos,启动两个服务
      • 总结
    • Alibaba Nacos快速入门(四)
    • Alibaba Nacos配置中心动态感知原理
  • 分布式锁

  • 分布式微服务
  • SpringCloudAlibaba
Mr.Fire
2023-02-12
目录

Alibaba Nacos快速入门(三)

# 前言

本文主要讲解Nacos作为注册中心使用,服务注册与发现以及整合Feign客户端调用。使用SpringCloud与Nacos版本:2021.0.0->2021.1

# 创建生产者工程

nacos-product

# 引入依赖

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter</artifactId>
    </dependency>

    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
      <version>2021.1</version>
    </dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 启动类添加注解@EnableDiscoveryClient

@EnableDiscoveryClient
@SpringBootApplication
public class NacosProviderApplication {

    public static void main(String[] args) {
        SpringApplication.run(NacosProviderApplication.class, args);
    }

}
1
2
3
4
5
6
7
8
9

# 添加一个Rest服务接口

@RestController
public class ProductController {

    @RequestMapping(value = "/getProduct",method = RequestMethod.GET)
    public String createProduct(){
        return "my product";
    }
}
1
2
3
4
5
6
7
8

# 修改配置文件

server.port=8081
spring.application.name=nacos-product
# nacos服务地址
spring.cloud.nacos.discovery.server-addr=localhost:8848
1
2
3
4

# 创建消费者工程

nacos-consumer

# 引入依赖

    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-openfeign</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-loadbalancer</artifactId>
    </dependency>

    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
      <version>2021.1</version>
    </dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

说明:这里我们引入了feign,则还需要引入loadbalancer作负载均衡,否则报错。因为前面我们讲的eureka-client里面是包含loadbalancer,而nacos-discovery则不包含

# 启动类添加注解@EnableDiscoveryClient与@EnableFeignClients

@EnableDiscoveryClient
@EnableFeignClients
@SpringBootApplication
public class NacosConsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(NacosConsumerApplication.class, args);
    }

}
1
2
3
4
5
6
7
8
9
10

# 声明Feign调用代理接口

@FeignClient(name = "nacos-product")
public interface FeignProxy {

    @GetMapping("/getProduct")
    public String getProduct();

}
1
2
3
4
5
6
7

# 添加调用测试接口

@RestController
public class TestController {

    @Autowired
    FeignProxy feignProxy;

    @GetMapping("product")
    public String getProduct(){
        return feignProxy.getProduct();
    }
}
1
2
3
4
5
6
7
8
9
10
11

# 修改配置文件

server.port=8082
spring.application.name=nacos-consumer
# nacos服务地址
spring.cloud.nacos.discovery.server-addr=localhost:8848
1
2
3
4

# 启动Nacos,启动两个服务

以上篇文章所讲的单机模式启动

登录查看控制台

此时可看到了我们注册的两个服务已经成功注册到Nacos

调用测试:http://localhost:8082/product

# 总结

Nacos作为注册中心使用,和Eureka比较起来,使用基本一样,使用者可平滑过渡,当然Nacos有更完善的管理界面及更多的配置支持。后续将探索更多相关知识,学习永无止境,继续加油!

#Nacos#SpringCloudAlibaba
最后更新时间: 2023/02/25, 22:23:14
Alibaba Nacos快速入门(二)
Alibaba Nacos快速入门(四)

← Alibaba Nacos快速入门(二) Alibaba Nacos快速入门(四)→

最近更新
01
分布式系统核心理论CAP和BASE理论
03-05
02
分布式锁的几种实现方式
03-05
03
一文详解ThreadLocal是什么
03-01
更多文章>
Theme by Vdoing | Copyright © 2021-2023 Mr.Fire | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式