溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

服務(wù)注冊與發(fā)現(xiàn)—Eureka (服務(wù)管理)

發(fā)布時間:2020-07-05 02:00:58 來源:網(wǎng)絡(luò) 閱讀:730 作者:breaklinux 欄目:系統(tǒng)運維
1.Eureka?簡介;?
???Eureka?是?Netflix?出品的用于實現(xiàn)服務(wù)注冊和發(fā)現(xiàn)的工具。?Spring?Cloud?集成了?Eureka,并提供了開箱即用的支持。其中,?Eureka?又可細分為?Eureka?Server?和?Eureka?Client。
??1、Eureka?是?Netflix?公司開發(fā)的服務(wù)發(fā)現(xiàn)框架,Spring?Cloud?對它提供了支持,將它集成在了自己的?spring-cloud-netflix??子項目中。
??2、Netflix?公司在?Github?上開源了很多項目,Eureka?只是其中一個,Netflix?開源主頁:https://github.com/Netflix
??3、Netflix?Eureka?GitHub?開源地址:https://github.com/Netflix/eureka。AWS?Service?registry?for?resilient?mid-tier?load?balancing?and?failover.(Eureka?是用于彈性中間層負載平衡和故障轉(zhuǎn)移的AWS服務(wù)注冊中心)
??4、Eureka?是一種基于?REST(表現(xiàn)層狀態(tài)轉(zhuǎn)換)?的服務(wù),主要用于?AWS(Amazon?Web?Services-亞馬遜web服務(wù))?云中定位服務(wù),以實現(xiàn)中間層服務(wù)器的負載平衡和故障轉(zhuǎn)移。
??5、The?build?requires?java8?because?of?some?required?libraries?that?are?java8?(servo),?but?the?source?and?target?compatibility?are?still?set?to?1.7.(構(gòu)建?Eureka?項目需要?Java?JDK?1.8以上版本,因為其中一些必須的庫使用了?Java8)
??6、Netflix??Eureka?官方文檔:https://github.com/Netflix/eureka/wiki,目前最新版是?2019年1月11更新的?V1.9.9。
??7、Netflix??Eureka?官網(wǎng)原來是?2.X?版本的,后面因為某些原因停止了?2.X?版本的維護,但是?1.X?版本仍然活躍,仍在積極開發(fā)、維護、和使用;
2.Eureka基本特點;

(1).服務(wù)啟動時會生成服務(wù)的基本信息對象InstanceInfo,然后在啟動時會register到服務(wù)治理中心。
(2).注冊完成后會從服務(wù)治理中心拉取所有的服務(wù)信息,緩存在本地。
(3).之后服務(wù)會被30s(可配置)發(fā)送一個心跳信息,續(xù)約服務(wù)。
(4).如果服務(wù)治理中心在90s內(nèi)沒有收到一個服務(wù)的續(xù)約,就會認為服務(wù)已經(jīng)掛了,會把服務(wù)注冊信息刪掉。
(5).服務(wù)停止前,服務(wù)會主動發(fā)送一個停止請求,服務(wù)治理中心會刪除這個服務(wù)的信息。
(6).如果Eureka?Server收到的心跳包不足正常值的85%(可配置)就會進入自我保護模式,在這種模式下,Eureka?Server不會刪除任何服務(wù)信息。
3.Eureka?原理

服務(wù)注冊與發(fā)現(xiàn)—Eureka (服務(wù)管理)

官網(wǎng)介紹地址:
https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance
4.eureka?linux?平臺服務(wù)管理開發(fā)腳本內(nèi)容;
#!/bin/bash
#配置信息
CURDIR=$(cd?$(dirname?${BASH_SOURCE[0]});?pwd?)???####遠程腳本調(diào)自動獲取當(dāng)前腳本路徑########
cd?$CURDIR
appName=eureka
host=eureka1-dev.com
port=8000
managementPort=${port}
appPath="/chj/app/eureka/"
cluster=http://eureka2-dev.com:8000/eureka,http://eureka3-dev.com:8000/eureka
zone=${cluster}
jar="eureka-k8s.jar"
memory=512m
##########################################################

#服務(wù)配置信息
logDir="/chj/data/log/${appName}"
mkdir?-p?${logDir}
source?./script/fn.sh???#環(huán)境變量信息文件###
#函數(shù)信息
function?fnstart()?{
????nohup?${CMD}?>>?${logDir}/console.log?2>&1?&
????processId=$!
????echo?${processId}?>?${appPath}/pid
????echo?"啟動完畢"
????echo?"pid?為?${processId}"
}

function?fnstop()?{
????pidfile="/chj/app/eureka/pid"
????processId=$(cat?${pidfile})
????echo?"開始停止服務(wù),?pid?為?:?${processId}"
????kill?${processId}
????true?>?${pidfile}?
????echo?"停止完畢"
}

function?fnrestart()?{
????fnstop
????fnstart
????return?True
}


function?fstatus(){
??process=$(cat?${appPath}/pid)
??if?[[?-s??${appPath}/pid?]]
??then
??????echo?"True"?
??else
??????echo?"flase"
??fi
}


##################################
case?$1?in
????????start)
????????????fnstart
????;;

????????stop)
????????????fnstop
????;;
????????restart)
????????????fnrestart
????;;
????????install)
????????????fninstall
????;;
?????????status)
???????????fstatus
esac

cat?./script/fn.sh
#!/bin/bash
JAVA_OPS="-server?-d64?-Xmx${memory}?-Xms${memory}?-verbose:gc"
JAVA_OPS="${JAVA_OPS}?-XX:+PrintGCDateStamps?-XX:+PrintGCTimeStamps"
JAVA_OPS="${JAVA_OPS}?-XX:+PrintGCDetails?-XX:+PrintTenuringDistribution?-XX:+PrintCommandLineFlags?-XX:+DisableExplicitGC"
JAVA_OPS="${JAVA_OPS}?-XX:+UseConcMarkSweepGC?-XX:+UseParNewGC?-XX:+CMSParallelRemarkEnabled?-Xloggc:${logDir}/gc.log"
JAVA_OPS="${JAVA_OPS}?-Djava.security.egd=file:/dev/./urandom"
JAVA_OPS="${JAVA_OPS}?-DappName=${appName}"
CMD="java?${JAVA_OPS}?-Dhost=${host}?-Dport=${port}?-Dcluster=${cluster}?-Dzone=${zone}?-jar?${jar}?--spring.profiles.active=peer"


目錄結(jié)構(gòu)如下

服務(wù)注冊與發(fā)現(xiàn)—Eureka (服務(wù)管理)


5.軟件包獲取地址:

https://download.csdn.net/download/u011127348/10628971


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI