eureka架构图原理

我们已经编写完了Consumer,并且在Consumer当中去调用了Provider,完成了服务与服务之间的一个通信,其实我们在

做案例的时候,我们是一步一步的,大家回顾一下,是不是先去创建了一个Eureka Server,然后再去构建了一个Provider,

然后去构建了一个Consumer,在Consumer当中,Provider完成信息的一个交互,那我们的顺序呢,主要是围绕哪块展开的呢,

还记得我们有讲Eureka的时候,讲到Eureka的三种角色,Eureka注册中心的三种角色,我们一直是按照这三个角色的步骤

去做的,第一个环境我们是先搭建了一个Eureka的集群,我们在集群当中,Service Provider,服务提供者的一个编写,然后

我们又编写了一个Consumer,去完成了一个消费者的一个编写,最后在服务的消费者当中,调用了Provider,我们编码的顺序,

其实我们讲解完毕以后,在注册中心当中,如何完成服务的发布和订阅,以及服务与服务之间如何通信的一个案例,我们来讲解

注册中心的一个架构原理,先来看Eureka的架构图,这个图是从哪里找来的呢,是从eureka的官网上去找到的,可以看一下,我们

可以从github上,在github上搜eureka,我们在这里可以看到有很多eureka关键字的,在这里我们看哪个呢,第一个不是,我们

用的是这个Netflix/eureka

https://github.com/Netflix/eureka

不是netflix的产品吗,所以哦我们点Netflix/eureka,在这我们可以看到,这个列表就是eureka的一个更新列表,在这里我们可以

看到这里是几天前完成的

Latest commit 9d07ac4 19 days ago

那么说明eureka的社区活跃度还是比较高的,然后在这里我们看有一个wiki

https://github.com/Netflix/eureka/wiki

在Wiki里面,在这里有一个Eureka at a glance,Eureka的一个浏览,我们点他,在这里我么可以看到,他有一些介绍,比如什么

是Eureka,在他的下面有一个Eureka的架构

这是Eureka的一个架构图,这是Eureka的一个架构图,我们看到Eureka架构图里面,表达的是对Eureka的一个介绍,

那么首先在这个图当中呢,同样存在着三种角色,第一个就是Eureka Server,就是我们的注册中心,这个是我们的

第一个角色,第二个角色是Application Server,其实Application Service是谁呢,是我们的Service Provider,

就是服务的提供者,然后还有一个Application Client,这个Application Client是谁呢,是我们之前写过的Consumer,

Service Consumer,或者消费者,我们现在把这三个角色搞清楚了,我们来看这个图,这个图是建立在集群基础之上的,

集群一个节点,这是集群一个节点,说明我们当前注册中心当中,有三个集群节点,然后我们来看第一个,ApplicationServer,

就是我们的Provider,我们这个服务要想发布出去,肯定要通过注册中心,那么他在发布当中呢,做了哪些事呢,来看这个箭头,

第一个,Service Provider,必须向Eureka Server完成register的一个注册,那么这个Registration表示什么含义呢,就是服务的

注册,其实所谓的服务注册,就是把自己的IP和端口注册给Eureka Server,这样的Server就知道你当前的基本信息,知道这些信息

以后,就给其他消费者提供接口了消费了,所以他要进行一个注册,第二个,有一个renew,我们还是回到三个角色这里,我们这里有

说明的,Eureka Server,通过Register,Get,Renew,等接口,提供服务的发现和注册,完成接口提供一些服务的注册与发现,所以我们

现在再来看架构图,这里就是register和renew,还有get和register,然后再来看注册完毕以后,这个renew表示什么含义,

在这个集群当中,他要知道你当前的服务,是不是还是存活的,他采用的是什么呢,采用的是一个发心跳包的方式,也就是说,

我们的服务提供者,provider,一旦在eureka的注册中心注册了,那么他会每隔30秒发送一个心跳包,告诉自己还活着,

所以renew就是一个发心跳包的,那么如果eureka在90秒以后,没有搜到Provider收到的心跳包,他就认为你已经死亡掉了,

他会把他的服务从列表当中剔除掉,这样的一个过程,然后咱们再往下看,下面还有一个cancel,这个Cancel表示什么意思呢,

