摘要:
JAVA 项目中接口调用怎么做? 1)Httpclient HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包,并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传统 JDK 自 阅读全文
摘要:
常用配置 1. 禁用 Eureka 当我们在 RestTemplate 上添加 @LoadBalanced 注解后,就可以用服务名称来调用接口了,当有多个服务的时候,还能做负载均衡。这是因为 Eureka 中的服务信息已经被拉取到了客户端本地,如果我们不想和 Eureka 集成,可以通过下面的配置方 阅读全文
摘要:
通过实现 IRule 接口可以自定义负载策略,主要的选择服务逻辑在 choose 方法中。我们这边只是演示怎么自定义负载策略,所以没写选择的逻辑,直接返回服务列表中第一个服务。 public class MyRule implements IRule { private ILoadBalancer 阅读全文
摘要:
图中说明如下: 1)BestAvailabl 选择一个最小的并发请求的 Server,逐个考察 Server,如果 Server 被标记为错误,则跳过,然后再选择 ActiveRequestCount 中最小的 Server。 2)AvailabilityFilteringRule 过滤掉那些一直连 阅读全文
摘要:
在《Spring Cloud Ribbon介绍及使用》教程中我们简单地使用 Ribbon 进行了负载的一个调用,这意味着 Ribbon 是可以单独使用的。在 Spring Cloud 中使用 Ribbon 会更简单,因为 Spring Cloud 在 Ribbon 的基础上进行了一层封装,将很多配置 阅读全文
摘要:
目前主流的负载方案分为以下两种: 集中式负载均衡,在消费者和服务提供方中间使用独立的代理方式进行负载,有硬件的(比如 F5),也有软件的(比如 Nginx)。 客户端自己做负载均衡,根据自己的请求情况做负载,Ribbon 就属于客户端自己做负载。 Spring Cloud Ribbon 是一个基于 阅读全文
摘要:
Eureka REST API Eureka 作为注册中心,其本质是存储了每个客户端的注册信息,Ribbon 在转发的时候会获取注册中心的服务列表,然后根据对应的路由规则来选择一个服务给 Feign 来进行调用。如果我们不是 Spring Cloud 技术选型,也想用 Eureka,可以吗?完全可以 阅读全文
摘要:
在实际开发过程中,我们可能会不停地重启服务,由于 Eureka 有自己的保护机制,故节点下线后,服务信息还会一直存在于 Eureka 中。我们可以通过增加一些配置让移除的速度更快一点,当然只在开发环境下使用,生产环境下不推荐使用。 首先在我们的 eureka-server 中增加两个配置,分别是关闭 阅读全文
摘要:
关闭自我保护 保护模式主要在一组客户端和 Eureka Server 之间存在网络分区场景时使用。一旦进入保护模式,Eureka Server 将会尝试保护其服务的注册表中的信息,不再删除服务注册表中的数据。当网络故障恢复后,该 Eureka Server 节点会自动退出保护模式。如果在 Eurek 阅读全文
摘要:
前面我们搭建的注册中心只适合本地开发使用,在生产环境中必须搭建一个集群来保证高可用。Eureka 的集群搭建方法很简单:每一台 Eureka 只需要在配置中指定另外多个 Eureka 的地址就可以实现一个集群的搭建了。 下面我们以 2 个节点为例来说明搭建方式。假设我们有 master 和 slav 阅读全文