Constellation Knowledge Network - Preguntas y respuestas sobre Bagua - Dubo y el cuidador del zoológico

Dubo y el cuidador del zoológico

Dubbo es un marco distribuido para servicios de llamadas remotas, que puede realizar comunicación remota, configuración dinámica, enrutamiento de direcciones y otras funciones. Por ejemplo, los servicios expuestos en la demostración se introducen para que el protocolo de llamada remota utilice el protocolo dobbo (dubbo://x.x.x.x) u otros protocolos. La dirección del clúster zookeeper se puede configurar para lograr un equilibrio de carga suave y configurar el modo de equilibrio. La comunicación entre el servidor y la persona que llama también se puede lograr sin un centro de registro. Este método es una comunicación punto a punto, denominada "sin intermediarios". Sin embargo, si hay demasiados terminales de publicación y llamada para servicios de configuración, especialmente cuando el clúster proporciona servicios, quedarán expuestos muchos problemas: agregar nodos requiere modificar el archivo de configuración y la máquina servidor no se puede detectar después del apagado. Puede gestionar dinámicamente la publicación y la invocación de servicios integrando el registro. Equivale a asignar las funciones de registro y publicación de servicios y enviar al centro de registro.

Dubbo implementa llamadas de servicio a través de RPC, es decir, el cliente y el servidor comparten una interfaz (convierta la interfaz en un paquete jar e introduzca el paquete jar en el cliente y el servidor. El cliente escribe llamadas). para la interfaz y el servidor Al final escribe la implementación de la interfaz y la comunicación de red en el medio es implementada por el marco.

Echemos un vistazo a la declaración de configuración de Spring para exponer el servicio, archivo proveedor.xml.

Echemos un vistazo al archivo consumer.xml del consumidor del servicio.

Esta es una típica llamada de servicio punto a punto. Por supuesto, para lograr alta disponibilidad, podemos configurar múltiples proveedores de servicios en consumer.xml y configurar estrategias de equilibrio de carga de respuesta.

Para configurar varias personas que llaman al servicio, agregue varias direcciones en el atributo URL de la etiqueta dubbo:reference en consumer.xml, separadas por punto y coma; para configurar la política de equilibrio de carga, simplemente agregue varias direcciones en comsumer.xml; Agregue el atributo de equilibrio de carga a la etiqueta dubbo:reference. Los valores pueden ser de los siguientes cuatro tipos:

Entonces, ¿cuál es el problema con la arquitectura actual?

1. Cuando el proveedor de servicios agrega un nodo, es necesario modificar el archivo de configuración.

2. Cuando uno de los proveedores de servicios deja de funcionar, el consumidor del servicio no puede detectarlo a tiempo y enviará una solicitud al servicio caído.

En este momento es necesario introducir un centro de registro. Dubbo actualmente admite cuatro tipos de centros de registro (multidifusión, zookeeper, redis y simple). Se recomienda el centro de registro de Zookeeper. Para usar el registro, simplemente cambie proveedor.xml y consumidor.xml de la siguiente manera:

Si ZooKeeper es un clúster, se pueden separar varias direcciones con comas.

Eliminar el modo de conexión directa configurado en consumer.xml

¿Cómo guardar la información de registro en zookeeper?

Después de iniciar el servicio anterior, observamos que el nodo raíz de zookeeper tiene un nodo dubbo y otros nodos, como se muestra a continuación.

¿Por qué la dirección del servicio en el último nodo está marcada en verde? Debido a que el último nodo es un nodo temporal y los otros nodos son nodos persistentes, cuando el servicio deja de funcionar, este nodo desaparecerá automáticamente y ya no proporcionará servicios, y los consumidores de servicios no volverán a solicitarlos. Si se implementan varios servicios de demostración, habrá varios nodos bajo proveedores y cada nodo guardará una dirección de servicio del servicio de demostración.

De hecho, un clúster de zookeeper puede ser compartido por múltiples aplicaciones, porque diferentes marcos construirán diferentes nodos en zookeeper sin afectarse entre sí. Por ejemplo, dubbo creará un nodo /dubbo y storm creará un nodo /storm.

Introducción a Zookeeper:

Zookeeper es un subproyecto de Apacahe Hadoop. Es un servicio de directorio de árbol que admite cambios. Es adecuado como centro de registro para servicios Dubbo. Tiene alta resistencia industrial y puede utilizarse en entornos de producción. sugerencia.

Descripción del proceso:

Admite las siguientes funciones:

Suplemento:

¿Qué marco de serialización utiliza el protocolo de Dubbo?

Dubbo tiene muchos protocolos y diferentes protocolos utilizan diferentes marcos de serialización de forma predeterminada. Por ejemplo, el protocolo dubbo usa la serialización Hessian2 de forma predeterminada (Nota: Hessian2 es el desarrollo secundario de Ali basado en Hessian, llamado Hessian2).

El protocolo Rmi utiliza de forma predeterminada la serialización local de Java, blogs.com/iisme/p/10620125.html.

上篇: La resurrección de Zhou Gong y su suegra_¿Qué significa la resurrección de Zhou Gong y su suegra? 下篇: Descargue la última colección de texto de Comb Biscuits
Artículos populares