[{"data":1,"prerenderedAt":259},["ShallowReactive",2],{"term-a\u002Favro":3,"related-a\u002Favro":244},{"id":4,"title":5,"acronym":6,"body":7,"category":225,"description":226,"difficulty":227,"extension":228,"letter":229,"meta":230,"navigation":231,"path":232,"related":233,"seo":238,"sitemap":239,"stem":242,"subcategory":6,"__hash__":243},"terms\u002Fterms\u002Fa\u002Favro.md","Avro",null,{"type":8,"value":9,"toc":219},"minimark",[10,15,19,23,26,30,208,212,215],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 - The Vibe Check",[16,17,18],"p",{},"Avro is a data format built for a world where the shape of your data keeps changing but old and new versions still need to talk to each other. Every Avro message carries its schema right along with it (or a reference to one), so a consumer written last year can still make sense of data produced by code deployed this morning, as long as the schema evolved in a compatible way.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"Apache Avro is a compact, binary data serialization format that pairs data with a JSON-defined schema, typically tracked in a schema registry, to enable reliable schema evolution over time. It's widely used in Kafka pipelines because producers and consumers can evolve independently as long as schema changes stay backward or forward compatible.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"type\": \"record\",\n  \"name\": \"Order\",\n  \"fields\": [\n    { \"name\": \"id\", \"type\": \"string\" },\n    { \"name\": \"total\", \"type\": \"double\" }\n  ]\n}\n","json","",[38,39,40,49,77,98,113,156,196,202],"code",{"__ignoreMap":36},[41,42,45],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"sMK4o","{\n",[41,50,52,55,59,62,65,68,72,74],{"class":43,"line":51},2,[41,53,54],{"class":47},"  \"",[41,56,58],{"class":57},"spNyl","type",[41,60,61],{"class":47},"\"",[41,63,64],{"class":47},":",[41,66,67],{"class":47}," \"",[41,69,71],{"class":70},"sfazB","record",[41,73,61],{"class":47},[41,75,76],{"class":47},",\n",[41,78,80,82,85,87,89,91,94,96],{"class":43,"line":79},3,[41,81,54],{"class":47},[41,83,84],{"class":57},"name",[41,86,61],{"class":47},[41,88,64],{"class":47},[41,90,67],{"class":47},[41,92,93],{"class":70},"Order",[41,95,61],{"class":47},[41,97,76],{"class":47},[41,99,101,103,106,108,110],{"class":43,"line":100},4,[41,102,54],{"class":47},[41,104,105],{"class":57},"fields",[41,107,61],{"class":47},[41,109,64],{"class":47},[41,111,112],{"class":47}," [\n",[41,114,116,119,121,124,126,128,130,133,135,138,140,142,144,146,148,151,153],{"class":43,"line":115},5,[41,117,118],{"class":47},"    {",[41,120,67],{"class":47},[41,122,84],{"class":123},"sBMFI",[41,125,61],{"class":47},[41,127,64],{"class":47},[41,129,67],{"class":47},[41,131,132],{"class":70},"id",[41,134,61],{"class":47},[41,136,137],{"class":47},",",[41,139,67],{"class":47},[41,141,58],{"class":123},[41,143,61],{"class":47},[41,145,64],{"class":47},[41,147,67],{"class":47},[41,149,150],{"class":70},"string",[41,152,61],{"class":47},[41,154,155],{"class":47}," },\n",[41,157,159,161,163,165,167,169,171,174,176,178,180,182,184,186,188,191,193],{"class":43,"line":158},6,[41,160,118],{"class":47},[41,162,67],{"class":47},[41,164,84],{"class":123},[41,166,61],{"class":47},[41,168,64],{"class":47},[41,170,67],{"class":47},[41,172,173],{"class":70},"total",[41,175,61],{"class":47},[41,177,137],{"class":47},[41,179,67],{"class":47},[41,181,58],{"class":123},[41,183,61],{"class":47},[41,185,64],{"class":47},[41,187,67],{"class":47},[41,189,190],{"class":70},"double",[41,192,61],{"class":47},[41,194,195],{"class":47}," }\n",[41,197,199],{"class":43,"line":198},7,[41,200,201],{"class":47},"  ]\n",[41,203,205],{"class":43,"line":204},8,[41,206,207],{"class":47},"}\n",[11,209,211],{"id":210},"when-youll-hear-this","When You'll Hear This",[16,213,214],{},"\"We use Avro with the Schema Registry so producers and consumers can evolve independently.\" \u002F \"The Avro schema check caught a breaking change before it hit production.\"",[216,217,218],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":51,"depth":51,"links":220},[221,222,223,224],{"id":13,"depth":51,"text":14},{"id":21,"depth":51,"text":22},{"id":28,"depth":51,"text":29},{"id":210,"depth":51,"text":211},"backend","Avro is a data format built for a world where the shape of your data keeps changing but old and new versions still need to talk to each other.","intermediate","md","a",{},true,"\u002Fterms\u002Fa\u002Favro",[234,235,236,237],"Schema Registry","Apache Kafka","Protocol Buffers","Schema Evolution",{"title":5,"description":226},{"changefreq":240,"priority":241},"weekly",0.7,"terms\u002Fa\u002Favro","TZ1Rzs8fjLTwVeNgk0yak5vFEboqQiqE3CMwoIL4jfc",[245,248,252,256],{"title":235,"path":246,"acronym":6,"category":225,"difficulty":227,"description":247},"\u002Fterms\u002Fa\u002Fapache-kafka","Kafka is like the world's most reliable postal service, except instead of delivering letters, it delivers millions of messages per second and never loses o",{"title":236,"path":249,"acronym":6,"category":250,"difficulty":227,"description":251},"\u002Fterms\u002Fp\u002Fprotocol-buffers","networking","Protocol Buffers (protobuf) is Google's way of serializing data that's way smaller and faster than JSON. You define your data structure in a .",{"title":237,"path":253,"acronym":6,"category":254,"difficulty":227,"description":255},"\u002Fterms\u002Fs\u002Fschema-evolution","database","Your data's shape never actually stays still: new fields show up, old ones get renamed, types change, and yet you've got old data sitting around in the old...",{"title":234,"path":257,"acronym":6,"category":225,"difficulty":227,"description":258},"\u002Fterms\u002Fs\u002Fschema-registry","Think of it as the dictionary police for your data. Every message that flows through your system has to be registered in the Schema Registry first, like ge",1792528062318]