网站结构及内容建设策略,怀柔网站整站优化公司,珠三角做网站,完整的网站开发流程Eureka 原理与步骤原理#xff1a;服务提供方启动后将注册到 注册中心#xff0c;提供IP, 名字#xff0c;什么服务等信息#xff0c;服务调用方作为客户端注册到注册中心后#xff0c;拉取注册中心的服务列表#xff0c;在通过负载均衡调用对应的服务提供方。注册中心可…Eureka 原理与步骤 原理 服务提供方启动后将注册到 注册中心提供IP, 名字什么服务等信息 服务调用方作为客户端注册到注册中心后拉取注册中心的服务列表在通过负载均衡调用对应的服务提供方。 注册中心可以建立集群生成多台eureka注册中心为了监测各个服务的心跳将在每30S 向所注册的服务发起请求判断 服务是否挂掉如果挂掉90S后将会将服务从注册中心剔除。 一个服务可以监测多台服务实例从而可实现均衡负载。 配置步骤 注意 以下的客户端说的是作为注册到注册中心的微服务他相对于注册中心就是客户端注册中心就是服务端 一、加依赖 以下指POM文件 !--注册中心--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactId/dependency!--客户端--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId/dependency 二、加注解 以下在启动器上加注解 注册中心 : EnableEurekaServer 服务提供客户端方EnableDiscoveryClient 此注解支持多种服务中心如eureka,zk,等等所以一般使用这个。 EnableEurekaClient 只支持eureka所以用上一种 三、加配置 以下指application.yml配置文件 #注册中心
server:port: 10086
spring:application:name: eureka-server
eureka:client:register-with-eureka: false # 是否注册自己的信息到EurekaServer默认是truefetch-registry: false # 是否拉取其它服务的信息默认是trueservice-url:defaultZone: http://127.0.0.1:10086/eureka,http://127.0.0.1:10087/eureka#注册到当前地址中实现eureka 集群后面描述instance:lease-renewal-interval-in-seconds: 30 #每30S给其他服务发次请求监测心跳lease-expiration-duration-in-seconds: 90 #如果其他服务没心跳90S后剔除该服务
#客户端
server:port: 8081
spring:application:name: user-server
eureka:client:service-url:defaultZone: http://127.0.0.1:10086/eurekaregistry-fetch-interval-seconds: 50 #客户端拉取注册中心的服务列表 关于Eureka 高可用的配置及讲解 为了使eureka高可用挂掉后依然可以使用所以将配置多台eureka注册中心实现集群。 实现原理如果需配置3台注册中心那么应该是A注册到B、C ,B注册到C、A C注册到AB 这样互相注册即可实现集群配置。也就是上图配置的多台地址 eureka:client:service-url:defaultZone: http://127.0.0.1:10086/eureka,http://127.0.0.1:10087/eurekaregistry-fetch-interval-seconds: 50 #客户端拉取注册中心的服务列表 关于Eureka 的自我保护机制与剔除服务机制 剔除服务机制当服务提供方客户端注册到Eureka后每30S将会向Eureka发起一次请求表示自己有心跳 服务器正常当90S都没有发请求时候Eureka会认为服务器宕机了则会在60S后统一清除所有宕机的服务器。 自我保护机制当服务没有按每30S按时发请求时Eureka将会统计15分钟内心跳的请求成功概率如果低于85% 则可能服务提供方有延迟问题或者网络故障这样会将服务提供方保护起来不会剔除。 eureka: server: enable-self-preservation: false # 关闭自我保护模式缺省为打开 eviction-interval-timer-in-ms: 1000 # 扫描失效服务的间隔时间缺省为60*1000ms https://files.cnblogs.com/files/lanSeGeDiao/springCloud-demo.zip 以上是springCloud的DEMO例子 请自行复制路径到浏览器 转载于:https://www.cnblogs.com/lanSeGeDiao/p/10801804.html