1import{_ as p,c as i,a as d,b as n,d as t,w as e,r as o,o as c,e as l}from"./app-B7HVJ7q3.js";const r={};function u(m,s){const a=o("RouteLink");return c(),i("div",null,[s[3]||(s[3]=d(`<h1 id="å缩ä¸åºååæä»¶" tabindex="-1"><a class="header-anchor" href="#å缩ä¸åºååæä»¶"><span>å缩ä¸åºååæä»¶</span></a></h1><p>go-wind-plugins æä¾å缩ååºååè¾ å©æä»¶ï¼åå°ç½ç»ä¼ è¾ä½ç§¯ååå¨ç©ºé´ã</p><h2 id="ä¸ãå缩æä»¶" tabindex="-1"><a class="header-anchor" href="#ä¸ãå缩æä»¶"><span>ä¸ãå缩æä»¶</span></a></h2><h3 id="_1-1-éé å¨å表" tabindex="-1"><a class="header-anchor" href="#_1-1-éé å¨å表"><span>1.1 éé å¨å表</span></a></h3><table><thead><tr><th>éé å¨</th><th>å¯¼å ¥è·¯å¾</th><th>å缩ç</th><th>é度</th></tr></thead><tbody><tr><td>Gzip</td><td><code>plugins/compress/gzip</code></td><td>é«</td><td>ä¸</td></tr><tr><td>Snappy</td><td><code>plugins/compress/snappy</code></td><td>ä¸</td><td>æå¿«</td></tr><tr><td>LZ4</td><td><code>plugins/compress/lz4</code></td><td>ä¸</td><td>æå¿«</td></tr><tr><td>Zstd</td><td><code>plugins/compress/zstd</code></td><td>é«</td><td>å¿«</td></tr><tr><td>Brotli</td><td><code>plugins/compress/brotli</code></td><td>æé«</td><td>æ ¢</td></tr></tbody></table><h3 id="_1-2-ä½¿ç¨æ¹å¼" tabindex="-1"><a class="header-anchor" href="#_1-2-ä½¿ç¨æ¹å¼"><span>1.2 ä½¿ç¨æ¹å¼</span></a></h3><div class="language-go line-numbers-mode" data-highlighter="prismjs" data-ext="go"><pre><code><span class="line"><span class="token keyword">import</span> compressPlugin <span class="token string">"github.com/tx7do/go-wind-plugins/compress/gzip"</span></span> 2<span class="line"></span> 3<span class="line">compressor <span class="token operator">:=</span> compressPlugin<span class="token punctuation">.</span><span class="token function">New</span><span class="token punctuation">(</span></span> 4<span class="line"> compressPlugin<span class="token punctuation">.</span><span class="token function">WithLevel</span><span class="token punctuation">(</span><span class="token number">6</span><span class="token punctuation">)</span><span class="token punctuation">,</span> <span class="token comment">// 1-9</span></span> 5<span class="line"><span class="token punctuation">)</span></span> 6<span class="line"></span> 7<span class="line"><span class="token comment">// å缩</span></span> 8<span class="line">compressed<span class="token punctuation">,</span> <span class="token boolean">_</span> <span class="token operator">:=</span> compressor<span class="token punctuation">.</span><span class="token function">Compress</span><span class="token punctuation">(</span>data<span class="token punctuation">)</span></span> 9<span class="line"></span> 10<span class="line"><span class="token comment">// è§£å</span></span> 11<span class="line">original<span class="token punctuation">,</span> <span class="token boolean">_</span> <span class="token operator">:=</span> compressor<span class="token punctuation">.</span><span class="token function">Decompress</span><span class="token punctuation">(</span>compressed<span class="token punctuation">)</span></span> 12<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_1-3-http-ååºå缩" tabindex="-1"><a class="header-anchor" href="#_1-3-http-ååºå缩"><span>1.3 HTTP ååºå缩</span></a></h3><div class="language-go line-numbers-mode" data-highlighter="prismjs" data-ext="go"><pre><code><span class="line"><span class="token comment">// Transport èªå¨æ¯æ Accept-Encoding: gzip</span></span> 13<span class="line"><span class="token comment">// 客æ·ç«¯åé Accept-Encoding: gzip</span></span> 14<span class="line"><span class="token comment">// æå¡ç«¯èªå¨å缩ååºä½</span></span> 15<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="_1-4-kafka-æ¶æ¯å缩" tabindex="-1"><a class="header-anchor" href="#_1-4-kafka-æ¶æ¯å缩"><span>1.4 Kafka æ¶æ¯å缩</span></a></h3><div class="language-yaml line-numbers-mode" data-highlighter="prismjs" data-ext="yml"><pre><code><span class="line"><span class="token key atrule">
15broker</span><span class="token punctuation">:</span></span> 16<span class="line"> <span class="token key atrule">kafka</span><span class="token punctuation">:</span></span> 17<span class="line"> <span class="token key atrule">producer</span><span class="token punctuation">:</span></span> 18<span class="line"> <span class="token key atrule">compression</span><span class="token punctuation">:</span> zstd <span class="token comment"># none | gzip | snappy | lz4 | zstd</span></span> 19<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="äºãåºåå对æ¯" tabindex="-1"><a class="header-anchor" href="#äºãåºåå对æ¯"><span>äºãåºåå对æ¯</span></a></h2><table><thead><tr><th>æ ¼å¼</th><th>ä½ç§¯</th><th>é度</th><th>å¯è¯»æ§</th><th>Schema</th></tr></thead><tbody><tr><td>JSON</td><td>大</td><td>å¿«</td><td>æ¯</td><td>æ </td></tr><tr><td>Protobuf</td><td>æå°</td><td>æå¿«</td><td>å¦</td><td>.proto</td></tr><tr><td>MessagePack</td><td>å°</td><td>å¿«</td><td>å¦</td><td>æ </td></tr><tr><td>YAML</td><td>ä¸</td><td>æ ¢</td><td>æ¯</td><td>æ </td></tr><tr><td>TOML</td><td>ä¸</td><td>æ ¢</td><td>æ¯</td><td>æ </td></tr><tr><td>Avro</td><td>å°</td><td>å¿«</td><td>å¦</td><td>.avsc</td></tr></tbody></table><h2 id="ä¸ãschema-æ¼è¿" tabindex="-1"><a class="header-anchor" href="#ä¸ãschema-æ¼è¿"><span>ä¸ãSchema æ¼è¿</span></a></h2><h3 id="protobuf-æ¨è" tabindex="-1"><a class="header-anchor" href="#protobuf-æ¨è"><span>Protobufï¼æ¨èï¼</span></a></h3><div class="language-protobuf line-numbers-mode" data-highlighter="prismjs" data-ext="protobuf"><pre><code><span class="line"><span class="token comment">// user.proto</span></span> 20<span class="line"><span class="token keyword">syntax</span> <span class="token operator">=</span> <span class="token string">"proto3"</span><span class="token punctuation">;</span></span> 21<span class="line"></span> 22<span class="line"><span class="token keyword">message</span> <span class="token class-name">User</span> <span class="token punctuation">{</span></span> 23<span class="line"> <span class="token builtin">string</span> id <span class="token operator">=</span> <span class="token number">1</span><span class="token punctuation">;</span></span> 24<span class="line"> <span class="token builtin">string</span> name <span class="token operator">=</span> <span class="token number">2</span><span class="token punctuation">;</span></span> 25<span class="line"> <span class="token builtin">string</span> email <span class="token operator">=</span> <span class="token number">3</span><span class="token punctuation">;</span></span> 26<span class="line"> <span class="token comment">// æ°å¢åæ®µä½¿ç¨æ°ç¼å·ï¼ä¸ç ´åå ¼å®¹æ§</span></span> 27<span class="line"> <span class="token builtin">string</span> phone <span class="token operator">=</span> <span class="token number">4</span><span class="token punctuation">;</span></span> 28<span class="line"><span class="token punctuation">}</span></span> 29<span class="line"></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h3 id="å ¼å®¹æ§è§å" tabindex="-1"><a class="header-anchor" href="#å ¼å®¹æ§è§å"><span>å ¼å®¹æ§è§å</span></a></h3><table><thead><tr><th>æä½</th><th>å ¼å®¹æ§</th></tr></thead><tbody><tr><td>æ°å¢å段</td><td>ååå ¼å®¹</td></tr><tr><td>å é¤å段</td><td>ååå ¼å®¹ï¼éä¿çåæ®µå·ï¼</td></tr><tr><td>ä¿®æ¹å段类å</td><td>ä¸å ¼å®¹</td></tr><tr><td>ä¿®æ¹å段ç¼å·</td><td>ä¸å ¼å®¹</td></tr></tbody></table><h2 id="ç¸å ³ææ¡£" tabindex="-1"><a class="header-anchor" href="#ç¸å ³ææ¡£"><span>ç¸å ³ææ¡£</span></a></h2>`,19)),n("ul",null,[n("li",null,[t(a,{to:"/framework/plugins-encoding.html"},{default:e(()=>[...s[0]||(s[0]=[l("ç¼ç è§£ç æä»¶",-1)])]),_:1})]),n("li",null,[t(a,{to:"/framework/plugins-broker.html"},{default:e(()=>[...s[1]||(s[1]=[l("æ¶æ¯ä¸é´ä»¶æä»¶",-1)])]),_:1})]),n("li",null,[t(a,{to:"/framework/plugins-intro.html"},{default:e(()=>[...s[2]||(s[2]=[l("æä»¶æ»è§",-1)])]),_:1})])])])}const k=p(r,[["render",u]]),b=JSON.parse('{"path":"/framework/plugins-compress.html","title":"å缩ä¸åºååæä»¶","lang":"en-US","frontmatter":{},"headers":[{"level":2,"title":"ä¸ãå缩æä»¶","slug":"ä¸ãå缩æä»¶","link":"#ä¸ãå缩æä»¶","children":[{"level":3,"title":"1.1 éé å¨å表","slug":"_1-1-éé å¨å表","link":"#_1-1-éé å¨å表","children":[]},{"level":3,"title":"1.2 ä½¿ç¨æ¹å¼","slug":"_1-2-ä½¿ç¨æ¹å¼","link":"#_1-2-ä½¿ç¨æ¹å¼","children":[]},{"level":3,"title":"1.3 HTTP ååºå缩","slug":"_1-3-http-ååºå缩","link":"#_1-3-http-ååºå缩","children":[]},{"level":3,"title":"1.4 Kafka æ¶æ¯å缩","slug":"_1-4-kafka-æ¶æ¯å缩","link":"#_1-4-kafka-æ¶æ¯å缩","children":[]}]},{"level":2,"title":"äºãåºåå对æ¯","slug":"äºãåºåå对æ¯","link":"#äºãåºåå对æ¯","children":[]},{"level":2,"title":"ä¸ãSchema æ¼è¿","slug":"ä¸ãschema-æ¼è¿","link":"#ä¸ãschema-æ¼è¿","children":[{"level":3,"title":"Protobufï¼æ¨èï¼","slug":"protobuf-æ¨è","link":"#protobuf-æ¨è","children":[]},{"level":3,"title":"å ¼å®¹æ§è§å","slug":"å ¼å®¹æ§è§å","link":"#å ¼å®¹æ§è§å","children":[]}]},{"level":2,"title":"ç¸å ³ææ¡£","slug":"ç¸å ³ææ¡£","link":"#ç¸å ³ææ¡£","children":[]}
29],"git":{"updatedTime":1782048507000,"contributors":[{"name":"Bobo","username":"Bobo","email":"[email protected]","commits":1,"url":"https://github.com/Bobo"}],"changelog":[{"hash":"26902396683277256db28022df417e6070907850","time":1782048507000,"email":"[email protected]","author":"Bobo","message":"docs(bootstrap): æ·»å Bootstrap æ¡æ¶ç¸å
³ææ¡£"}]},"filePathRelative":"framework/plugins-compress.md"}');export{k as comp,b as data};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.