17.SpringCloud實戰項目-SpringCloud整合Alibaba-Nacos組件


SpringCloud實戰項目全套學習教程連載中

PassJava 學習教程

簡介

  • PassJava-Learning項目是PassJava(佳必過)項目的學習教程。對架構、業務、技術要點進行講解。
  • PassJava 是一款Java面試刷題的開源系統,可以用零碎時間利用小程序查看常見面試題,夯實Java基礎。
  • PassJava 項目可以教會你如何搭建SpringBoot項目,Spring Cloud項目
  • 采用流行的技術,如 SpringBoot、MyBatis、Redis、 MySql、 MongoDB、 RabbitMQ、Elasticsearch,采用Docker容器化部署。

更好的閱讀體驗

文檔連載目錄

整合Spring Cloud Alibaba Nacos組件

Nacos 是阿里巴巴開源的一個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平台。

1.引入Nacos 服務發現組件

passjava-common模塊的pom.xml文件引入Nacos 服務發現組件

<!-- nacos discovery 服務發現組件-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2.下載Nacos Server並啟動

  • 下載Nacos Server 壓縮包

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

啟動 Server,進入解壓后文件夾或編譯打包好的文件夾,找到如下相對文件夾 nacos/bin,並對照操作系統實際情況之下如下命令。

  1. Linux/Unix/Mac 操作系統,執行命令 sh startup.sh -m standalone
  2. Windows 操作系統,執行命令 cmd startup.cmd

windows執行startupm.cmd遇到問題:

λ startup.cmd                                                      
 Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! 

解決方案:

修改startup.cmd文件中的%JAVA_HOME%

%JAVA_HOME% 替換為 C:\Program Files\Java\jdk1.8.0_131

啟動成功:

nacos server啟動結果

3.每個微服務都配置Nacos Server 地址

  • 配置Nacos Server 地址

在passjava-question、passjava-channel、passjava-content、passjava-member、passjava-study 應用的 /src/main/resources/application.yml配置文件中配置 Nacos Server 地址

spring:
   cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

4.添加注解

為每個服務使用 @EnableDiscoveryClient 注解開啟服務注冊與發現功能

@EnableDiscoveryClient
@MapperScan("com.jackson0714.passjava.question.dao")
@SpringBootApplication
public class PassjavaQuestionApplication {

    public static void main(String[] args) {
        SpringApplication.run(PassjavaQuestionApplication.class, args);
    }

}

5.配置微服務的名稱

spring:
  application:
    name: passjava-question

6.訪問nacos server后台

  • 登錄后台

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

用戶名:nacos

密碼:nacos

nacos server后台
  • 查看已注冊的服務

    passjava-channel 渠道微服務
    passjava-member 用戶微服務
    passjava-study 學習微服務
    passjava-question 問題微服務
    passjava-content 內容微服務
    
    已注冊的服務

代碼地址

https://github.com/Jackson0714/PassJava-Platform

公眾號

公眾號


免責聲明!

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



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