国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Spring Cloud 注冊中心高可用搭建

wthee / 3544人閱讀

摘要:配置應用名稱,在注冊中心中顯示的服務注冊名稱。配置為為喜歡,即連接注冊中心使用地址形式,也可以使用,但生產環境不推薦。配置注冊中心清理無效節點的時間間隔,默認毫秒,即秒。

Spring Cloud的注冊中心可以由Eureka、Consul、Zookeeper、ETCD等來實現,這里推薦使用Spring Cloud Eureka來實現注冊中心,它基于Netfilix的Eureka做了二次封裝,完成分布式服務中服務治理的功能,微服務系統中的服務注冊與發現都通過這個注冊中心來進行管理。

引入Eureka Server依賴

之前的文章基礎上加入Spring Cloud的依賴,現在再加入注冊中心Eureka Server的依賴。


    
        org.springframework.cloud
        spring-cloud-starter-eureka-server
    
添加啟動類,開啟Eureka Server功能

在包根目錄下加入啟動類:

@EnableEurekaServer
@SpringBootApplication
public class RegisterApplication {

    public static void main(String[] args) {
        new SpringApplicationBuilder(RegisterApplication.class).bannerMode(Banner.Mode.LOG)
                .run(args);
    }
}

@EnableEurekaServer注解即開啟注冊中心服務器的功能。

添加Eureka配置

在application.yml中加入如下配置:

spring: 
  application: 
    name: register-center
  profiles: 
    active: register-center1
    
eureka:
  instance: 
    prefer-ip-address: true
    instance-id: ${spring.cloud.client.ipAddress}:${server.port}
    lease-expiration-duration-in-seconds: ${lease-expiration-duration-in-seconds}
    lease-renewal-interval-in-seconds: ${lease-renewal-interval-in-seconds}
  server: 
    enable-self-preservation: ${enable-self-preservation}  
    eviction-interval-timer-in-ms: ${eviction-interval-timer-in-ms}
  client:
    register-with-eureka: true
    fetch-registry: true
    serviceUrl: 
      defaultZone: ${register-center.urls}
      
---  
spring: 
  profiles: register-center1
      
server: 
  port: ${register-center1.server.port}
      
---
spring: 
  profiles: register-center2
  
server: 
  port: ${register-center2.server.port}

這里做了兩臺注冊中心的高可用配置register-center1,register-center2,也可以做多臺,既然是高可用,每個注冊中心都向別的注冊中心注冊自己。

Maven filter配置

${}里面的配置由maven resource filter來打包進行控制,不同的環境使用不同的配置文件。

如filter-dev.properties的配置參考如下:

#url
register-center1.server.ip=192.168.1.22
register-center2.server.ip=192.168.1.23
register-center.urls=http://${register-center1.server.ip}:${register-center1.server.port}/eureka/,http://${register-center2.server.ip}:${register-center2.server.port}/eureka/

#port
register-center1.server.port=7001
register-center2.server.port=7002
      
#config
enable-self-preservation=false
eviction-interval-timer-in-ms=5000
lease-expiration-duration-in-seconds=20
lease-renewal-interval-in-seconds=6
Spring Cloud配置詳解

Spring Boot的配置參考Spring Boot系列文章,這里只對Spring Cloud用到的配置解釋。

spring.application.name:配置應用名稱,在注冊中心中顯示的服務注冊名稱。

spring.cloud.client.ipAddress:獲取客戶端的IP地址。

eureka.instance.prefer-ip-address:配置為true為喜歡IP,即連接注冊中心使用IP地址形式,也可以使用HOSTNAME,但生產環境不推薦。

eureka.instance.instance-id:配置在注冊中心注冊的唯一實例ID。

eureka.instance.lease-expiration-duration-in-seconds:指示eureka服務器在接收到最后一個心跳之后等待的時間(秒),然后才能從此視圖中刪除此實例,并禁止此實例的流量。將此值設置得太長可能意味著流量可以路由到實例,即使實例不存在。設置此值太小可能意味著,由于臨時網絡故障,實例可能會被取消流量。此值將設置為至少高于lease-renewal-interval-in-seconds中指定的值。

