iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 17
0

新增自動發現服務

建立一個 eureka-server 專案

使用到的組件如下

Cloud Config Cloud Discovery
Config Client Eureka Server

新增 bootstrap.properties 然後把不需要的 application.properties 刪除,因為組態檔我們使用 Config Server 提供的
bootstrap.properties

spring.application.name=eureka-service
spring.cloud.config.uri=http://localhost:8888

新增 eureka-service.properties 到 Config-Server 設定檔路徑底下
eureka-service.properties

server.port=${PORT:8761}
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
#eureka.client.enabled=false
eureka.instance.hostname=localhost
#eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:${server.port}/eureka/

其實 hostname 理論上是可以不用加的,但是會出現以下的錯誤訊息,不過網路上是說這沒關係是沒有Client的錯誤
log

2015-11-09 14:53:30.685 ERROR 21880 --- [trace=,span=] [nio-8761-exec-1] c.n.eureka.resources.StatusResource      : Could not determine if the replica is available 

java.lang.NullPointerException: null
	at com.netflix.eureka.resources.StatusResource.isReplicaAvailable(StatusResource.java:87)
	at com.netflix.eureka.resources.StatusResource.getStatusInfo(StatusResource.java:67)
	at org.springframework.cloud.netflix.eureka.server.EurekaController.status(EurekaController.java:68)

主程式部份
EurekaServerApplication.java

package com.example;

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);
    }
}

起動後就可以從 http://localhost:8761/ 觀察到目前有哪些服務


上一篇
Day 16 - 組態客戶端 Config Client
下一篇
Day 18 - 服務發現客戶端 Eureka Discovery
系列文
30天從零開始 使用 Spring Boot 跟 Spring Cloud 建構完整微服務架構35
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言