Nacos注册中心

Nacos是什么

Nacos(拉扣s)是阿里巴巴公司开源的一个服务注册中心。功能等同Springcloud默认组件=Eureka(注册中心)+Config Server(配置中心)

环境要求

Nacos 依赖 Java 环境来运行。如果您是从代码开始构建并运行Nacos,还需要为此配置 Maven环境,请确保是在以下版本环境中安装使用:

64 bit 操作系统,支持 Linux/Unix/Mac/Windows,推荐选用 Linux/Unix/Mac。
64 bit JDK 1.8+;
Maven 3.2.x+;

入门配置

需求:实现一次远程调用,注册中心使用Nacos。

配置步骤说明

第一部分:配置注册中心
第二部分:编写服务方实例
第三部分:编写调用方实例

第一部分:配置注册中心

说明

注意事项:Nacos是作为中间件。 中间件特征:第一,就是开发时需要调用的服务。第二,单独运行的。

下载路径:https://github.com/alibaba/nacos/releases

第一步:解压安装

解压后,直接双击startup.cmd文件就可以。

第二步:访问管理控制台

默认用户名:nacos,默认密码也是nacos
访问路径:http://127.0.0.1:8848/nacos

第二部分:编写服务方实例

第一步:创建项目导入包

--创建一个SpringBoot项目,加入Nacos可以客户端依赖
记住:如果是复制之前的代码改造,一定要将eureka依赖包去除,否则会报异常。

<!--lombok-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.10</version>
</dependency>
<!--nacos-discovery -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2.2.0.RELEASE</version>
</dependency>
<!--web-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

第二步:修改入口类

@SpringBootApplication
@EnableDiscoveryClient //启动发现服务器客户端
public class NacosInstanceServerApplication {

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

第三步:修改配置文件

application.properties文件
##端口
server.port=8081

##应用名,必须指定
spring.application.name=nacos-instance-server
##指定注册中心的位置
spring.cloud.nacos.discovery.server-addr=localhost:8848
        
##日志配置,注意,需要lombok支持
logging.level.nacos.server=DEBUG

第四步:编写Controller

@RestController
@Slf4j
public class UserController {

    @GetMapping(value = "/findUsernameById/{id}")
    public String findUsernameById(@PathVariable  Long id){
      log.debug("用户编号:"+id);
      return "zhangsan";
    }
}

第三部分:编写调用方实例

第一步:创建项目导入包

--创建一个SpringBoot项目,加入Nacos可以客户端依赖
记住:如果是复制之前的代码改造,一定要将eureka依赖包去除,否则会报异常。
<!--lombok-->
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.10</version>
</dependency>
<!--nacos-discovery -->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2.2.0.RELEASE</version>
</dependency>
<!--web-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

第二步:修改入口类

@SpringBootApplication
@EnableDiscoveryClient //启动发现服务
@EnableFeignClients //启动Feign的支持
public class NacosInstanceClientApplication {

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

}

第三步:修改配置文件

application.properties配置文件
##端口
server.port=8082

##应用名,必须指定
spring.application.name=nacos-instance-client
##指定注册中心的位置
spring.cloud.nacos.discovery.server-addr=localhost:8848
        
##日志配置,注意,需要lombok支持
logging.level.nacos.server=DEBUG

第四步:编写远程调用Api


@FeignClient("nacos-instance-server")
public interface UserServiceApi {

    @GetMapping(value = "/findUsernameById/{id}")
    String findUsernameById(@PathVariable Long id);
}

第五步:编写Controller

@RestController
@Slf4j
public class UserController {

    @Autowired
    private UserServiceApi userServiceApi;

    @GetMapping(value = "/findUsernameById/{id}")
    public String findUsernameById(@PathVariable  Long id){
      log.debug("用户编号:"+id);
      return userServiceApi.findUsernameById(id);
    }
}

第六步:测试

注意:测试前,必须确认,Nacos注册中心、服务方实例、客户方实例都是启动状态的。

–使用Postman发送请求:http://localhost:8082/findUsernameById/1


©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页