SpringCloud+Nacos搭建使用

Nacos【Dynamic Naming and Configuration Service】提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。

1.搭建Nocos服务

01.下载服务

下载地址:Releases · alibaba/nacos · GitHub

SpringCloud+Nacos搭建使用_第1张图片

 在window环境学习我下载了zip包

02.生成数据库

SpringCloud+Nacos搭建使用_第2张图片

SpringCloud+Nacos搭建使用_第3张图片

03.修改文件

SpringCloud+Nacos搭建使用_第4张图片

a.编辑application

SpringCloud+Nacos搭建使用_第5张图片

b.复制文件

复制cluster.conf.example 去掉后缀【.example】生成配置文件

04.执行启动

SpringCloud+Nacos搭建使用_第6张图片

 启动成功

05.访问服务后台

在浏览器上访问     

SpringCloud+Nacos搭建使用_第7张图片

 账号密码默认为:nacos 

SpringCloud+Nacos搭建使用_第8张图片

 Nacos环境搭建完成


2.创建服务

01.创建父级

a.创建服务

SpringCloud+Nacos搭建使用_第9张图片

b.添加依赖

SpringCloud+Nacos搭建使用_第10张图片

2.0.4.RELEASE
Finchley.RELEASE
0.2.2.RELEASE

SpringCloud+Nacos搭建使用_第11张图片

    
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                ${spring-cloud.version}
                pom
                import
            
            
                org.springframework.boot
                spring-boot-dependencies
                ${spring-boot.version}
                pom
                import
            
            
                org.springframework.cloud
                spring-cloud-alibaba-dependencies
                ${nacos.version}
                pom
                import
            
        
    

02.创建提供者服务模块

a.创建服务

SpringCloud+Nacos搭建使用_第12张图片

 b.添加依赖

SpringCloud+Nacos搭建使用_第13张图片

 
            org.springframework.boot
            spring-boot-starter
 
 
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
            2.2.5.RELEASE
 

为了springboot版本和springcloud版本兼容,这里我修改了

SpringCloud+Nacos搭建使用_第14张图片

    
        org.springframework.boot
        spring-boot-starter-parent
        2.3.9.RELEASE
         
    

 c.添加注解

SpringCloud+Nacos搭建使用_第15张图片

@EnableDiscoveryClient

d.添加配置 

SpringCloud+Nacos搭建使用_第16张图片

server.port=8087
spring.application.name=provider
spring.cloud.nacos.discovery.server-addr=192.168.110.179:8848

 e.创建接口提供服务

SpringCloud+Nacos搭建使用_第17张图片

@RestController
public class ProviderController {

    @GetMapping("/helloProvider")
    public String helloProvider(){
        return "你好,我是提供服务者";
    }
}

03.创建消费者服务

a.创建服务

SpringCloud+Nacos搭建使用_第18张图片

b.添加依赖

SpringCloud+Nacos搭建使用_第19张图片

        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
            2.2.5.RELEASE
        
        
            com.netflix.archaius
            archaius-core
            0.7.6
            
                
                    com.google.guava
                    guava
                
            
        
        
        
            org.springframework.cloud
            spring-cloud-starter-openfeign
            2.1.1.RELEASE
        

为了springboot版本和springcloud版本兼容,这里我修改了

SpringCloud+Nacos搭建使用_第20张图片

    
        org.springframework.boot
        spring-boot-starter-parent
        2.3.9.RELEASE
         
    

c.添加注解

SpringCloud+Nacos搭建使用_第21张图片

@EnableDiscoveryClient
@EnableFeignClients

d.添加配置

SpringCloud+Nacos搭建使用_第22张图片

server.port=8099
spring.application.name=consumer
spring.cloud.nacos.discovery.server-addr=192.168.110.179:8848

e.创建service

SpringCloud+Nacos搭建使用_第23张图片

@FeignClient(name = "provider", fallback = ConsumerServiceImpl.class)
@Service
public interface ConsumerService {

    @GetMapping("/helloProvider")
    String getHello();
}
@Component
public class ConsumerServiceImpl implements ConsumerService {
    @Override
    public String getHello() {
        return "服务出错";
    }
}

f.创建接口

SpringCloud+Nacos搭建使用_第24张图片

@RestController
public class ConsumerController {
    @Resource
    private ConsumerService consumerService;

    @GetMapping("/getHello")
    public String getHello(){
        return consumerService.getHello();
    }
}

3.运行

把创建的提供者服务与消费者服务运行起来,再回到nacos服务管理后台页面看

SpringCloud+Nacos搭建使用_第25张图片

我们会看到有两个服务在nacos服务上注册成功了 

4.调用服务

我们创建一个网页访问消费者服务的接口

SpringCloud+Nacos搭建使用_第26张图片

 我们会发现成功调用了提供者服务

5.配置中心接入

在这里我把消费者实现配置中心功能

01.创建配置项

在nacos服务后台中的配置列表中创建一个配置文件相当于application.properties或者yaml等配置

SpringCloud+Nacos搭建使用_第27张图片

 这里我使用的是application.properties并配置了

SpringCloud+Nacos搭建使用_第28张图片

 2.添加依赖

SpringCloud+Nacos搭建使用_第29张图片

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

        
            com.alibaba.nacos
            nacos-client
            1.2.0
        

        
            org.apache.commons
            commons-lang3
            3.7
        
        

3.添加注解

SpringCloud+Nacos搭建使用_第30张图片

@NacosPropertySource(dataId = "test-dev.properties", autoRefreshed = true)

 4.添加配置

SpringCloud+Nacos搭建使用_第31张图片

spring.cloud.nacos.config.server-addr=192.168.110.179:8848
spring.profiles.active=dev
spring.cloud.nacos.config.file-extension=properties
spring.cloud.nacos.config.group=DEFAULT_GROUP

 5.修改接口

SpringCloud+Nacos搭建使用_第32张图片

@RestController
@RefreshScope
@Validated
public class ConsumerController {

    @NacosValue(value = "${datasource.url:123}", autoRefreshed = true)
    private String url;

    @NacosValue(value = "${datasource.username:123}", autoRefreshed = true)
    private String username;

    @NacosValue(value = "${datasource.password:123}", autoRefreshed = true)
    private String password;

    @Autowired
    private RestTemplate restTemplate;
    @Resource
    private ConsumerService consumerService;

    @GetMapping("/getHello")
    public String getHello(){
        System.out.println(url);
        System.out.println(username);
        System.out.println(password);
        return consumerService.getHello();

    }
}

6.启动调用

01.访问接口

SpringCloud+Nacos搭建使用_第33张图片

 02.监听输出

服务输出为

 03.修改服务配置

SpringCloud+Nacos搭建使用_第34张图片

 04.访问接口

SpringCloud+Nacos搭建使用_第35张图片

05.监听输出

服务输出为

SpringCloud+Nacos搭建使用_第36张图片

项目源码

链接:https://pan.baidu.com/s/12yC3cjK12_izzFO9imcPjQ 
提取码:k5sj

你可能感兴趣的:(spring,cloud,java,nacos)