Cómo elegir el protocolo y formato de transmisión
Selección del formato de datos de transmisión de la red
Por lo general, existen las siguientes consideraciones para la transmisión de datos entre el cliente y el servidor:
1 Tamaño de los datos de la red—— Ocupación del ancho de banda. y eficiencia de transmisión: aunque para un solo usuario la cantidad de datos a transmitir es muy pequeña, para que el servidor pueda soportar numerosas transmisiones de datos de alta concurrencia, se debe tener en cuenta el ancho de banda ocupado por los datos y los datos redundantes. debe evitarse tanto como sea posible, para que pueda ocupar menos ancho de banda, menos recursos, menos IO de red y mejorar la eficiencia de la transmisión;
2. las empresas relacionadas son datos confidenciales, por lo que se debe considerar el cifrado de parte de los datos transmitidos;
3. Complejidad de codificación: complejidad de serialización y deserialización, eficiencia, escalabilidad de la estructura de datos, mantenibilidad: para empresas relacionadas con plataformas Implementación de código también debe tener en cuenta la complejidad del procesamiento de datos por parte del remitente y el receptor de datos y también se debe tener en cuenta la escalabilidad de la estructura de datos, la mantenibilidad, los costos laborales y la complejidad de la implementación;
4.Protocolo Universalidad: estándar público: el tipo de datos debe ser multiplataforma, el formato de datos debe ser universal y, en general, todos pueden aceptarlo;
Aquí comparamos varias categorías diferentes de tipos de datos de protocolo:
Binario personalizado
Ventajas: pequeño volumen de información, correspondiente al "1" anterior
Desventajas: alta complejidad de codificación (defina el formato del mensaje usted mismo, escriba la secuencia usted mismo Serialización y métodos de deserialización, realice el procesamiento tolerante a fallas usted mismo y la escalabilidad no es fuerte. Por ejemplo, si agrega un campo, debe cambiar el procesamiento lógico en ambos extremos), correspondiente al "3" anterior
Proporciona serialización y deserialización Protocolos de código abierto de bibliotecas de serialización
Como búferes de protocolo, json, Thrift
Ventajas: es un formato de datos universal popular, muy fácil de ampliar. y es muy conveniente serializar y deserializar (hay una biblioteca correspondiente), el manejo de errores es conveniente (soporte de biblioteca
Protocolo de texto
Por ejemplo, xml, json
Ventajas: serialización, deserialización Fácil (soporte de biblioteca), depuración conveniente, visualización sólida
Desventajas: Tamaño grande en comparación con el almacenamiento binario
Si fuera usted, ¿qué protocolo usaría? tu eliges?
Elegiré json porque es "un protocolo de código abierto que proporciona bibliotecas de serialización y deserialización o un protocolo textual" por las siguientes razones:
1. , todo el proceso de definición de mensajes, escritura y lectura es demasiado complicado y propenso a errores. Para muchos programas de interacción de datos, se dedicará mucho tiempo;
2. no es fácil de expandir, pero json puede resolver bien este problema;
3. Aunque json ocupa un espacio un poco mayor que el binario, podemos resolverlo mediante la compresión de datos de red, y json También es liviano y tiene una alta densidad. eficiencia de transmisión;
4. Vaya a leer "El arte de la programación Unix", Capítulo 5 - Textualización, los buenos protocolos producen buenas prácticas Capítulo 6 - Transparencia: Un poco de luz le mostrará los beneficios de utilizar protocolos textuales; ;