是服务下线,这个服务下线,注意看这个箭头,是我们的Provider向注册中心发送的,什么意思呢,当Provider关闭时,

会向Eureka发送消息,把自己从服务列表中删除,防止consumer调用到不存在的服务,这是什么意思呢,大家注意看,

回到我们之前的代码当中,我们现在把consumer和provider都停了,然后我们到eureka的管理平台下刷新,我们的服务是不是

还存在,那么存在的原因是什么,刚才我们在这是直接就关掉了,但是我们现在只是把服务给停掉了,并没有优雅关机,

并没有这样的一个操作,那么这个时候,其实,Eureka Server会将服务做一个保护,我们看到的就是服务保护,

对于服务保护的服务,他是并不会把这个服务删除掉的,所以即便我们是把服务停掉了,对于这个eureka来讲,

在这儿他仍然是存在着的,他对这个服务是起到保护的作用,那么我们怎么让他把已关掉的服务关掉呢,这个就涉及到

服务优雅关机的问题,就是我们以后要讲的,所以Cancel就是当你的服务关闭时,向Eureka关闭信息,直接把Provider

结束掉了,发送Cancel的消息,在Eureka服务当中,他仍然是还有这个服务的信息,然后再往下看,下面还有一个

Get Registry,Get Registry是什么含义呢,获取服务的注册列表,我们这些服务,就是我们的Provider当中,

未来可能会与其他的服务是有通信的,所以他肯定要知道其他服务的信息,比如他的ID和端口,所以Get Registry是

用户获取其他用户的信息的,然后再往下看,现在Provider和Eureka Server的关系,这几个箭头我们就讲完了,然后再来看,

还有一个Replicate,这是一个双向的接口,那么这个Replicate是什么意思呢,集群中的一个数据同步,如果我是一个集群的

注册中心,那么每个数据之间肯定是要做同步的,那么他就是通过Replicate做数据同步的,Eureka集群中的数据复制与同步,

然后再往下看,有一个Make Remote,这个是远程调用,这个是Application Client了,这个是服务的消费者,是发起

远程调用的,就是发起请求,调用,这个就是作为一个Eureka注册中心,注册消息,一个架构图,我们拿到官网提供的架构图,

也根据他所提供的箭头,来表示每一个箭头是一个什么含义,按照JAVA图来看,

这个项目图并不是很复杂的,我们只要搞清楚箭头是什么含义就可以了,那我们对于Eureka的架构图就到这儿

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
抱歉,我无法提供图片或原理图。但是,我可以为您简要描述一下Spring Cloud的原理。 Spring Cloud是基于Spring框架的一套开发工具和框架,用于构建分布式系统中的微服务架构。它提供了一系列的组件和功能,用于解决微服务架构中的常见问题,如服务注册与发现、负载均衡、断路器、配置管理等。 在Spring Cloud中,通常使用以下组件来构建微服务架构: 1. 服务注册与发现:通过使用Eureka、Consul或ZooKeeper等组件,服务可以向注册中心注册自己的信息,并从注册中心获取其他服务的信息,实现服务之间的动态发现和通信。 2. 负载均衡:通过使用Ribbon或Nginx等组件,实现请求的负载均衡,将请求分发给多个实例,提高系统的性能和可用性。 3. 服务调用:通过使用Feign或RestTemplate等组件,简化服务之间的调用过程,使得开发者可以像调用本地方法一样调用远程服务。 4. 断路器:通过使用Hystrix等组件,实现服务间的容错机制,当某个服务出现故障或响应时间过长时,可以快速失败或返回默认值,防止故障扩散。 5. 配置管理:通过使用Config Server等组件,实现配置的集中管理和动态刷新,使得配置的修改可以及时生效,而不需要重启服务。 6. API网关:通过使用Zuul或Gateway等组件,实现对外的统一入口,提供路由、过滤、鉴权等功能,同时也可以进行请求的聚合和转发。 这些组件相互配合,构建了一个弹性、可伸缩的微服务架构。当然,Spring Cloud还有其他的功能和组件,可以根据具体需求选择使用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值