【快速啟動】Nacos


Nacos

安裝nacos server

下載地址

https://github.com/alibaba/nacos/releases

啟動nacos

解壓nacos,進入bin目錄

單機啟動

./startup.sh -m standalone

查看服務注冊頁面

瀏覽器請求

http://localhost:8848/nacos/index.html

默認賬號密碼
賬號: nacos
密碼: nacos

springboot 整合 nacos

父工程 gradle配置

ext{
    springCloudVersion = 'Hoxton.SR3'
    springBootVersion = '2.2.5.RELEASE'
    springCloudAlibabaVersion = '2.1.0.RELEASE'
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
        mavenBom "org.springframework.boot:spring-boot-dependencies:${springBootVersion}"
        mavenBom "com.alibaba.cloud:spring-cloud-alibaba-dependencies:${springCloudAlibabaVersion}"
        
    }
}

nacos module gradle配置

// spring boot web
compile('org.springframework.boot:spring-boot-starter-web')
// spring cloud nacos
compile("com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-discovery")

nacos module yml 配置

server:
  port: 10101

spring:
  application:
    name: nacos
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
      discovery:
        server-addr: 127.0.0.1:8848

management:
  endpoints:
    web:
      exposure:
        include: '*'

java 啟動類

@SpringBootApplication
@EnableDiscoveryClient
public class NacosConsumerApp {

    @RestController
    public class NacosController{

        @Autowired
        private LoadBalancerClient loadBalancerClient;
        @Autowired
        private RestTemplate restTemplate;

        @Value("${spring.application.name}")
        private String appName;

        @GetMapping("/echo/app-name")
        public String echoAppName(){
            //Access through the combination of LoadBalanceClient and RestTemplate
            ServiceInstance serviceInstance = loadBalancerClient.choose("nacos-provider");
            String path = String.format("http://%s:%s/echo/%s",serviceInstance.getHost(),serviceInstance.getPort(),appName);
            System.out.println("request path:" +path);
            return restTemplate.getForObject(path,String.class);
        }

    }

    //Instantiate RestTemplate Instance
    @Bean
    public RestTemplate restTemplate(){

        return new RestTemplate();
    }

    public static void main(String[] args) {

        SpringApplication.run(NacosConsumerApp.class,args);
    }
}

參考

https://spring-cloud-alibaba-group.github.io/github-pages/greenwich/spring-cloud-alibaba.html#_spring_cloud_alibaba_nacos_discovery

https://nacos.io/zh-cn/docs/quick-start.html

https://www.jianshu.com/p/ecaf15c54ed7


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM