【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)

首先,介绍一下:SpringCLoud Alibaba的Nacos相对于SpringCloud而言,实现了Eureka和Config和Ribbon的作用,可以界面化的实现这些功能,简单实用,一站式解决分布式的问题。

针对上面介绍的三种作用,下面进行一一实现。

本章讲解如何实现注册中心的作用(将所有服务注册到Nacos)

qq交流群导航——>231378628

 

目录

一、安装Nacos

二、运行Nacos

三、构建测试项目

四、演示

 

一、安装Nacos

安装时也有坑,要注意,注意安装的nacos版本,1.X或者2.X,我最开始安装的1.X,结果运行项目失败,spring-cloud-starter-alibaba-nacos的依赖版本和安装的nacos客户端版本不一致导致,结果就安装了2.X版本。我使用的spring-cloud-starter-alibaba-nacos依赖版本是2.2.7。

安装地址:Release 2.0.3 (July 28, 2021) · alibaba/nacos · GitHub

官网地址:什么是 Nacos

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第1张图片

二、运行Nacos

下载之后进入bin目录,如下:

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第2张图片

进入cmd,

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第3张图片

执行:startup.cmd  -m standalone(针对Windows系统,单机模式启动,直接执行startup.cmd默认是集群模式,运行项目会报错)

注意:若命令运行错了,要先去任务管理器终止那个进程,再执行startup.cmd  -m standalone命令,否则会报错,运行不起来。

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第4张图片

访问 nacos管理平台地址:

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第5张图片

账号密码都是nacos,进入首页

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第6张图片

配置管理会在下一章讲到(让项目读取nacos上面的配置)

服务管理可以看到注册到注册中心的所有服务以及实例数等信息

权限控制可以设置负载均衡等

命名空间可以设置各种运行环境的配置,例如(dev,test,prod等,各个命名空间内存的配置和服务互不干预,这样就可以存在服务同名的情况)

三、构建测试项目

nacos客户端运行成功后就需要建立服务去测试他的注册中心作用了(将服务注册到nacos里),先展示一下目录结构:

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第7张图片

1、先新增名为nacosdemo的一个springboot父项目,删除src等多余目录,只留一个pom文件即可,如上图。

 pom文件内容如下:



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.6.4
         
    
    com.example
    nacosdemo
    0.0.1-SNAPSHOT
    nacosdemo
    Demo project for Spring Boot
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
        
            com.alibaba.cloud
            spring-cloud-alibaba-dependencies
            2.1.0.RELEASE
            pom
            import
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
        
    

加入alibaba的依赖


    com.alibaba.cloud
    spring-cloud-alibaba-dependencies
    2.1.0.RELEASE
    pom
    import

2、新增服务端,名为demo-provider的springboot项目

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第8张图片

pom文件如下:



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.3.5.RELEASE
         
    
    com.example
    demo-provider
    0.0.1-SNAPSHOT
    demo-provider
    Demo project for Spring Boot
    
        1.8
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.projectlombok
            lombok
            true
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
            2.2.7.RELEASE
        
        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-config
            2.2.7.RELEASE
        
        
            com.alibaba
            fastjson
            1.2.47
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                
                    
                        
                            org.projectlombok
                            lombok
                        
                    
                
            
        
    


***此处特别注意一个大坑:springboot和springcloudAlibaba的依赖的版本对应:

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第9张图片

 若导入版本不对应的依赖运行会报错。


    org.springframework.boot
    spring-boot-starter-web

 web依赖提供SpringMvc的方法


    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery
    2.2.7.RELEASE

discovery依赖是用来注册到nacos客户端的


    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-config
    2.2.7.RELEASE

 config依赖是用来完成配置中心功能,(读取nacos上的配置的功能,下一章讲解)

编写配置文件:

指定端口号,指定nacos的地址,定义服务名

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第10张图片

 修改启动类

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第11张图片

加上EnableDiscoveryClient注解。

3、新增消费端,名为demo-consumer1的springboot项目

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第12张图片

pom文件同服务端一致。

也是在启动类加上相同的注解

配置文件:

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第13张图片

就一个简单配置,指定地址,注册到nacos。

四、演示

运行服务端和消费端服务。

注意:若一个服务运行多个配置的实例,修改如下配置:

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第14张图片

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第15张图片 勾选上即可。

然后运行一个启动类之后,修改配置文件的端口号再次运行即可。如下:

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第16张图片

进入nacos管理界面查看:

【一】SpringCloud Alibaba之Nacos整合篇(作为注册中心)_第17张图片

成功注册到nacos。

 

你可能感兴趣的:(springCloud,Alibaba,spring,cloud,spring)