您好,登錄后才能下訂單哦!
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ǎ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)如下
5.軟件包獲取地址:
https://download.csdn.net/download/u011127348/10628971
免責(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)容。