在上一篇文檔中潘酗,描繪了如何在IDEA編譯器及本地環(huán)境下搭建單機版的Eureka的服務(wù)端和客戶端瞭空,也就是圖1這種情況(一臺Eureka的服務(wù)端和一個Eureka的客戶端)揪阿。
一般我們程序員在做SpringCloud業(yè)務(wù)開發(fā)時都是基于單機版的架構(gòu)下開發(fā)疗我,就不同的業(yè)務(wù)模塊劃分決定了會存在不止一個微服務(wù),每一個微服務(wù)對應(yīng)的自然就是Eureka的客戶端南捂,故我們在本地代碼開發(fā)時吴裤,走的都是圖2(一個Eureka服務(wù)端和多個Eureka客戶端)
可真實的線上生產(chǎn)環(huán)境,往往不止有一個Eureka服務(wù)端溺健,而是多個麦牺,因為我們知道服務(wù)器都會有宕機的情況,何況作為一個服務(wù)存在的EurekaServer端呢鞭缭!
本篇純粹講如何在本地環(huán)境下搭建Eureka集群(IDEA編譯器)剖膳,不講線上docker方式
對于springCloud組件的使用,依賴岭辣、配置和加注解這三步在上一篇已完成了對單機版的Eureka的實現(xiàn)吱晒,而集群版只不過是在單機版基礎(chǔ)上修改一下配置文件即可
首先還是先看一下官方文檔,對此有何指引
換句話說:官方建議是讓EurekaServer端相互注冊沦童,來確保Eureka高可用仑濒!畢竟Eureka走的就是AP設(shè)計!
接下來我們就從圖3這種方式說起偷遗,然后慢慢過渡到圖4
1 修改Eureka Server端配置文件
在修改之前墩瞳,我們來對比一下官方文檔單機版和雙機版所推薦配置文件
區(qū)別:
1、在單機版配置中我們看到只有一個配置文件氏豌,可雙機版人家推薦用兩個配置文件區(qū)分
2喉酌、在講單機版的時候,我們就針對控制臺報錯問題箩溃,深究了一下紅色方框1的內(nèi)容瞭吃,可在雙機版這兩個配置直接不存在
3、在雙機版兩個不同配置文件的默認注冊地址是不一樣的
步驟1? 按照推薦涣旨,創(chuàng)建兩個不同的配置文件
步驟2? IDEA里做好多啟動對應(yīng)配置文件映射
分別啟動Server端peer1,然后啟動Client1,再啟動Server端peer2,訪問界面如下
至此我們來看一下client端的配置文件歪架,思考幾個問題:
思考:
1、從上一篇文檔里我們明白霹陡,這個client服務(wù)默認往localhost:8761/eureka/去注冊和蚪,怎么會跑到localhost:8762里面去呢?
2烹棉、從單機版到雙機版攒霹,紅色方框1的內(nèi)容在影響著什么,如果在雙機版加上浆洗,還會出現(xiàn)如上效果嗎催束?
3、如果我改變啟動順序伏社,如果是先啟動服務(wù)端peer1抠刺,然后啟動服務(wù)端peer2塔淤,最后再啟動client服務(wù),在localhost:8762上還能看到client1被注冊嗎速妖?為什么呢高蜂?
4、如果要部署三臺eurekaServer罕容,那么euerkaServer在配置上如何改動备恤?
容我偷個懶不解釋上面問題,由于思考3情況的存在锦秒,在確保服務(wù)高可用的情況下露泊,我們要向圖4看齊,故在client端配置文件上旅择,得如此修改
至此滤淳,本地搭建Eureka集群暫告一段落,有點虎頭蛇尾(最近有點懶)砌左,多擔待哈