1-- [SpringCloud] - 8 alternativa Eureka

1 utilizando Eurekacódigo cerrado un código cerrado cómo hacerlo?

Eurekacódigo cerrado, se puede utilizar otra vez de registro: Consul,Zookeeper

2 Uso Zookeeperde reemplazarEureka

2.1 ZookeeperIntroducción

ZookeeperEs un 分布式协调工具centro de configuración distribuido puede darse cuenta de registro de servicio y el descubrimiento, los centros de registro, middleware de mensajería,.

2.2 Entorno de construir

servidor de inicio ZK

Maven información de dependencia

<dependencies>
    <!-- SpringBoot整合Web组件 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- SpringBoot整合eureka客户端 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
    </dependency>
</dependencies>

application.yml

Perfiles de los integrantes

###订单服务的端口号
server:
  port: 8002
###服务别名----服务注册到注册中心名称 
spring:
  application:
    name: zk-member
  cloud:
    zookeeper:
      connect-string: 127.0.0.1:2181

Perfil órdenes

###订单服务的端口号
server:
  port: 8003
###服务别名----服务注册到注册中心名称 
spring:
  application:
    name: zk-order
  cloud:
    zookeeper:
      connect-string: 127.0.0.1:2181

ZK-miembro del servicio ZK-orden de salida y el servicio se pueden encontrar en el servidor de información del nodo correspondiente Zk
Aquí Insertar imagen Descripción

2.3 Zookeeper, con la Eurekadiferencia

CPATeoría: un sistema distribuido no puede satisfacer C(一致性), A(可用性)y P(分区容错性). Desde la partición en el sistema distribuido tolerante a fallos debe ser garantizada, por lo que sólo puede Ay el Cequilibrio entre. La Zookeepergarantía es CP, y Eurekaes AP.

  • Consistency(Consistencia): actualizar los mismos datos, todos los cambios de datos se sincronizan
  • Availability(Disponibilidad): buen desempeño respuesta
  • Partition tolerance(Tolerancia partición): Fiabilidad

2.3.1 Zookeeperes asegurar queCP

Cuando la lista de servicios de consulta en el registro, que puede tolerar regresado registro de unos pocos minutos antes de la información de registro, pero no puede aceptar los servicios directamente downfuera disponible. Es decir, los requisitos de registro de servicios la disponibilidad de consistencia. Pero zkhay una situación de este tipo, cuando masterun fallo de nodo ya que la red perdido el contacto con el otro nodo, los nodos restantes será re- leaderelección. El problema es que la elección leadertiempo es demasiado largo, 30 ~ 120sy todo el período de elección zkde clúster no están disponibles, lo que llevó a la parálisis durante los servicios de registro electoral. En el entorno de despliegue en la nube, debido a problemas de red marcas zkse agrupan perder masternodo es una mayor probabilidad cosas van a suceder, aunque el servicio llegará a recuperarse, pero registró un largo tiempo debido a la elección a largo plazo no está disponible, no será tolerado.

2.3.2 Eurekaes asegurar queAP

EurekaVer para entender esto, y están diseñados para dar prioridad a garantizar la disponibilidad. EurekaCada nodo son iguales, colgar un par de nodos no afectará el nodo normal, los nodos restantes todavía pueden proporcionar servicios de registro e investigación. Y Eurekael cliente a uno Eurekasi encontramos la conexión falla, se cambiará automáticamente a los otros nodos o de registro, siempre que hay una Eurekaaún, usted puede garantizar los servicios de registro están disponibles (para asegurar la disponibilidad), pero encontró la información puede no estar actualizada (sin garantizar consistencia fuerte). Además, Eurekahay un mecanismo de autoprotección, si hay más de un 85% en 15 minutos nodos son los latidos del corazón no es normal, que Eurekase considera el cliente y el registro de un fallo en la red, aparecerán las siguientes situaciones:

  1. Eureka No se elimina porque durante mucho tiempo y no deben recibir los latidos del corazón expiró el servicio de registro de la lista
  2. Eureka Todavía puede aceptar el registro y consulta de solicitudes de nuevos servicios, pero no se sincronizarán con (es decir, para garantizar que el nodo actual sigue estando disponible) en otros nodos
  3. Cuando la red es estable, la instancia actual de la nueva información de registro estará sincronizado con los otros nodos. Por lo tanto, Eurekapuede ser un buen negocio debido a un fallo de la red causó la pérdida de algunos nodos en el contacto, pero no como zookeeperque la totalidad de los servicios de registro paralizados.

3 Uso Consulde reemplazarEureka

3.1 ConsulIntroducción

Consul Es un código abierto distribuido descubrimiento de servicios y el sistema de gestión de la configuración, la empresa HashiCorp Ir con el desarrollo del lenguaje.

Tiene muchas ventajas. Incluye: protocolo basado en balsa, es relativamente sencillo; chequeo de apoyo, mientras que apoya los protocolos HTTP y DNS apoyan WAN grupos a través de los centros de datos para proporcionar multiplataforma interfaz gráfica, soporte para Linux, Mac, Windows

ConsulIntegrado SpringCloudpágina web de aprendizaje: https://springcloud.cc/spring-cloud-consul.html

ConsulDescargar: https://www.consul.io/downloads.html

3.2 Consulentorno para construir

Descargar la versión de la ventana de descarga oficial, descomprimir un archivo ejecutable.

Establezca las variables de entorno, vamos directamente se puede utilizar directamente en el cónsul misión en cmd. Añadir la ruta del directorio como cónsul en la parte posteriorD:\soft\consul_1.1.0_windows_amd64

Comenzar la vida cónsul

consul agent -dev -ui -node=cy
  • -dev El modo de servidor de desarrollo se activa
  • -node Nodo llamado cy
  • -ui Puede utilizarse para interfaz de acceso, el acceso predeterminado

Prueba de acceso Dirección: http: // localhost: 8500

3.3 ConsulCliente

Maven información de dependencia

<dependencies>
    <!-- SpringBoot整合Web组件 -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!--SpringCloud consul-server -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-consul-discovery</artifactId>
    </dependency>
</dependencies>

Perfil de cliente

###eureka 服务端口号
server:
  port: 8502
spring:
  application:
    name: consul-order
####consul注册中心地址
  cloud:
    consul:
      host: localhost
      port: 8500
      discovery:
        hostname: 192.168.18.220
Publicados 675 artículos originales · ganado elogios 214 · Vistas de 140.000 +

Supongo que te gusta

Origin blog.csdn.net/weixin_42112635/article/details/104690441
Recomendado
Clasificación