当前位置: 首页 > news >正文

定制网站建设流程海南省建设考试网站

定制网站建设流程,海南省建设考试网站,网站被挂黑链了,河北建设工程信息网计算机辅助系统下面主要分为Client端和Server端两大类进行简述#xff0c;Eureka的几个核心参数 客户端参数 Client端的核心参数 参数默认值说明eureka.client.availability-zones告知Client有哪些region以及availability-zones#xff0c;支持配置修改运行时生效eureka.client.filter-o…下面主要分为Client端和Server端两大类进行简述Eureka的几个核心参数 客户端参数 Client端的核心参数 参数默认值说明eureka.client.availability-zones告知Client有哪些region以及availability-zones支持配置修改运行时生效eureka.client.filter-only-up-instancestrue是否过滤出InstanceStatus为UP的实例eureka.client.regionus-east-1指定该应用实例所在的regionAWS datacenters适用eureka.client.register-with-eurekatrue是否将该应用实例注册到Eureka Servereureka.client.prefer-szme-zone-eurekatrue是否优先使用与该实例处于相同zone的Eureka Servereureka.client.on-demand-update-status-changetrue是够将本地实例状态更新通过ApplicationInfoManager实时触发同步到Eureka Servereureka.instance.metadata-map指定应用实例的元数据信息eureka.instance.prefer-ip-addressfalse指定优先使用ip地址替代host name作为实例的hostName字段值eureka.instance.lease-expiration-duration-in-seconds90指定Eureka Client间隔多久需要向Eureka Server发送心跳来告知Eureka Server该实例还存活 定时任务参数 参数默认值说明eureka.client.cache-refresh-executor-thread-pool-size2刷新缓存的CacheRefreshThread的线程池大小eureka.client.cache-refresh-executor-exponential-back-off-bound10(刷新缓存)调度任务执行超时时下次的调度的延迟时间reka.client.heartbeat-executor-thread-pool-size2心跳线程HeartBeatThread的线程池大小eureka.client.heartbeat-executor-exponential-back-off-bound10(心跳执行)调度任务超时时下次的调度的延时时间eureka.client.registry-fetch-interval-seconds30CacheRefreshThread线程调度频率eureka.client.eureka-service-url-poll-interval-seconds5*60AsyncResolver.updateTask刷新Eureka Server地址的时间间隔eureka.client.initial-instance-info-replication-interval-seconds40InstanceInfoReplicator将实例信息变更同步到Eureka Server的初始延时时间eureka.client.instance-info-replication-interval-seconds30InstanceInfoReplicator将实例信息变更同步到Eureka Server的时间间隔ureka.instance.lease-renewal-interval-in-seconds30Eureka Client向Eureka Server发送心跳的时间间隔 http参数 Eureka Client底层httpClient与Eureka Server通信提供的先关参数 参数默认值说明eureka.client.eureka-server-connect-timeout-seconds5连接超时时间eureka.client.eureka-server-read-timeout-seconds8读超时时间eureka.client.eureka-server-total-connections200连接池最大活动连接数eureka.client.eureka-server-total-connections-per-host50每个host能使用的最大链接数eureka.client.eureka-connection-idle-timeout-seconds30连接池中链接的空闲时间 服务端端参数 主要包含这几类基本参数、response cache参数、peer相参数、http参数 基本参数 参数默认值说明eureka.server.enable-self-perservationtrue是否开启自我保护模式eureka.server.renewal-percent-threshold0.85指定每分钟需要收到续约次数的阈值eureka.instance.registry.expected-number-of-renews-per-min1指定每分钟需要接收到的续约次数值实际该值在其中被写死为count*2另外也会被更新eureka.server.renewal-threshold-update-interval-ms15分钟指定updateRenewalThreshold定时任务的调度频率来动态更新expectedNumberOfRenewsPerMin及numberOfRenewsPerminThreshold值eureka.server.eviction-interval-timer-in-ms60*1000指定EvictionTask定时任务的调度频率用于剔除过期的实例 response cache参数 Eureka Server为了提升自身REST API接口的性能提供了两个缓存一个是基于ConcurrentMap的readOnlyCacheMap一个是基于Guava Cache的readWriteCacheMap。其相关参数如下 参数默认值说明eureka.server.use-read-only-response-cachetrue是否使用只读的response-cacheeureka.server.response-cache-update-interval-ms30*1000设置CacheUpdateTask的调度时间间隔用于从readWriteCacheMap更新数据到readOnlyCacheMap。仅仅在eureka.server.use-read-only-response-cache为true的时候生效eureka.server.response-cache-auto-expiration-in-seconds180设置readWriteCacheMap的expireAfterWrite参数指定写入多长时间过过期 peer相关参数 参数默认值说明eureka.server.peer-eureka-nodes-update-interval-ms10分钟指定peersUpdateTask调度的时间间隔用于从配置文件刷新peerEurekaNodes节点的配置信息(‘eureka.client.serviceUrl相关zone的配置’)eureka.server.peer-eureka-status-refresh-time-interval-ms30*1000指定更新peer node状态信息的时间间隔 http参数 Eureka Server需要与其他peer节点进行通信复制实例信息其底层使用httpClient提供相关的参数 参数默认值说明eureka.server.peer-node-connect-timeout-ms200连接超时时间eureka.server.peer-node-read-timeout-ms200读超时时间eureka.server.peer-node-total-connections1000连接池最大活动连接数eureka.server.peer-node-total-connections-per-host500每个host能使用的最大连接数eureka.server.peer-node-connection-idle-timeout-seconds30连接池中连接的空闲时间 参数调优 常见问题 1.为什么服务下线了Eureka Server接口返回的信息还会存在 2.为什么服务上线了Eureka Client不能及时获取到 3.为什么会有一下提示 EMERGENCY!EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY’RE NOT. RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE解决方法 1.Eureka Server并不是强一致的因此registry中会议保留过期的实例信息。原因如下 应用实例异常挂掉没能在挂掉之前告知Eureka Server要下线掉该服务实例信息。这个就需要依赖Eureka Server的EvictionTask去剔除。应用实例下线是有告知Eureka Server下线但是由于Eureka Server的REST API有response cache因此需要等待缓存过期才能更新。由于Eureka Server开启并以入了SELF PRESERVATION(自我保护)模式导致registry的信息不会因为过期而被剔除掉直到退出SELF PRESERVATION(自我保护)模式。 针对Client下线而没有通知Eureka Server的问题可以调整EvictionTask的调度频率比如把默认的时间间隔60s调整为5s eureka:server:eviction-interval-timer-in-ms: 5000针对response cache的问题可以根据情况考虑关闭readOnlyCacheMap eureka:server:use-read-only-response-cache: false或者调整readWriteCacheMap的过期时间 eureka:server:response-cache-auto-expiration-in-seconds: 60针对SELF PRESERVATION(自我保护)的问题在测试环境可以将enable-self-preservation设置为false eureka:server:enable-self-preservation: false关闭之后会提示 THE SELF PRESER VAT ION MODE IS TURNED OFF. THIS MAY NOT PRO TECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.或者 RENEWALS ARE LESSER THAN THE THRESHOLD.THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF NETWORK/OTHER PROBLEMS.2.针对新服务上线Eureka Client获取不及时的问题在测试环境可以适当提高client端拉取Server注册信息的频率例如下面将默认的30s改为5s eureka:client:registry-fetch-interval-seconds: 53.在实际生产过程中经常会有网络抖动等问题造成服务实例与Eureka Server的心跳未能如期保持但是服务实例本身是健康的这个时候如果按照租约剔除机制剔除的话会造成误判无果大范围误判的话可能导致整个服务注册列表的大部分注册信息被删除从而没有可用服务。Eureka为了解决这个问题引入了SELF PRESERVATION机制当最近一分钟接收到的租约次数小于等于指定阈值的话则关闭租约失效剔除禁止定时任务失效的实例从而保护注册信息。 在生产环境下可以吧renewwalPercentThreshold及leaseRenewalIntervalInSeconds参数调小一点从而提高触发SELF PRESERVATION机制的阈值。 eureka:instance:lease-renewal-interval-in-seconds: 10 #默认是30renewal-percent-threshold: 0.49 #默认是0.85监控指标 Eureka内置了基于servo的指标统计具体在com.netflix.eureka.util.EurekaMonitors。Spring Boot 2.x版本改为使用Micrometer不再支持Neflix Servo转而支持Neflix Servo的替代品Neflix Spectator。不过对于Servo可以通过DefaultMonitorRegistry.getInstance().getRegisteredMonitors来获取所有注册了的Monitor进而获取其指标值。 // // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) //package com.netflix.eureka.util;import com.netflix.appinfo.AmazonInfo; import com.netflix.appinfo.ApplicationInfoManager; import com.netflix.appinfo.DataCenterInfo; import com.netflix.appinfo.AmazonInfo.MetaDataKey; import com.netflix.appinfo.DataCenterInfo.Name; import com.netflix.servo.DefaultMonitorRegistry; import com.netflix.servo.annotations.DataSourceType; import com.netflix.servo.annotations.Monitor; import com.netflix.servo.monitor.Monitors; import java.util.concurrent.atomic.AtomicLong;public enum EurekaMonitors {// 自启动以来收到的总续约次数RENEW(renewCounter, Number of total renews seen since startup),// 自启动以来收到的总取消租约次数CANCEL(cancelCounter, Number of total cancels seen since startup),// 自启动以来查询registry的总次数GET_ALL_CACHE_MISS(getAllCacheMissCounter, Number of total registery queries seen since startup),// 自启动以来delta查询registry的总次数GET_ALL_CACHE_MISS_DELTA(getAllCacheMissDeltaCounter, Number of total registery queries for delta seen since startup),// 自启动以来使用remote region查询registry的总次数GET_ALL_WITH_REMOTE_REGIONS_CACHE_MISS(getAllWithRemoteRegionCacheMissCounter, Number of total registry with remote region queries seen since startup),// 自启动以来使用remote region及delta方式查询registry的总次数GET_ALL_WITH_REMOTE_REGIONS_CACHE_MISS_DELTA(getAllWithRemoteRegionCacheMissDeltaCounter, Number of total registry queries for delta with remote region seen since startup),// 自启动以来查询delta的总次数GET_ALL_DELTA(getAllDeltaCounter, Number of total deltas since startup),// 自启动以来传递regions查询delta的总次数GET_ALL_DELTA_WITH_REMOTE_REGIONS(getAllDeltaWithRemoteRegionCounter, Number of total deltas with remote regions since startup),// 自启动以来查询/{version}/apps的次数GET_ALL(getAllCounter, Number of total registry queries seen since startup),// 自启动以来传递regions参数查询/{version}/apps的次数GET_ALL_WITH_REMOTE_REGIONS(getAllWithRemoteRegionCounter, Number of total registry queries with remote regions, seen since startup),// 自启动以来请求/{version}/apps/{appId}的总次数GET_APPLICATION(getApplicationCounter, Number of total application queries seen since startup),// 自启动以来register的总次数REGISTER(registerCounter, Number of total registers seen since startup),// 自启动以来剔除过期实例的总次数EXPIRED(expiredCounter, Number of total expired leases since startup),// 自启动以来statusUpdate的总次数STATUS_UPDATE(statusUpdateCounter, Number of total admin status updates since startup),// 自启动以来deleteStatusOverride的总次数STATUS_OVERRIDE_DELETE(statusOverrideDeleteCounter, Number of status override removals),// 自启动以来收到cancel请求时对应实例找不到的次数CANCEL_NOT_FOUND(cancelNotFoundCounter, Number of total cancel requests on non-existing instance since startup),// 自启动以来收到renew请求时对应实例找不到的次数RENEW_NOT_FOUND(renewNotFoundexpiredCounter, Number of total renew on non-existing instance since startup),REJECTED_REPLICATIONS(numOfRejectedReplications, Number of replications rejected because of full queue),FAILED_REPLICATIONS(numOfFailedReplications, Number of failed replications - likely from timeouts),// 由于开启rate limiter被丢弃的请求数量RATE_LIMITED(numOfRateLimitedRequests, Number of requests discarded by the rate limiter),// 如果开启rate limiter的话将被丢弃的请求数RATE_LIMITED_CANDIDATES(numOfRateLimitedRequestCandidates, Number of requests that would be discarded if the rate limiters throttling is activated),// 开启rate limiter时请求全量registry被丢弃的请求数RATE_LIMITED_FULL_FETCH(numOfRateLimitedFullFetchRequests, Number of full registry fetch requests discarded by the rate limiter),// 如果开启rate limiter时请求全量registry将被丢弃的请求数RATE_LIMITED_FULL_FETCH_CANDIDATES(numOfRateLimitedFullFetchRequestCandidates, Number of full registry fetch requests that would be discarded if the rate limiters throttling is activated);private final String name;private final String myZoneCounterName;private final String description;Monitor(name count,type DataSourceType.COUNTER)private final AtomicLong counter new AtomicLong();Monitor(name count-minus-replication,type DataSourceType.COUNTER)private final AtomicLong myZoneCounter new AtomicLong();private EurekaMonitors(String name, String description) {this.name name;this.description description;DataCenterInfo dcInfo ApplicationInfoManager.getInstance().getInfo().getDataCenterInfo();if (dcInfo.getName() Name.Amazon) {this.myZoneCounterName ((AmazonInfo)dcInfo).get(MetaDataKey.availabilityZone) . name;} else {this.myZoneCounterName dcmaster. name;}}public void increment() {this.increment(false);}public void increment(boolean isReplication) {this.counter.incrementAndGet();if (!isReplication) {this.myZoneCounter.incrementAndGet();}}public String getName() {return this.name;}public String getZoneSpecificName() {return this.myZoneCounterName;}public String getDescription() {return this.description;}public long getCount() {return this.counter.get();}public long getZoneSpecificCount() {return this.myZoneCounter.get();}public static void registerAllStats() {EurekaMonitors[] var0 values();int var1 var0.length;for(int var2 0; var2 var1; var2) {EurekaMonitors c var0[var2];Monitors.registerObject(c.getName(), c);}}public static void shutdown() {EurekaMonitors[] var0 values();int var1 var0.length;for(int var2 0; var2 var1; var2) {EurekaMonitors c var0[var2];DefaultMonitorRegistry.getInstance().unregister(Monitors.newObjectMonitor(c.getName(), c));}} }
http://www.pierceye.com/news/925907/

