avec la bibliothèque d'épargne C ++ Apache, est-il possible d'utiliser uniquement la sérialisation / la désérialisation et ne pas utiliser les services RPC? P>
Si je comprends de
5 Réponses :
Oui, c'est possible. L'épargne manque de documentation sur ce sujet. Eh bien, à propos de quelque chose vraiment. p>
Ici, j'ai trouvé ceci: p>
J'utilise personnellement Boost :: Sérialisation S'il n'y a pas besoin de transférer des données sur le réseau. Syntaxe très claire et supporte JSON, XML et une sortie binaire / entrée. P>
Merci. La documentation de l'épargne est presque inexistante.
Entre-temps (depuis 2012), il y a beaucoup de documents disponibles. Néanmoins, il y a quelque chose qui envisage de "sérialiser seulement". Alttuhag Dériférable de la solution complète avec RPC, nous pouvons faire mieux => THIFT-4128 a>
Voici un article de liste de diffusion différent avec certains CODE joints indiquant comment utiliser l'épargne pour Serialize dans un fichier en C ++. P>
in c ++, vous pouvez utiliser le TFileTransport: ou p>
Si vous voulez simplement sérialiser en octets (sans avoir à écrire dans un fichier), vous pouvez utiliser tmemorybuffer code>.
boost::shared_ptr<TMemoryBuffer> buffer(new TMemoryBuffer());
boost::shared_ptr<TBinaryProtocol> binaryProtcol(new TBinaryProtocol(buffer));
obj->write(binaryProtcol.get());
obj->read((binaryProtcol.get()));
Est-ce que le obj code> doit être une instance de TBASE? En outre, une fois que le
obj code> a été sérialisé à des octets à l'aide de l'appel d'écriture (), comment accéder à ces octets? Merci.
Je me rends compte que cette question a été posée il y a quelque temps. J'ai récemment rencontré un cas d'utilisation similaire (avec une exigence supplémentaire - en envoyant les octets sérialisés à un cluster de Kafka). Voici mon Réponse avec plus complète Code des extraits qui illustrent la manière dont la sérialisation et l'envoi de tâches peuvent être effectuées. P>
L'un d'eux est un duplicata comme c'est aujourd'hui. Ma recommandation serait d'envisager de reformuler l'autre question d'une manière qui en fait un non-dupliqué, c'est-à-dire de se concentrer sur la partie de la Kafka du problème.
Merci d'avoir fait remarquer cela. J'ai reformulé l'autre question à se concentrer sur Kafka. Faites-moi savoir si plus de changements sont nécessaires.