Invocación de microservicio en varios idiomas (extracto)
Las llamadas en varios idiomas son un tema importante y una tarea técnica muy desafiante. Las siguientes soluciones se mencionan a menudo en la industria, por lo que también podríamos hablar de ellas:
Cuándo. Hablamos de llamadas entre idiomas, ¿de qué estamos hablando? Al observar algunas de las soluciones más comunes y maduras mencionadas anteriormente, podemos concluir que no existen más que las siguientes dos ideas para resolver llamadas entre idiomas:
Si un nuevo equipo se enfrenta a una selección de tecnología, Creo que todas las soluciones anteriores se pueden incluir en el alcance de referencia, teniendo en cuenta la compatibilidad de los sistemas heredados
El costo de migración de los sistemas antiguos
Esta también es una selección clave factor. Primero intentamos trabajar en el protocolo RPC.
Soporte multilingüe para protocolos comunes
Los buenos tiempos de Springmvc
Springmvc
Springmvc
En progreso Antes de las verdaderas llamadas en varios idiomas, la mayoría de las personas que querían ser "en varios idiomas" usaban .NET Framework. La solución es utilizar .alibaba.dubbo.remoting.exchange.Response
ID de invocación: ID de mensaje, tipo largo. La identificación única de cada solicitud (debido a la comunicación asincrónica, utilizada para hacer coincidir las solicitudes y las respuestas devueltas)
longitud del cuerpo: longitud del cuerpo del mensaje, tipo int, es decir, cuántos bytes del contenido del cuerpo se registran p>
contenido del cuerpo: serialización abstracta de parámetros de solicitud y parámetros de respuesta
contenido del cuerpo: parámetros de solicitud y parámetros de respuesta
contenido del cuerpo: parámetros de solicitud y parámetros de respuesta.
La información del protocolo termina en bytes y se transmite mediante tcp. Cualquier lenguaje que admita módulos de red y tenga funciones de encapsulación como sockets no tendrá problemas para comunicarse. Entonces, ¿cuáles son las dificultades en el cruce de idiomas? En términos de llamar a Java desde otros lenguajes, existen dos dificultades principales:
ps: demostración de comunicación del protocolo dubbo (/lexburner/Dubbojs-Learning)