1. 程式人生 > >eureka做服務註冊與發現

eureka做服務註冊與發現

關於eureka的介紹什麼的就不寫了哈,網上有很多。。

首先搭建eureka服務端

可以通過Spring Initializr建立
這裡寫圖片描述
pom檔案:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.10.RELEASE</version>
        <relativePath
/>
</parent> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-eureka-server</artifactId> </dependency> <!--引入spring security做登入驗證--> <dependency
>
<groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>
spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>

依賴引入好了之後就開始application.properties配置了

server.port=8666
spring.application.name=eureka-server
#服務註冊中心例項的主機名
eureka.instance.hostname=127.0.0.1
#留存的服務示例低於多少比例進入保護模式
eureka.server.renewal-percent-threshold=0.5
#是否開啟保護模式
eureka.server.enable-self-preservation=true
#是否向服務註冊中心註冊自己
eureka.client.register-with-eureka=false
#是否啟用獲取服務註冊資訊,因為這是一個單點的Eureka Server,不需要同步其他的Eureka Server節點的資料,故而設為false
eureka.client.fetch-registry=false
#註冊和查詢都需要依賴該地址,多個以逗號分隔
#這裡有登入驗證,把使用者名稱密碼寫在這地址上,不然client連線的時候會報com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
eureka.client.serviceUrl.defaultZone=http://admin:123456@127.0.0.1:8666/eureka/

#這裡使用spring security對註冊中心做一個使用者名稱密碼登入
#先做個基礎的,後面再來完善安全性問題
security.basic.enabled=true
security.user.name=admin
security.user.password=123456

配置好了之後,在主入口中

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {

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


}

打上@EnableEurekaServer這一註解就可以了
然後訪問localhost:8666
這裡寫圖片描述
就會彈出身份驗證
這裡寫圖片描述
輸入使用者名稱密碼登入上去就進入eureka頁面了

然後註冊一個client

新建一個project,首先還是需要新增依賴包

 <!--如果要健康檢查,就需要這個依賴-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>

然後配置

server.port=8081
spring.application.name=user-service

eureka.client.service-url.defaultZone=http://admin:123456@127.0.0.1:8666/eureka/
eureka.instance.lease-renewal-interval-in-seconds=5
eureka.instance.lease-expiration-duration-in-seconds=10
eureka.client.healthcheck.enable=true

這裡寫圖片描述
服務就成功註冊上了