其他分享
首页 > 其他分享> > NACOS学习心得体会

NACOS学习心得体会

作者:互联网

NACOS学习

下载

下载地址:https://pan.baidu.com/s/1-ZY4kca05VojJ_79yubP1A 提取码:ilcd

启动nacos

 

访问NACOS管理网站

  1. 在浏览器中输入:http://localhost:8848/nacos

  2. 输入用户名:nacos,密码:nacos

Spring boot微服务注册到Nacos

 

  1. 问题:配置pom文件,报错:Project build error: ‘dependencies.dependency.version’ fo

    <properties>
    <java.version>8</java.version>
    <nacos-config-spring-boot.version>0.2.1</nacos-config-spring-boot.version>
    <nacos-discovery-spring-boot.version>0.2.3</nacos-discovery-spring-boot.version>
    </properties>
    <dependency>
       <groupId>com.alibaba.boot</groupId>
       <artifactId>nacos-discovery-spring-boot-starter</artifactId>
       <version>${nacos-discovery-spring-boot.version}</version>
    </dependency>

     

ProviderController编写

package com.example.demo.controller;

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/provider")
public class ProviderController {
@RequestMapping("/demo")
public String echo(HttpServletRequest request) {
return "echo:" + request.getParameter("name");
}
}

ConsumerController

package com.example.demo.controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;

import com.alibaba.nacos.api.annotation.NacosInjected;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.NamingService;
import com.alibaba.nacos.api.naming.pojo.Instance;

@RestController
@RequestMapping("/consumer")
public class ConsumerController {
@NacosInjected
   private NamingService namingService;

   private RestTemplate restTemplate = new RestTemplate();
   
   @GetMapping("/demo")
   public String consumer() throws IllegalStateException, NacosException {
       // <1> 获得实例
       Instance instance = null;
       if (false) {
           List<Instance> instances = namingService.getAllInstances("demo-application");
           // 获得首个实例,进行调用
           instance = instances.stream().findFirst()
                  .orElseThrow(() -> new IllegalStateException("未找到对应的 Instance"));
      } else {
           instance = namingService.selectOneHealthyInstance("demo-application");
      }
       // <2> 执行请求
       return restTemplate.getForObject("http://" + instance.toInetAddr() + "/provider/demo?name=nacos",
               String.class);
  }
}

运行测试

  1. 微服务启动后,在启动日志中会看到以下信息,表明微服务已经注册到nacos

    2021-10-02 15:17:52.359  INFO 18516 --- [  restartedMain] c.a.b.n.d.a.NacosDiscoveryAutoRegister   : Finished auto register service : demo-consumer, ip : 192.168.0.12, port : 8081

     

  2. 我起了两个为服务,8080端口的是provider,8081的是consumer.

  3. 在浏览器的中办入:http://127.0.0.1:8081/consumer/demo   echo:nacos

  4. nacos的服务列表中注册了两个微服务

  5. demo-application DEFAULT_GROUP 1 1 1 false 详情|示例代码|订阅者|删除
    demo-consumer DEFAULT_GROUP 1 1 1 false 详情|示例代码|订阅者|删除

     

 

标签:心得体会,spring,boot,nacos,springframework,NACOS,学习,import,org
来源: https://www.cnblogs.com/felixterry/p/15362037.html