SpringCloud2.0 Eureka Client 服務註冊 基礎教程(三)

一、建立【服務提供者】,即 Eureka Client

1.一、新建 Spring Boot 工程,工程名稱:springcloud-eureka-client

1.二、工程 pom.xml 文件添加以下依賴:

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

1.三、在工程啓動類中,添加註解 @EnableEurekaClient

package com.miniooc.client;

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

/**
 * EurekaClientApplication
 *
 * @author 宋陸
 * @version 1.0.0
 */
@EnableEurekaClient  // 啓用 eureka client 相關默認配置,在 Edgware 之後的版本該註解能夠省略
@SpringBootApplication
public class EurekaClientApplication {

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

}

1.四、新建 Eureka Client 控制器類 EurekaClientController,提供一個 Restful 服務

package com.miniooc.client.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;

/**
 * EurekaClientController
 * 
 * 控制器
 *
 * @author 宋陸
 * @version 1.0.0
 */
@RestController
public class EurekaClientController {
    
    @Value("${server.port}")
    private String port;

    /**
     * 提供的一個restful服務,返回內容格式:服務協議://服務器地址:服務端口/服務uri
     *
     * @param request
     * @return
     */
    @RequestMapping("/info")
    public String info(HttpServletRequest request) {
        String message = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getServletPath();
        return message;
    }
}

1.五、新建工程配置文件 application.yml ,配置內容:

server:
  port: 52601

spring:
  application:
    name: eureka-client

eureka:
  instance:
    hostname: localhost
    # 表示eureka client間隔多久去拉取服務註冊信息,默認爲30秒,若是要迅速獲取服務註冊狀態,能夠縮小該值
    lease-renewal-interval-in-seconds: 5
    # 表示eureka server至上一次收到client的心跳以後,等待下一次心跳的超時時間,在這個時間內若沒收到下一次心跳,則將移除該instance。
    # 默認爲90秒
    # 若是該值太大,則極可能將流量轉發過去的時候,該instance已經不存活了。
    # 若是該值設置過小了,則instance則極可能由於臨時的網絡抖動而被摘除掉。
    # 該值至少應該大於 leaseRenewalIntervalInSeconds
    lease-expiration-duration-in-seconds: 10
  client:
    serviceUrl:
      defaultZone: http://localhost:9527/eureka/,http://localhost:9528/eureka/,http://localhost:9529/eureka/

1.六、啓動 Eureka Client 工程,打開瀏覽器,訪問 Eureka Client 提供的 Restful 路徑 http://localhost:52601/info

紅框處 服務訪問成功,返回內容格式:服務協議://服務器地址:服務端口/服務urijava

1.七、打開瀏覽器,訪問 服務中心 前臺頁面 http://localhost:9527,http://localhost:9528,http://localhost:9529

紅框處 服務成功註冊到了服務中心,服務名稱:EUREKA-CLIENT。web

至此,一個簡單的單點服務提供者搭建完成。spring

服務提供者提供一個Restful服務,服務的 uri 是 info,返回內容格式:服務協議://服務器地址:服務端口/服務uri瀏覽器

爲了保證服務的高可用,咱們須要把單點應用擴展爲集羣部署。bash

接下來,咱們對 Eureka Client 工程作些配置修改,來完成集羣部署。服務器

二、搭建【服務提供者】集羣

2.一、建立工程配置文件 application-client1.yml ,配置內容:

server:
  port: 52601

spring:
  application:
    name: eureka-client

eureka:
  instance:
    hostname: localhost
    # 表示eureka client間隔多久去拉取服務註冊信息,默認爲30秒,若是要迅速獲取服務註冊狀態,能夠縮小該值
    lease-renewal-interval-in-seconds: 5
    # 表示eureka server至上一次收到client的心跳以後,等待下一次心跳的超時時間,在這個時間內若沒收到下一次心跳,則將移除該instance。
    # 默認爲90秒
    # 若是該值太大,則極可能將流量轉發過去的時候,該instance已經不存活了。
    # 若是該值設置過小了,則instance則極可能由於臨時的網絡抖動而被摘除掉。
    # 該值至少應該大於 leaseRenewalIntervalInSeconds
    lease-expiration-duration-in-seconds: 10
  client:
    serviceUrl:
      defaultZone: http://localhost:9527/eureka/,http://localhost:9528/eureka/,http://localhost:9529/eureka/

參照2.1,建立工程配置文件 application-client2.yml,並修改 server.port 爲 52602restful

參照2.1,建立工程配置文件 application-client3.yml,並修改 server.port 爲 52603網絡

2.二、在 IntelliJ IDEA 集成開發環境中,添加 spring boot 啓動配置 EurekaClientC1,修改 Active profiles 爲 client1

 

 

 

參照2.2, spring boot 啓動配置 EurekaClientC2,修改 Active profiles 爲 client2app

參照2.2, spring boot 啓動配置 EurekaClientC3,修改 Active profiles 爲 client3負載均衡

2.三、按照啓動配置 EurekaClientC一、EurekaClientC二、EurekaClientC3 依次啓動服務提供者

2.四、打開瀏覽器,訪問 服務提供者 提供的Restful路徑 http://localhost:52601/info,http://localhost:52602/info,http://localhost:52603/info

如上,三個 Restful 服務均返回了信息。信息內容不一樣之處就在於端口不同。輸出這樣的信息目的,是爲了後面給咱們作集羣負載均衡測試作準備。

2.五、打開瀏覽器,訪問 服務中心 前臺頁面 http://localhost:9527,http://localhost:9528,http://localhost:9529

紅框處 三個服務成功註冊到了服務中心,服務名稱均爲:EUREKA-CLIENT。

至此,一個簡單的服務提供者集羣部署搭建完成。

三、本章小結

本章主要講解了 Eureka Client 服務提供者的搭建,並講解若是擴展爲集羣應用。

下一章,咱們將講解服務發現。如何調用服務提供者提供的服務。以及服務調用的負載均衡。

相關文章
相關標籤/搜索