Chapitre 7 Google Protobuf

7.1 Introduction de base au codage et au décodage

  1. Lors de l'écriture d'applications réseau, car les données transmises dans le réseau sont des données de bytecode binaire, elles doivent être codées lors de l'envoi de données et doivent être décodées lors de la réception de données

  2. Le codec (codec) comprend deux composants: le décodeur (décodeur) et l'encodeur (encodeur). L'encodeur est responsable de la conversion des données commerciales en données de bytecode, et le décodeur est responsable de la conversion des données de bytecode en données commerciales
    Insérez la description de l'image ici

7.2 Mécanisme de codage et de décodage propre à Netty et analyse des problèmes

  1. Netty lui-même fournit un codec (codec)

  2. Netty fournit l'encodeur -
    StringEncoder, l' encodage des données de chaîne
    ObjectEncoder, l' encodage des objets Java

  3. Netty fournit le décodeur
    StringDecoder, qui décode les données de chaîne,
    ObjectDecoder et décode les objets Java

  4. Les propres ObjectDecoder et ObjectEncoder de Netty peuvent être utilisés pour implémenter l'encodage et le décodage d'objets POJO ou de divers objets métier. La couche inférieure utilise toujours la technologie de sérialisation Java et la technologie de sérialisation Java elle-même n'est pas efficace. Les problèmes suivants se posent:
    1 Impossible de traverser la langue
    2. Le volume après la sérialisation est trop grand, plus de 5 fois celui du codage binaire.
    3. Les performances de sérialisation sont trop faibles
    ===> conduit à une nouvelle solution [Protobuf de Google]

7.3 Protobuf

Insérez la description de l'image ici
Insérez la description de l'image ici

7.4 Exemple de démarrage rapide de Protobuf

Écrivez un programme et utilisez Protobuf pour compléter les fonctions suivantes

  1. Le client peut envoyer un objet Student PoJo au serveur (encodé par Protobuf)
  2. Le serveur peut recevoir l'objet Student PoJo et afficher les informations (décodées par Protobuf)
    Insérez la description de l'image ici

7.5 Exemple de démarrage rapide de Protobuf 2

  1. Écrivez un programme et utilisez Protobuf pour compléter les fonctions suivantes
  2. Le client peut envoyer au hasard des objets Student PoJo / Worker PoJo au serveur (encodé par Protobuf)
  3. Le serveur peut recevoir des objets Student PoJo / Worker PoJo (besoin de déterminer quel type) et afficher des informations (décodées par Protobuf)
    Insérez la description de l'image ici
A publié 138 articles originaux · Comme 3 · Visiteur 7227

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43719015/article/details/105300193
conseillé
Classement