[Cloud]eureka的面试准备

目录

前言:

1. eureka

1.2 什么是服务的注册和发现?

1.3 关于心跳

1.4 关于消费者消费过程

1.5 关于Eureka的集群

1.6 actuator

1.7 保护模式

1.8 Eurka 保证 AP


前言:

对于代码中,我们只要使用

@EnableEurekaServer

就可以完成一个eureka的模块搭建。

并且使用两个eureka怎么用?

backupRegistryServer: eureka-server2

eureka:
  instance:
    hostname: eureka-server1
  client:
    register-with-eureka: true
    fetch-registry: true
    service-url:
      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@${backupRegistryServer}:${server.port}/eureka/

1. eureka

1.1什么是服务治理?

因为在传统的RPC远程调用的框架中,管理每个服务于服务质检的依赖比较复杂,管理比较复杂,所以需要用到服务治理。

管理服务之间的依赖关系,实现服务的调用,负载均衡,容错等,实现服务的注册和发现。

1.2 什么是服务的注册和发现?

eureka是采用了CS的设计架构,eureka作为服务注册功能的服务器,他是服务的注册中心。

其他的微服务,是通过eureka的客户端,连接到Eureka server并维持心跳连接。

这样服务的运维人员就可以通过eureka的server来查看是否各种服务都正常运行。

为了避免单点故障,都配置多个。

在服务的注册和发现中,有一个注册中心,当服务器启动的时候,会把自己当前的服务器的信息 比如服务器的通讯地址等以别名的形式,注册到注册中心上。

其实对于RPC远程调用框架中,都会有一个注册中心 存放服务地址相关信息 (接口地址)

1.3 关于心跳

server提供服务注册服务,那么对于客户端,是一个java客户端,简化交互,具备了一个内置的使用轮询的负载均衡器。

在应用启动之后,向eureka server发送心跳,默认周期为30秒。如果server在多个心跳周期中没有接受到节点的心跳,那么EurekaServer会会从服务的注册表中,把这个节点移除,90S。

1.4 关于消费者消费过程

消费消费的时候,会获取服务地址之后,缓存在本地的JVM内存中,默认每30S更新一次服务调用地址。


1.5 关于Eureka的集群

相互注册,相互守望。

两个eureka相互注册进去。

集群版对于客户端来说,defaultZone需要注册多个地址Eureka。

对于客户端来说呢,做多节点的话,对外暴露的serverId是一个名字,其他端口是不同的。

1.6 actuator

actuator

英[ˈæktjʊeɪtə]

1.7 保护模式

一组客户端和Eureka Server之间存在网络分区的场景下的保护。

一旦进入保护模式,Eureka将会尝试保护服务注册表中的信息,不再删除服务注册表中的数据,也就是不会注销任何微服务。

某时刻:某一个微服务不可用了,Eureka不会立刻清除,依然会保存其中的信息。(比如因为网络延迟,什么的不能心跳了不会立刻删除。)

所以属于CAP中的AP

Eureka如果一段时间内丢失大量的客户端的心跳,可能发生了网络分区的故障,那么这个节点进入保护模式。

1.8 Eurka 保证 AP

Eureka Server 各个节点都是平等的,几个节点挂掉不会影响正常节点的工作,剩余的节点依然可以提供注册和查询服务。而 Eureka Client 在向某个 Eureka 注册时,如果发现连接失败,则会自动切换至其它节点。只要有一台 Eureka Server 还在,就能保证注册服务可用(保证可用性),只不过查到的信息可能不是最新的(不保证强一致性)。

 

你可能感兴趣的:(微服务)