SpringCloud-nacos的简单配置以及使用

SpringCloud-nacos的简单配置以及使用

在服务治理框架中,都会构建一个注册中心,每个服务单元向注册中心登记自己提供服务的详细信息。并在注册中心形成一张服务的清单,服务注册中心需要以心跳的方式去监测清单中的服务是否可用,如果不可用.需要在服务清单中剔除不可用的服务。

Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
从上面的介绍就可以看出,nacos的作用就是一个注册中心,用来管理注册上来的各个微服务。

第1步:安装nacos

相关资源下载地址:https://download.csdn.net/download/lmd770013209/87372821?spm=1001.2014.3001.5503

第2步:启动nacos
#切换目录 cd nacos/bin
#命令启动 startup . cmd -m standalone

第3步:访问nacos
打开浏览器输入http:/localhost:8848/nacos,即可访问服务,默认密码是nacos/nacos

可以进入nacos页面之后,进行idea的相关配置操作

1.添加依赖


        <dependency>
            <groupId>com.alibaba.cloudgroupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
        dependency>

添加配置

#port
server.port=80

#server-name
spring.application.name=api-gateway

#nacos
spring.cloud.nacos.discovery.server-addr=localhost:8848

这样基本的配置就配置好了,然后就是nacos的简单使用。

在消费者中的启动类中添加

package com.web;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class Order {
    public static void main(String[] args) {
        SpringApplication.run(Order.class);
    }
    //nacos的模板类用来发现服务
    @Bean
    @LoadBalanced
    public RestTemplate restTemplate(){
        return new RestTemplate();
    }
}

然后在controller中进行调用相关操作

package com.web.controller;

import com.web.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.discovery.DiscoveryClient;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

@RestController
public class orderController {

        @Autowired
        DiscoveryClient discoveryClient;
    
    @RequestMapping("/getOrder")
    public Object getOrder(){
       
        if(this.memberService.GetMember().equals("获取会员信息失败")){
            return "获取会员信息失败";
        }
        //用到了rabbon的负载均衡  @LoadBalanced 
        String url = "http://web-member/getMember";
        String s = resttemplate.getForObject(url,String.class);
        return "这是我的订单接口获取到的数据"+s;
    }
}

然后就完成了

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