成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

整合springcloud云服務(wù)架構(gòu)-eureka基礎(chǔ)-創(chuàng)新互聯(lián)

在構(gòu)建項(xiàng)目之前,我們先學(xué)習(xí)一下eureka,這是官方的講解,我這邊再重新幫大家回顧一下:

十載建站經(jīng)驗(yàn), 網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站客戶的見證與正確選擇。成都創(chuàng)新互聯(lián)公司提供完善的營銷型網(wǎng)頁建站明細(xì)報(bào)價(jià)表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。

服務(wù)發(fā)現(xiàn):Eureka客戶端
服務(wù)發(fā)現(xiàn)是基于微服務(wù)架構(gòu)的關(guān)鍵原則之一。嘗試配置每個(gè)客戶端或某種形式的約定可能非常困難,可以非常脆弱。Netflix服務(wù)發(fā)現(xiàn)服務(wù)器和客戶端是Eureka。可以將服務(wù)器配置和部署為高可用性,每個(gè)服務(wù)器將注冊服務(wù)的狀態(tài)復(fù)制到其他服務(wù)器。

如何包含Eureka客戶端
要在您的項(xiàng)目中包含Eureka客戶端,請使用組org.springframework.cloud和工件ID spring-cloud-starter-eureka的啟動(dòng)器。

注冊Eureka
當(dāng)客戶端注冊Eureka時(shí),它提供關(guān)于自身的元數(shù)據(jù),例如主機(jī)和端口,健康指示符URL,主頁等。Eureka從屬于服務(wù)的每個(gè)實(shí)例接收心跳消息。如果心跳失敗超過可配置的時(shí)間表,則通常將該實(shí)例從注冊表中刪除。

示例eureka客戶端:

@Configuration
@ComponentScan
@EnableAutoConfiguration
@EnableEurekaClient
@RestController
public class Application {

    @RequestMapping("/")
    public String home() {
        return "Hello world";
    }

    public static void main(String[] args) {
        new SpringApplicationBuilder(Application.class).web(true).run(args);
    }

}

(即完全正常的Spring Boot應(yīng)用程序)。在這個(gè)例子中,我們明確地使用@EnableEurekaClient,但只有Eureka可用,你也可以使用@EnableDiscoveryClient。需要配置才能找到Eureka服務(wù)器。例:

application.yml

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

其中“defaultZone”是一個(gè)魔術(shù)字符串后備值,為任何不表示選項(xiàng)的客戶端提供服務(wù)URL(即它是有用的默認(rèn)值)。

從Environment獲取的默認(rèn)應(yīng)用程序名稱(服務(wù)ID),虛擬主機(jī)和非安全端口分別為${spring.application.name},${spring.application.name}和${server.port}。

@EnableEurekaClient將應(yīng)用程序同時(shí)進(jìn)入一個(gè)Eureka“實(shí)例”(即注冊自己)和一個(gè)“客戶端”(即它可以查詢注冊表以查找其他服務(wù))。實(shí)例行為由eureka.instance.*配置鍵驅(qū)動(dòng),但是如果您確保您的應(yīng)用程序具有spring.application.name(這是Eureka服務(wù)ID或VIP的默認(rèn)值),那么默認(rèn)值將是正常的。

