17.SpringCloud實戰專案-SpringCloud整合Alibaba-Nacos元件

悟空聊架構發表於2020-04-19

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

公眾號

公眾號

相關文章