【Spring Cloud 筆記和總結】二、註冊中心Eureka

一、關於註冊中心

主要功能如下

  • 服務註冊表:記錄分佈式架構中所有服務和服務地址的映射關係,用於服務直接相互調用
  • 服務註冊與發現:服務啓動時將自己的信息註冊到註冊中心;服務直接相互調用時從註冊中心獲取目標服務信息
  • 服務健康檢查 :使用一定機制檢查註冊中心的服務是否正常,如果長時間無法訪問,則將其移除

常見註冊中心

  • Eureka
  • Consul
  • Zookeeper
  • Nacos

    本文以Eureka爲例,後續會更新其他註冊中心

二、主要內容

結構如下
在這裏插入圖片描述
配置文件application.yml如下

spring:
  application:
    name: spring-cloud-eureka #服務名稱
server:
  port: 8000
eureka:
  instance:
    hostname: localhost
  client:
    register-with-eureka: false #表示是否將自己註冊到Eureka Server,默認爲true。
    fetch-registry: false #表示是否從Eureka Server獲取註冊信息,默認爲true。
    serviceUrl:
      defaultZone: http://localhost:8000/eureka #服務地址,多個可用逗號【,】分隔

pom文件如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.lxt</groupId>
        <artifactId>springcloud</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <groupId>com.lxt</groupId>
    <artifactId>exureka-server</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>exureka-server</name>
    <description>Demo project for Spring Boot</description>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
        </dependency>
    </dependencies>
</project>

運行結果如下圖所示,註冊中心目前無服務註冊
在這裏插入圖片描述

三、集羣高可用

C:\Windows\System32\drivers\etc\host文件添加映射

127.0.0.1       center
127.0.0.1       center1
127.0.0.1       center2

使用yml配置文件連接符---添加三個集羣的節點center、center1、center2,修改後配置文件如下:



spring:
  application:
    name: spring-cloud-eureka #服務名稱
---
server:
  port: 8000
eureka:
  instance:
    hostname: localhost
  client:
    register-with-eureka: false #表示是否將自己註冊到Eureka Server,默認爲true。
    fetch-registry: false #表示是否從Eureka Server獲取註冊信息,默認爲true。
    serviceUrl:
      defaultZone: http://localhost:8000/eureka/ #服務地址,多個可用逗號【,】分隔
---
spring:
  profiles: center
server:
  port: 8000
eureka:
  instance:
    hostname: center
  client:
    #register-with-eureka: false #表示是否將自己註冊到Eureka Server,默認爲true。
    ##fetch-registry: false #表示是否從Eureka Server獲取註冊信息,默認爲true。
    serviceUrl:
      defaultZone: http://center1:8100/eureka/,http://center2:8200/eureka/ #服務地址,多個可用逗號【,】分隔
---
spring:
  profiles: center1
server:
  port: 8100
eureka:
  instance:
    hostname: center1
  client:
    serviceUrl:
      defaultZone: http://center:8000/eureka/,http://center2:8200/eureka/ #服務地址,多個可用逗號【,】分隔
---
spring:
  profiles: center2
server:
  port: 8200
eureka:
  instance:
    hostname: center2
  client:
    serviceUrl:
      defaultZone: http://center:8000/eureka/,http://center1:8100/eureka/ #服務地址,多個可用逗號【,】分隔
---




啓動:

  • mvn package 打成jar包

  • cmd 切入到jar所在目錄

  • 分別運行:

    java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=center
    java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=center1
    java -jar spring-cloud-eureka-0.0.1-SNAPSHOT.jar --spring.profiles.active=center2
    
  • 瀏覽器查看,集羣搭建成功
    在這裏插入圖片描述

四、相關

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