使用Eureka服務(wù)器進(jìn)行身份驗(yàn)證
如果其中一個(gè)eureka.client.serviceUrl.defaultZone網(wǎng)址中包含一個(gè)憑據(jù)(如http://user:password@localhost:8761/eureka)),HTTP基本身份驗(yàn)證將自動(dòng)添加到您的eureka客戶端。對于更復(fù)雜的需求,您可以創(chuàng)建DiscoveryClientOptionalArgs類型的@Bean,并將ClientFilter實(shí)例注入到其中,所有這些都將應(yīng)用于從客戶端到服務(wù)器的調(diào)用。

注意
由于Eureka中的限制,不可能支持每個(gè)服務(wù)器的基本身份驗(yàn)證憑據(jù),所以只能使用第一個(gè)找到的集合。
狀態(tài)頁和健康指標(biāo)
Eureka實(shí)例的狀態(tài)頁面和運(yùn)行狀況指示器分別默認(rèn)為“/ info”和“/ health”,它們是Spring Boot執(zhí)行器應(yīng)用程序中有用端點(diǎn)的默認(rèn)位置。如果您使用非默認(rèn)上下文路徑或servlet路徑(例如server.servletPath=/foo)或管理端點(diǎn)路徑(例如management.contextPath=/admin),則需要更改這些,即使是執(zhí)行器應(yīng)用程序。例:

application.yml
eureka:
  instance:
    statusPageUrlPath: ${management.context-path}/info
    healthCheckUrlPath: ${management.context-path}/health

這些鏈接顯示在客戶端使用的元數(shù)據(jù)中,并在某些情況下用于決定是否將請求發(fā)送到應(yīng)用程序,因此如果它們是準(zhǔn)確的,這是有幫助的。

注冊安全應(yīng)用程序
如果您的應(yīng)用程序想通過HTTPS聯(lián)系,則可以分別在EurekaInstanceConfig,即 eureka.instance.[nonSecurePortEnabled,securePortEnabled]=[false,true] 中設(shè)置兩個(gè)標(biāo)志。這將使Eureka發(fā)布實(shí)例信息顯示安全通信的明確偏好。Spring Cloud DiscoveryClient將始終為以這種方式配置的服務(wù)返回一個(gè)https://…; URI,并且Eureka(本機(jī))實(shí)例信息將具有安全的健康檢查URL。

由于Eureka內(nèi)部的工作方式,它仍然會(huì)發(fā)布狀態(tài)和主頁的非安全網(wǎng)址,除非您也明確地覆蓋。您可以使用占位符來配置eureka實(shí)例URL,例如

application.yml
eureka:
  instance:
    statusPageUrl: https://${eureka.hostname}/info
    healthCheckUrl: https://${eureka.hostname}/health
    homePageUrl: https://${eureka.hostname}/

(請注意,${eureka.hostname}是僅在稍后版本的Eureka中可用的本地占位符,您也可以使用Spring占位符實(shí)現(xiàn)同樣的功能,例如使用${eureka.instance.hostName}。

注意
如果您的應(yīng)用程序在代理服務(wù)器后面運(yùn)行,并且SSL終止服務(wù)在代理中(例如,如果您運(yùn)行在Cloud Foundry或其他平臺(tái)作為服務(wù)),則需要確保代理“轉(zhuǎn)發(fā)”頭部被截取并處理應(yīng)用程序。Spring Boot應(yīng)用程序中的嵌入式Tomcat容器會(huì)自動(dòng)執(zhí)行“X-Forwarded - \ *”標(biāo)頭的顯式配置。你這個(gè)錯(cuò)誤的一個(gè)跡象就是你的應(yīng)用程序本身所呈現(xiàn)的鏈接是錯(cuò)誤的(錯(cuò)誤的主機(jī),端口或協(xié)議)。
Eureka的健康檢查
默認(rèn)情況下,Eureka使用客戶端心跳來確定客戶端是否啟動(dòng)。除非另有規(guī)定,否則發(fā)現(xiàn)客戶端將不會(huì)根據(jù)Spring Boot執(zhí)行器傳播應(yīng)用程序的當(dāng)前運(yùn)行狀況檢查狀態(tài)。這意味著成功注冊后Eureka將永遠(yuǎn)宣布申請?zhí)幱凇癠P”狀態(tài)。通過啟用Eureka運(yùn)行狀況檢查可以改變此行為,從而將應(yīng)用程序狀態(tài)傳播到Eureka。因此,每個(gè)其他應(yīng)用程序?qū)⒉粫?huì)在“UP”之外的狀態(tài)下將流量發(fā)送到應(yīng)用程序。

application.yml
eureka:
  client:
    healthcheck:
      enabled: true

警告
eureka.client.healthcheck.enabled=true只能在application.yml中設(shè)置。設(shè)置bootstrap.yml中的值將導(dǎo)致不期望的副作用,例如在具有UNKNOWN狀態(tài)的eureka中注冊。
如果您需要更多的控制健康檢查,您可以考慮實(shí)施自己的com.netflix.appinfo.HealthCheckHandler。

