SpringCloud笔记

SpringCloud

EUREKA

eureka:服务注册和发现中心。

eurekaServer:注册中的服务端,application.yml--hostname,server-url:default-zone:hostname:port

@EnableEurekaServer:在主启动类上标注注册中心

pom中添加:spring-cloud-starter-eureka-server // 表示为注册中心的服务端

服务注册

在服务提供者的pom中添加:spring-cloud-starter-eureka // 表示为注册中心的客户端;

在服务提供者的主启动类上添加:@EnableEurekaClient //表示向eureka注册服务

eureka的自我保护机制:

Eureka,在15分钟内超过85%的节点都没有正常的心跳,则认为出现了网络故障,当检测到某个服务不可用,或者有变更时,不立即注销该服务,而进行保留。当服务恢复时,自动退出保护模式,从而实现服务的高可用。

1,Eureka不再从注册表中移除因为长时间没收到心跳而应该过期的服务;

2,Eureka仍然能接受新服务的注册和查询请求,但是不会同步到其他节点上(即保证当前节点依然可用);

3,当网络稳定时,当前实例新的注册信息会被同步到其他节点中。

集群配置

域名映射,修改yml中的url

EUREKA与ZOOKEEPER的区别

// ACID A:原子性;C:一致性;I:隔离性;D:持久性

// CAP C:一致性;A:可用性;P:分区容错性

1,eureka遵守AP原则,zookeeper遵守CP原则;

2,zk,选举期间会有30s--120s的服务不可用,不够友好。

eureka,各个节点都是平等的,几个挂掉的节点不会影响正常节点工作。而当eureka客户端在向某个挂掉的接地那注册时如果发现连接失败,会切换到正常的节点(只要还有一台正常的节点)进行注册,从而保证了服务的可用,但是不保证查到的信息是最新的(强一致性)。

RIBBON负载均衡

ribbon是什么?提供客户端负载均衡算法。

LB分为:集中式负载均衡(偏硬件,F5),进程内负载均衡(偏软件,nigix)。

@LoadBalanced 开启

算法有:轮询,随机,根据响应时间加权,重试(默认轮询,当某个服务挂掉之后,重试几次之后会跳过进行轮询)等

自定义LB算法:

@RibbonClient(name=“服务名” configuration=“自定义算法类类名”) //该类不能和主启动类在同包下

hystrix熔断器

@hystrixCommand(类似于aop的异常通知)

服务熔断,服务降级

ZUUL路由网关

代理,路由,过滤

@EnableZuulProxy

能够对真实的服务名做映射处理,能够在访问路径上加上固定的前缀,能够忽略对直接使用微服务名的访问

分布式配置中心

posted @   初见洞洞拐  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示