SpringCloud——服務註冊

概述

本項目使用的IDE爲idea
SpringCloud的服務註冊由服務註冊中心和服務提供方組成。

開發流程

  • 創建主項目
  • 創建服務註冊中心模塊
  • 創建服務提供方模塊

創建主項目

創建一個maven項目

主項目目錄結構

兩個模塊創建前
主項目目錄結構
項目完成後
主項目目錄結構

備註

主項目中代碼不需要修改

創建服務註冊中心

項目目錄結構

服務註冊中心目錄結構

項目創建流程

  • 使用Spring Initializr來創建項目
  • SDK版本使用SDK1.8
    創建項目
  • 項目名稱自定義
    設置項目名
  • 使用Cloud Discovery-Eureka Server來生成項目模板
    設置生成模板

修改運行文件

將向原有的EurekaserverApplication.java文件中添加@EnableEurekaServer註解

package com.example.eurekaserver;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@EnableEurekaServer
@SpringBootApplication
public class EurekaserverApplication {

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

修改配置文件

配置文件可選擇以下任意一種,本項目中使用application.yml

application.properties

//申明服務註冊中心接口
server.port: 8761
// 主機名
eureka.instance.hostname: localhost

// 這兩個配置沒有的話,會報接口被佔用的錯誤
// 是否將本身註冊到註冊中心
eureka.client.registerWithEureka: false
// 此客戶端是否獲取註冊中心的註冊信息
eureka.client.fetchRegistry: false

application.yml

# 申明服務註冊中心接口
server:
    port: 8761

eureka:
    instance:
        hostname: localhost
    # 這兩個配置沒有的話,會報接口被佔用的錯誤
    client:
        # 是否將本身註冊到註冊中心
        registerWithEureka: false
        # 此客戶端是否獲取註冊中心的註冊信息
        fetchRegistry: false

運行測試

運行

運行EurekaserverApplication.java文件

測試

訪問地址 http://localhost:8761/
若頁面爲以下圖,則表示運行成功
服務註冊中心運行結果

創建服務提供方

項目目錄結構

服務提供方

項目創建流程

項目創建流程與服務註冊中心一致

EurekaclientApplication.java

package com.example.eurekaclient;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@EnableEurekaClient
@RestController
public class EurekaclientApplication {

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

    @Value("${server.port}")
    String port;

    @RequestMapping("/hi")
    public String home(@RequestParam String name) {
        return "hi " + name + ",i am from port:" + port;
    }
}

修改配置文件

配置文件可選擇以下任意一種,本項目中使用application.yml

application.properties

<!--配置服務註冊中心地址-->
eureka.client.serviceUrl.defaultZone: http://localhost:8761/eureka/
<!--配置服務端接口-->
server.port: 8762
<!--配置服務名稱-->
spring.application.name: service-hi

application.yml

eureka:
    client:
        serviceUrl:
            <!--配置服務註冊中心地址-->
            defaultZone: http://localhost:8761/eureka/
server:
    <!--配置服務端接口-->
    port: 8762
spring:
    application:
        <!--配置服務名稱-->
        name: service-hi

運行並測試

運行

運行EurekaclientApplication.java文件

測試

訪問地址 http://localhost:8761/
若頁面爲以下圖,則表示運行成功
註冊結果

註冊服務調用測試

向服務註冊中心端口訪問服務端的服務
訪問鏈接http://localhost:8762/hi?name=zyt
訪問結果如下
輸入圖片說明

源碼鏈接

服務註冊中心:https://gitee.com/895873144/spring-cloud-demo/tree/master/eurekaserver
服務提供方:https://gitee.com/895873144/spring-cloud-demo/tree/master/eurekaclient

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章