eureka.instance.lease-renewal-interval-in-seconds:指示eureka客戶端需要向eureka服務器發送心跳以指示它仍然存在的頻率(以秒為單位)。如果在lease-expiration-duration-in-seconds中指定的時間段內未收到心跳線,則eureka服務器將從其視圖中刪除該實例,因此不允許此實例的流量。請注意,如果該實例實現HealthCheckCallback,然后決定使其本身不可用,則該實例仍然可能無法訪問流量。

eureka.server.enable-self-preservation:配置注冊中心是否開啟服務的自我保護功能。

eureka.server.eviction-interval-timer-in-ms:配置注冊中心清理無效節點的時間間隔,默認60000毫秒,即60秒。

eureka.client.register-with-eureka:配置為true指示此實例將其信息注冊到eureka服務器以供其他人發現。在某些情況下,您不希望發現實例,而您只想發現其他實例配置為false。

eureka.client.fetch-registry:指示該客戶端是否應從eureka服務器獲取eureka注冊表信息。。

eureka.client.serviceUrl.defaultZone:Eureka服務器地址。

啟動注冊中心

這樣一個兩個注冊心的Eureka Server就搭好了,啟動的時候使用不同的Profile來指定不同的端口。

spring-boot:run -Drun.profiles=register-center1  -P dev
spring-boot:run -Drun.profiles=register-center2  -P dev

推薦:Spring Boot & Cloud 最強技術教程

掃描關注我們的微信公眾號,干貨每天更新。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71302.html

相關文章

  • Spring Cloud 配置中心可用搭建

    摘要:本文通過連接倉庫來實現配置中心,除了還可以使用或者系統本地目錄都行。配置中心做到高可用本身也需要向注冊中心注冊自己的實例,所以需求引用依賴。啟動配置中心分別啟動以下配置中心,使用不同的指定端口。 本文通過config server連接git倉庫來實現配置中心,除了git還可以使用svn或者系統本地目錄都行。 引入依賴 org.springframework....

    Ajian 評論0 收藏0
  • Spring Cloud Eureka 集群可用

    在微服務架構中,注冊中心是一個必不可少的組件 前面我們搭建的注冊中心只適合本地開發使用,在生產環境必須搭建一個集群來保證高可用 Eureka的集群搭建很簡單,每一臺Eureka都需要在配置中指定另外N個Eureka的地址就可以 下面我們以2個節點來說明 我們有master和slaveone 2臺機器,需要做的就是: master注冊到slaveone上面 slaveone注冊到master上面即...

    Elle 評論0 收藏0
  • 2021 年最新基于 Spring Cloud 的微服務架構分析

    摘要:是一個相對比較新的微服務框架,年才推出的版本雖然時間最短但是相比等框架提供的全套的分布式系統解決方案。提供線程池不同的服務走不同的線程池,實現了不同服務調用的隔離,避免了服務器雪崩的問題。通過互相注冊的方式來進行消息同步和保證高可用。 Spring Cloud 是一個相對比較新的微服務框架,...

    cikenerd 評論0 收藏0
  • 架構~微服務

    摘要:接下來繼續介紹三種架構模式,分別是查詢分離模式微服務模式多級緩存模式。分布式應用程序可以基于實現諸如數據發布訂閱負載均衡命名服務分布式協調通知集群管理選舉分布式鎖和分布式隊列等功能。 SpringCloud 分布式配置 SpringCloud 分布式配置 史上最簡單的 SpringCloud 教程 | 第九篇: 服務鏈路追蹤 (Spring Cloud Sleuth) 史上最簡單的 S...

    xinhaip 評論0 收藏0
  • 墻裂推薦:搜云庫技術團隊,面試必備的技術干貨

    摘要:今天整理了一下近大半年以來的一些文章,和我的預期一樣,很多文章我都忘記自己曾經寫過了,這個記錄的過程讓我也有了新的理解。希望大家,收藏,點贊,加轉發。 今天整理了一下近大半年以來的一些文章,和我的預期一樣,很多文章我都忘記自己曾經寫過了,這個記錄的過程讓我也有了新的理解。希望大家,收藏,點贊,加轉發。 面試必備 面試必備:深入Spring MVC DispatchServlet 源碼...

    SegmentFault 評論0 收藏0

發表評論

0條評論

wthee

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<