Eureka實(shí)例和客戶端的元數(shù)據(jù)
值得花點(diǎn)時(shí)間了解Eureka元數(shù)據(jù)的工作原理,以便您可以在平臺(tái)上使用它。有主機(jī)名,IP地址,端口號,狀態(tài)頁和運(yùn)行狀況檢查等標(biāo)準(zhǔn)元數(shù)據(jù)。這些發(fā)布在服務(wù)注冊表中,由客戶使用,以直接的方式聯(lián)系服務(wù)。額外的元數(shù)據(jù)可以添加到eureka.instance.metadataMap中的實(shí)例注冊中,并且這將在遠(yuǎn)程客戶端中可訪問,但一般不會(huì)更改客戶端的行為,除非意識到元數(shù)據(jù)的含義。下面描述了幾個(gè)特殊情況,其中Spring Cloud已經(jīng)為元數(shù)據(jù)映射指定了含義。

在Cloudfoundry上使用Eureka
Cloudfoundry有一個(gè)全局路由器,所以同一個(gè)應(yīng)用程序的所有實(shí)例都具有相同的主機(jī)名(在具有相似架構(gòu)的其他PaaS解決方案中也是如此)。這不一定是使用Eureka的障礙,但如果您使用路由器(建議,甚至是強(qiáng)制性的,具體取決于您的平臺(tái)的設(shè)置方式),則需要明確設(shè)置主機(jī)名和端口號(安全或非安全),以便他們使用路由器。您可能還需要使用實(shí)例元數(shù)據(jù),以便您可以區(qū)分客戶端上的實(shí)例(例如,在自定義負(fù)載平衡器中)。默認(rèn)情況下,eureka.instance.instanceId為vcap.application.instance_id。例如:

application.yml
eureka:
  instance:
    hostname: ${vcap.application.uris[0]}
    nonSecurePort: 80

服務(wù)發(fā)現(xiàn):Eureka服務(wù)器
如何包含Eureka服務(wù)器
要在項(xiàng)目中包含Eureka服務(wù)器,請使用組org.springframework.cloud和工件id spring-cloud-starter-eureka-server的啟動(dòng)器。有關(guān) 使用當(dāng)前的Spring Cloud發(fā)布列表設(shè)置構(gòu)建系統(tǒng)的詳細(xì)信息,請參閱Spring Cloud項(xiàng)目頁面。

如何運(yùn)行Eureka服務(wù)器
示例eureka服務(wù)器;

@SpringBootApplication
@EnableEurekaServer
public class Application {

    public static void main(String[] args) {
        new SpringApplicationBuilder(Application.class).web(true).run(args);
    }

}

其他的我就不多講了,還有很多關(guān)于注冊中心的講解,大家可以去查一下相關(guān)的資料。

從現(xiàn)在開始,我這邊會(huì)將近期研發(fā)的spring cloud微服務(wù)云架構(gòu)的搭建過程和精髓記錄下來,幫助更多有興趣研發(fā)spring cloud框架的朋友,大家來一起探討spring cloud架構(gòu)的搭建過程及如何運(yùn)用于企業(yè)項(xiàng)目。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標(biāo)題名稱:整合springcloud云服務(wù)架構(gòu)-eureka基礎(chǔ)-創(chuàng)新互聯(lián)
URL標(biāo)題:http://jinyejixie.com/article14/icpge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、建站公司電子商務(wù)、面包屑導(dǎo)航、網(wǎng)站收錄、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
五莲县| 娱乐| 蒙自县| 博客| 保定市| 齐齐哈尔市| 深水埗区| 永昌县| 林周县| 太仓市| 黄陵县| 凤台县| 香格里拉县| 汉中市| 长汀县| 靖州| 章丘市| 金秀| 阿拉善右旗| 内丘县| 南部县| 陇川县| 毕节市| 新兴县| 乾安县| 句容市| 虞城县| 海阳市| 大丰市| 油尖旺区| 新巴尔虎左旗| 隆德县| 大关县| 兴业县| 桦南县| 南京市| 曲沃县| 清水县| 安乡县| 克什克腾旗| 阿尔山市|