服务注册与发现尤里卡(服务管理)

   1。尤里卡简介;   尤里卡是Netflix出品的用于实现服务注册和发现的工具。春云集成了尤里卡,并提供了开箱即用的支持,其中,尤里卡又可细分为尤里卡服务器和尤里卡客户机。   1,尤里卡是Netflix公司开发的服务发现框架,春云对它提供了支持,将它集成在了自己的spring-cloud-netflix子项目中。   2,Netflix公司在Github上开源了很多项目,尤里卡只是其中一个,Netflix开源主页:https://github.com/Netflix   3,Netflix尤里卡GitHub开源地址:https://github.com/Netflix/eureka.AWS服务注册中心的弹性中间层负载平衡和故障转移。(尤里卡是用于弹性中间层负载平衡和故障转移的AWS服务注册中心)   4,尤里卡是一种基于休息(表现层状态转换)的服务,主要用于AWS (Amazon Web Services -亚马逊Web服务)云中定位服务,以实现中间层服务器的负载平衡和故障转移。   5,构建所需的一些需要java8因为库java8(伺服),但源和目标兼容性仍然设置为1.7。(构建尤里卡项目需要Java JDK 1.8以上版本,因为其中一些必须的库使用了Java8)   6,Netflix尤里卡官方文档:https://github.com/Netflix/eureka/wiki,目前最新版是2019年1月11日更新的V1.9.9。   7,Netflix尤里卡官网原来是2。X版本的,后面因为某些原因停止了2。X版本的维护,但是1。X版本仍然活跃,仍在积极开发,维护,和使用; 2.尤里卡基本特点;      (1)服务启动时会生成服务的基本信息对象InstanceInfo,然后在启动时会注册到服务治理中心。   (2)注册完成后会从服务治理中心拉取所有的服务信息,缓存在本地。   (3)之后服务会被30年代(可配置)发送一个心跳信息,续约服务。   (4)。如果服务治理中心在90年代内没有收到一个服务的续约,就会认为服务已经挂了,会把服务注册信息删掉。   (5)。服务停止前,服务会主动发送一个停止请求,服务治理中心会删除这个服务的信息。   (6)。如果尤里卡服务器收到的心跳包不足正常值的85%(可配置)就会进入自我保护模式,在这种模式下,尤里卡服务器不会删除任何服务信息。 3。尤里卡原理

服务注册与发现尤里卡(服务管理)”> </h2> <pre class=官网介绍地址:   https://github.com/Netflix/eureka/wiki/Eureka-at-a-glance
 4。尤里卡linux平台服务管理开发脚本内容;
  # !/bin/bash
  #配置信息
  CURDIR=$ (cd $(目录名$ {BASH_SOURCE [0]});pwd) # # # #远程脚本调自动获取当前脚本路径# # # # # # # #
  cd CURDIR美元
  浏览器名称=尤里卡
  主机=eureka1-dev.com
  端口=8000
  managementPort=${港口}
  appPath="/chj/app/尤里卡/?
  集群=http://eureka2-dev.com: 8000/尤里卡,http://eureka3-dev.com: 8000/尤里卡
  集群区=$ {}
  jar=" eureka-k8s.jar "
  内存=512
  ##########################################################
  
  #服务配置信息
  logDir="/chj/数据/日志/${浏览器名称}"
  mkdir - p $ {logDir}
  源。/脚本/fn。sh #环境变量信息文件# # #
  #函数信息
  函数fnstart () {
  nohup $ {CMD}祝辞祝辞$ {logDir}/控制台。日志2祝辞,1,
  processId=$ !
  echo $ {processId}祝辞$ {appPath}/pid
  回声“启动完毕”
  回声”pid为$ {processId}”
  }
  
  函数fnstop () {
  pidfile="/chj/app/尤里卡/pid”
  猫processId=美元($ {pidfile})
  回声”开始停止服务,pid为:$ {processId} "
  杀了$ {processId}
  真正的在$ {pidfile}
  回声“停止完毕”
  }
  
  函数fnrestart () {
  fnstop
  fnstart
  还真
  }
  
  
  函数fstatus () {
  猫过程=$ ($ {appPath}/pid)
  如果[[- s $ {appPath}/pid]]
  然后
  回声“True”
  其他的
  回声“误”
  fi
  }
  
  
  ##################################
  案例1美元
  开始)
  fnstart
  ;;
  
  停止)
  fnstop
  ;;
  重启)
  fnrestart
  ;;
  安装)
  fninstall
  ;;
  状态)
  fstatus
  esac
  
  猫。/脚本/fn.sh
  # !/bin/bash
  JAVA_OPS=" - server -d64 - xmx ${内存}xms ${内存}- 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=文件:/dev//urandom”。
  JAVA_OPS=" $ {JAVA_OPS} -DappName=${浏览器名称}”
  java CMD=" $ {JAVA_OPS} -Dhost=${主机}-Dport=${}港-Dcluster=${集群}dzone=${区}jar $ {jar}——spring.profiles。积极=对等”

服务注册与发现尤里卡(服务管理)