您好,登錄后才能下訂單哦!
1.Eureka?簡介;? ???Eureka?是?Netflix?出品的用于實現服務注冊和發現的工具。?Spring?Cloud?集成了?Eureka,并提供了開箱即用的支持。其中,?Eureka?又可細分為?Eureka?Server?和?Eureka?Client。 ??1、Eureka?是?Netflix?公司開發的服務發現框架,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?是用于彈性中間層負載平衡和故障轉移的AWS服務注冊中心) ??4、Eureka?是一種基于?REST(表現層狀態轉換)?的服務,主要用于?AWS(Amazon?Web?Services-亞馬遜web服務)?云中定位服務,以實現中間層服務器的負載平衡和故障轉移。 ??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.(構建?Eureka?項目需要?Java?JDK?1.8以上版本,因為其中一些必須的庫使用了?Java8) ??6、Netflix??Eureka?官方文檔:https://github.com/Netflix/eureka/wiki,目前最新版是?2019年1月11更新的?V1.9.9。 ??7、Netflix??Eureka?官網原來是?2.X?版本的,后面因為某些原因停止了?2.X?版本的維護,但是?1.X?版本仍然活躍,仍在積極開發、維護、和使用;
2.Eureka基本特點; (1).服務啟動時會生成服務的基本信息對象InstanceInfo,然后在啟動時會register到服務治理中心。 (2).注冊完成后會從服務治理中心拉取所有的服務信息,緩存在本地。 (3).之后服務會被30s(可配置)發送一個心跳信息,續約服務。 (4).如果服務治理中心在90s內沒有收到一個服務的續約,就會認為服務已經掛了,會把服務注冊信息刪掉。 (5).服務停止前,服務會主動發送一個停止請求,服務治理中心會刪除這個服務的信息。 (6).如果Eureka?Server收到的心跳包不足正常值的85%(可配置)就會進入自我保護模式,在這種模式下,Eureka?Server不會刪除任何服務信息。
3.Eureka?原理
官網介紹地址: https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance
4.eureka?linux?平臺服務管理開發腳本內容; #!/bin/bash #配置信息 CURDIR=$(cd?$(dirname?${BASH_SOURCE[0]});?pwd?)???####遠程腳本調自動獲取當前腳本路徑######## 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 ########################################################## #服務配置信息 logDir="/chj/data/log/${appName}" mkdir?-p?${logDir} source?./script/fn.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?"開始停止服務,?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"
目錄結構如下
5.軟件包獲取地址:
https://download.csdn.net/download/u011127348/10628971
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。