![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Eureka
四月丶丶
越努力越幸运
展开
-
Ribbon核心源码剖析
1. Ribbon处理流程2. Ribbon细节结构图(涉及到底层的一些组件/类的描述)图中核心是负载均衡管理器LoadBalancer(总的协调者,相当于大脑,为了做事情,协调四肢),围 绕它周围的多有IRule、IPing等IRule:是在选择实例的时候的负载均衡策略对象IPing:是用来向服务发起心跳检测的,通过心跳检测来判断该服务是否可用ServerListFilter:根据一些规则过滤传入的服务实例列表ServerListUpdater:定义了一系列的对服务列表的更新操作3.原创 2020-08-24 19:59:01 · 171 阅读 · 0 评论 -
Ribbon负载均衡简介及使用
1. 关于负载均衡负载均衡一般分为服务器端负载均衡和客户端负载均衡服务器端负载均衡:比如Nginx、F5这些,请求到达服务器之后由这些负载均衡器根据一定的算法 将请求路由到目标服务器处理。客户端负载均衡:比如我们要说的Ribbon,服务消费者客户端会有一个服务器地址列表,调用方在请求前通过一定的负载均衡算法选择一个服务器进行访问,负载均衡算法的执行是在请求客户端进行。Ribbon是Netflix发布的负载均衡器。Eureka一般配合Ribbon进行使用,Ribbon利用从Eureka中读转载 2020-08-24 17:12:47 · 214 阅读 · 0 评论 -
Eureka Client源码分析(1)-注册服务
前面的文章分析了Eureka Server,是基于SpringBoot自动装配实现的,Eureka Client同样如此,查看spring-cloud-netflix-eureka-client- 2.1.0.RELEASE.jar下的文件结构,如下点开spring.factories,内容如下org.springframework.boot.autoconfigure.EnableAutoConfiguration=\org.springframework.cloud.netflix.eureka原创 2020-08-24 01:01:13 · 133 阅读 · 0 评论 -
Eureka Server源码分析(4)-服务续约接口(接受客户端续约)
入口:InstanceResource的renewLease方法中完成客户端的心跳(续约)处理,关键代码: registry.renew(app.getName(), id, isFromReplicaNode);@PUTpublic Response renewLease( @HeaderParam(PeerEurekaNode.HEADER_REPLICATION) String isReplication, @QueryParam("overriddenstatu原创 2020-08-23 23:48:57 · 123 阅读 · 0 评论 -
Eureka Server源码分析(3)-服务注册接口(接受客户端注册服务)
服务注册入口在ApplicationResource类的addInstance()方法中代码:registry.register(info,“true”.equals(isReplication))@POST@Consumes({"application/json", "application/xml"})public Response addInstance(InstanceInfo info, @HeaderParam(PeerEurekaN原创 2020-08-23 23:40:01 · 209 阅读 · 0 评论 -
Eureka Server源码分析(2)-服务接口暴露
在上一篇文章中分了启动过程会注册一个Jersey过滤器,Jersey是一个rest框架帮我们发布restful服务接,类似于springmvc,它的功能就是暴露服务接口。如下/** * 注册Jersey过滤器 * Jersey是一个rest框架帮我们发布restful服务接,类似于springmvc */ @Bean public FilterRegistrationBean<?> jerseyFilterRegistration( javax.ws.rs.core.Applic原创 2020-08-23 23:17:09 · 335 阅读 · 0 评论 -
Eureka Server源码分析(1)-启动过程
标识一个服务为EurekaServer,只需要在启动类加上注解@EnableEurekaServer即可,所以先观察下EnableEurekaServer@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented//导入Marker对象,自动装配EurekaServerAutoConfiguration的前提@Import(EurekaServerMarkerConfiguration.class)public原创 2020-08-23 22:47:39 · 163 阅读 · 0 评论 -
Eureka数据详解
1. Eureka元数据详解Eureka的元数据有两种:标准元数据和自定义元数据。标准元数据:主机名、IP地址、端口号等信息,这些信息都会被发布在服务注册表中,用于服务之间的调用。自定义元数据:可以使用eureka.instance.metadata-map配置,符合KEY/VALUE的存储格式。这些元数据可以在远程客户端中访问。构建一个服务提供者微服务,配置自定义元数据信息,如下eureka: instance: # hostname: EurekaServerA p原创 2020-08-21 14:29:32 · 890 阅读 · 0 评论 -
搭建Eureka Server 高可用集群
2. 简介在互联网应用中,服务实例很少有单个的。即使微服务消费者会缓存服务列表,但是如果EurekaServer只有一个实例,该实例挂掉,正好微服务消 费者本地缓存列表中的服务实例也不可用,那么这个时候整个系统都受影响。在生产环境中,我们会配置Eureka Server集群实现高可用。Eureka Server集群之中的节点通过点对点 (P2P)通信的方式共享服务注册表。这里我们示例开启两台 Eureka Server 以搭建集群。2. 工程搭建步骤Spring Cloud 利用Spring B原创 2020-08-21 12:43:25 · 855 阅读 · 0 评论 -
Eureka配置参数详细说明
1. Eureka Client 配置项(eureka.client.*)org.springframework.cloud.netflix.eureka.EurekaClientConfigBean参数名称说明默认值eureka.client.enabled用于指示Eureka客户端已启用的标志trueeureka.client.registry-fetch-interval-seconds指示从eureka服务器获取注册表信息的频率(s)30eureka.c原创 2020-08-20 21:05:29 · 777 阅读 · 0 评论 -
搭建单实例Eureka Server服务注册中心
Spring Cloud 利用Spring Boot 可以快速的实现微服务组件开发,所以Spring Boot是我们快速把Spring Cloud微服务技术应用起 来的一种方式。这里我们可以借助IDEA快速创建一个SpringBoot工程,创建的过程中可以选择各种所需要的组件,过程如下File->new Project点击Next,下面的选项自己按需填写点击Next,因为我们搭建的是Eureka Server服务注册中心,所以只需要勾选Eureka Server就可以了点击Next-&g原创 2020-08-20 19:33:27 · 150 阅读 · 0 评论