服务注册与发现—Eureka (服务管理)
admin
2023-03-03 12:02:26
0
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 原理

服务注册与发现—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"


目录结构如下

服务注册与发现—Eureka (服务管理)


5.软件包获取地址:

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


相关内容

热门资讯

农业农村“半年报”发布,这些看... 7月24日召开的国新办发布会上,农业农村部介绍2026年上半年农业农村经济运行情况。夏粮喜获丰收、常...
世界遗产+1!景德镇打卡地图,... 北京时间7月25日,在韩国釜山举行的第48届世界遗产大会上,由我国申报的“景德镇手工瓷业遗存”项目经...
有人呼吁白宫“封杀”中国开源大... 未来一段时间,将有多款中国开源模型发布。Kimi K3定于7月27日正式开源,阿里即将开源2.4万亿...
20名“高考状元”选择学医!此... 2026年香港高考的24名“状元”中,有20人明确表示将留港攻读医科。多年来,香港最顶尖的“学霸们”...
“抢人大战”,风向有变? 各地一场“抢老人”的大战,已然徐徐拉开大幕。最近,有着人口净流出压力的吉林,计划拿出3亿元发展旅居康...
石家庄一家不限量的爱心素食面馆... 7月24日正午时分,记者来到位于石家庄市新华区东明家居西二环店北门旁的“素面”小店,不大的店面里坐满...
中材科技申请风电叶片外补强辅助... 国家知识产权局信息显示,中材科技(伊吾)风电叶片有限公司申请一项名为“风电叶片外补强辅助固化装置”的...
为人工智能治理提供重要公共产品 图为2026世界人工智能大会暨人工智能全球治理高级别会议举办期间,在世博展览馆灵心巧手展位,参观者观...
泽连斯基称俄对乌多地发动大规模... 当地时间25日,乌克兰总统泽连斯基通报称,俄军于当日凌晨对乌克兰多地发动大规模空袭,使用2枚导弹、近...