相关文章:

  • 一站式网站建设与运营wordpress后台代码修改
  • 企业品牌类网站有哪些做网站建设的公司是什么类型
  • 自己制作的网站怎么做分页2022建站市场
  • 网贷审核网站怎么做wordpress 文章列表页
  • 搬家网站建设公司西安是哪个省市
  • php 网站 整合 数据库智能建站系统个人网站
  • 福田区罗湖区宝安区龙华区seo上首页排名
  • 网站建设业务员提成企业网站 需求
  • 做淘宝客网站 首选霍常亮国外网页设计
  • 天津小型企业网站设计方案网页升级访问每天自动更新 下载
  • 好的学习网站打广告壹搜网站建设优化排名
  • 响应式设计 手机网站手机自己制作app软件
  • 东方头条网站源码杭州正晖建设工程有限公司网站
  • 阿里巴巴网站建设与维护深圳民治网站建设
  • 郑州短视频代运营seo外链是什么
  • 网站建设公司 经营资质wordpress文学
  • 手机网站建设请示常州建设网站公司哪家好
  • 网站开发报价ppt重庆沙坪坝有哪些大学
  • 牛商网做的包装盒网站怎么在门户网站上发布
  • 北京网络公司建站成品app直播源码下载
  • 帮忙建站的公司百度收录好的网站排名
  • 芯火信息做网站怎么样郑州网站建设老牌公司
  • 龙华营销型网站建设在线生成短链接网址
  • 深圳做公司网站关键词规划师工具
  • 长春市建设信息网站sem代运营推广公司
  • 宜昌网站建设平台有经验的盐城网站开发
  • wordpress 众筹网站模板wordpress首页只显示一篇文章
  • 嘉兴seo网站推广网页设计与制作课程结构
  • 江苏 网站 备案百度站长之家工具
  • 新加坡 网站建设专业简历制作网站有哪些