1. La idea de la invocación de microservicios
1.1 Descripción de la forma tradicional de llamar problemas
1.2 Centro de registro de ideas de microservicios
Microservicios: El diseño de la arquitectura adopta una idea distribuida . Cuando el servidor falla, se puede realizar una migración automática de fallas . No se requiere intervención humana. El
principio de realización del registro:
1. Cuando se inicia el servidor, el estado del servidor (nombre del servicio / IP / Port) se escriben en el registro juntos
. 2. Cuando el registro recibe la información del servidor, mantendrá dinámicamente los datos de la lista de servicios.
3/4. Cuando el cliente (consumidor) se inicia, primero se vinculará al registro para obtener todos los datos de las listas de servicios. Y guardar los datos de la lista de servicios localmente.
5. Cuando los consumidores realizan llamadas comerciales, si hay varios productores de servicios, utilice la idea de equilibrio de carga para seleccionar uno de los servicios de acceso (RPC) .
6. Cuando el servidor está inactivo, debido al mecanismo de detección de latidos en el registro, todos los datos de la lista de servicios se mantendrán dinámicamente. Se transmitirá toda la red para notificar a todos los clientes (consumidores) que actualicen los datos de la lista de servicios. la lista de servicios se actualiza, los datos se sincronizan Caerá en un estado bloqueado.
1.3 Descripción del equilibrio de carga del pensamiento de microservicios
1.3.1 Equilibrio de carga centralizado
Nota: Todas las solicitudes deben ser administradas de manera uniforme por un servidor.
Caso: Nginx es un equilibrio de carga centralizado, pero la función principal de nginx es actuar como un proxy inverso
1.3.2 Equilibrio de carga del cliente
Explicación: Antes de enviar la solicitud, cada cliente sabe muy claramente a qué servidor debe acceder
Dentro del servidor El cliente accede directamente al servidor back-end, compartiendo la carga.
2. Instalación del centro de registro-cuidador del zoológico
Descripción: El documento de información previa a la clase del parámetro del método de instalación específico.
2.1 comando de inicio zk
Salte al directorio bin y los comandos de inicio y apagado de
zk son los siguientes: sh zkServer.sh start o ./zkServer.sh start
sh zkServer.sh stop
sh zkServer.sh status
2.2 Acerca de los conceptos relacionados con el clúster
2.2.1 Varios servidores pueden construir un clúster
Fórmula: Nodos de supervivencia> N / 2
Cálculo aritmético:
1 nodo 1-1> 1/2 El falso no puede construir un clúster
2 nodos 2-1> 2/2 El falso no puede construir un clúster
3 nodos 3-1> 3/2 Es Realmente es posible construir un clúster
Conclusión: La unidad más pequeña del clúster es 3.
2.2.2 Los conglomerados son generalmente unidades impares. ¿Por qué?
3 nodos 3-1> 3/2 realmente pueden construir una tabla hacia abajo agrupamiento permite
cuatro nodos 4-1> 4/2 realmente puede permitir construir un grupo hacia abajo tabla 1
Nota: Desde la tabla de construcción par y la estación de construcción impar La tolerancia a desastres El efecto es el mismo, por lo que generalmente es un número impar.
2.2.3 ¿Fenómeno del cerebro dividido en grupos?
Explicación: Debido al tiempo de inactividad inesperado del anfitrión durante el trabajo del grupo. Después de eso, el grupo comenzó a realizar elecciones. Si hay varios votos planos consecutivos, se puede producir un cerebro dividido.
La probabilidad de un cerebro dividido es: 1 /8=12.5%
Cuán efectivo Reducir la aparición del fenómeno del cerebro dividido: aumentar la cantidad de nodos
2.3 Explicación sobre el problema de la construcción de clústeres zk
1). Cómo comprobar el error
2.2
2). Verifique la ubicación y el valor de myid
3). Verifique la configuración del clúster
2.4 Acerca de la especificación de la elección del clúster zk
Explicación: La regla de elección del clúster zk es un algoritmo que da prioridad al valor máximo de myid. Si la elección finaliza, los nodos restantes serán los esclavos del nuevo maestro.
Pregunta 1: Si se inician entre 1 y 7 nodos zk en secuencia . pregunta
1: ¿Quién es el maestro 4?
Preguntas 2:? ¿Quién no puede ser elegido como el anfitrión 1,2,3
2.5 Explicación del principio de funcionamiento de ZK
El líder del clúster Zookeeper es responsable de monitorear los datos de sincronización del estado del clúster y el seguidor es el principal responsable del enlace del cliente para obtener información de la lista de servicios, al mismo tiempo que participa en la votación.
3. Instalación del clúster Zookeeper
3.1 Preparar la carpeta
Cree una nueva carpeta zkCluster en el directorio raíz del zookeeper.
Cree una carpeta zk1 / zk2 / zk3.
Cree una carpeta de datos / registro en cada carpeta.
mkdir {zk1,zk2,zk3}/{data,log}
Agregar archivo myid
Cree un nuevo archivo myid en la carpeta de datos en zk1 / zk2 / zk3. El contenido del mismo es 1/2/3, correspondiente al número de nodo zk.
Edite el archivo myid y defina el número.
3.2 Editar archivo de configuración
Copie zoo_sample.cfg en zoo1.cfg y modifique el archivo de configuración.
3.3 Modificar zoo1.cfg
Una vez completada la configuración, copie zoo1.cfg en 2 copias. Después de eso, debe modificar el directorio de la carpeta correspondiente. Y puede ser un puerto diferente.
3.4 prueba de clúster ZK
Inicie el clúster zk con el siguiente comando.
sh zkServer.sh start zoo1.cfg
sh zkServer.sh stop zoo1.cfg
sh zkServer.sh status zoo1.cfg
Verificar la relación maestro-esclavo y la descripción del
esclavo Verificar la relación maestro-esclavo y la descripción del maestro.
3.5 Acerca de la descripción del grupo de cuidadores del zoológico
El líder del clúster Zookeeper es responsable de monitorear el estado del clúster y el seguidor es el principal responsable del enlace del cliente para obtener información de la lista de servicios, al mismo tiempo que participa en la votación.