SpringCloud-服务治理实现原理

小编 2026-07-03 阅读:1352 评论:0
Spring Cloud 学习 – 服务治理实现原理 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码:壹零叁八柒柒肆六二六 如图为eureka的...

Spring Cloud 学习 – 服务治理实现原理
需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码:壹零叁八柒柒肆六二六
\"在这里插入图片描述\"
如图为eureka的结构图,其中包括三个部分,服务注册中心(Eureka Server),服务提供者(Eureka Client),服务消费者(Eureka Client)
Eureka Server -1 和Eureka Server -2 组成了高可用集群,任何一个client注册其中的一个Server,都会根据配置的时间同步到另一个Server.
服务注册中心(Eureka Server)
作为一个注册中心,每个微服务(Client)在启动后将会把自己的主机,端口号,通信协议等信息发送给注册中心进行注册,注册中心会存储微服务的ip地址、端口等信息。
服务消费者可以从服务发现组件查询服务提供者的网络地址,并使用该地址调用服务提供.者的接口.
各位服务与服务组件使用统一的心跳机制,如果服务发现组件长时间无法与某微服务实例通信,就会被注销。
微服务网络地址发生变更时,会重新注册到服务发现组件,避免人工修改提供者的网络地址。
服务发现组件核心功能:
服务注册表:记录微服务信息的服务的名称、ip、端口等,服务注册表查询API和管理API。
服务注册与服务发现:服务注册是微服务启动时,件自己的信息注册到服务发现组件上的过程。服务发现是指查询可用微服务列表及其网络地址的机制。
服务检查:服务发现组件使用过一定机制定时检测已注册的服务。
服务同步:当多个注册中心Server组成集群的时候,如果其中一个注册中心注册了一个Client,那么这个Client就会自动同步到其他集群中的Server.
服务提供者(Eureka Client)
启动的时候通过REST请求将自己注册到Eureka Server 上,同时带上自身服务的元数据信息。通过eureka:
instance:metadata-map: 进行设置。其他的消费者就可以从Server获取。eureka: client: register-with-eureka参数控制自己是否能够被注册默认为true.
在注册完成后,服务提供者会维护一个心跳(发送通信包)来持续告诉Server是否存活,如果超过一定时间没有心跳,那么就会被Server判断该Cliebt失效,将其状态设置为“DOWN”,并将其从服务列表中去除。
服务消费者(Eureka Client)
启动服务消费者后,定期发送REST请求去获取服务列表。
获取到服务列表后,通过服务名可以获得具体提供服务的实例名和该实例的元数据信息。
消费者可以通过Ribbon或者Feign来使用服务提供者。
服务提供者和服务消费者从配置上没有区别,只是可能需要配置metadata元数据信息来提供给消费者。两者只有行为上的区别,一个提供服务(低层的业务),一个消费服务(高层的业务,通过http请求去请求调用提供者中的相关方法)。

Regin和Zone
region:可以简单理解为地理上的分区,比如亚洲地区,或者华北地区,再或者北京等等,没有具体大小的限制。根据项目具体的情况,可以自行合理划分region。
zone:可以简单理解为region内的具体机房,比如说region划分为北京,然后北京有两个机房,就可以在此region之下划分出zone1,zone2两个zone
一个region中可以有多个zone,每个服务需要注册到一个zone中,所以每个client对应一个regin和一个zone.在进行服务调用的时候,优先访问同一个zone中的服务提供方,若访问不到,再访问其他zone.不过这个可以参数控制,eureka.client.prefer-same-zone-eureka控制,默认为true,也就是优先找同一个zone中的。

@EnableDiscoveryClient和@EnableEurekaClient区别
SpringCLoud中的“Discovery Service”有多种实现,比如:eureka, consul, zookeeper。

1 @EnableDiscoveryClient注解是基于spring-cloud-commons依赖,并且在classpath中实现;
2 @EnableEurekaClient注解是基于spring-cloud-netflix依赖,只能为eureka作用;

java B2B2C 源码 多级分销springmvc mybatis多租户电子商城系统

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

热门文章
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
标签列表