Analisando o protocolo Kafka com Erlang. Padrão de correspondência FTW!

Esta postagem é sobre como recebi uma resposta crua de um corretor Kafka que parecia … <<0,0,0,0,0,0,0,3,0,0,0,3,0,25,118,97,103,114,97,110,116,45,117,98,117,110,116,117,45,112,114,101,99,105,115,101,45,54,52,0,0,35,133,0,0,0,1,0,25,118,97,103,114,97,110,116,45,117,98,117,110,116,117,45,112,114,101,99,105,115,101,45,54,52,0,0,35,131,0,0,0,2,0,25,118,97,103,114,97,110,116,45,117,98,117,110,116,117,45,112,114,101,99,105,115,101,45,54,52,0,0,35,132,0,0,0,3,0,0,0,2,97,49,0,0,0,2,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,3,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,97,50,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,2,97,51,0,0,0,2,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,2>> … e corrigiu um cliente erlang kafka para converter o blob em: {metadata,0, …

Continuar lendo