| <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Apache Dubbo – 案例介绍</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/dubbo-go-pixiu/user/samples/</link><description>Recent content in 案例介绍 on Apache Dubbo</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://dubbo.apache.org/zh-cn/overview/mannual/dubbo-go-pixiu/user/samples/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview: Http Proxy 案例介绍</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/dubbo-go-pixiu/user/samples/http_proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/dubbo-go-pixiu/user/samples/http_proxy/</guid><description> |
| <h3 id="http-代理">HTTP 代理</h3> |
| <p>HTTP 代理案例展示了 Pixiu 接收外界 HTTP 请求然后转发给背后的 HTTP Server 的功能。</p> |
| <p><img src="https://dubbo.apache.org/imgs/pixiu/user/samples/http_proxy.png" alt="img"></p> |
| <p>案例代码具体查看 <code>/samples/http/simple</code>。案例中的目录结构和作用如下所示:</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>- pixiu # pixiu 配置文件 |
| </span></span><span style="display:flex;"><span>- server # http server |
| </span></span><span style="display:flex;"><span>- test # client or unit test |
| </span></span></code></pre></div><p>我们来具体看一下有关 pixiu 的具体配置文件。</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>static_resources: |
| </span></span><span style="display:flex;"><span> listeners: |
| </span></span><span style="display:flex;"><span> - name: &#34;net/http&#34; |
| </span></span><span style="display:flex;"><span> protocol_type: &#34;HTTP&#34; # 使用 HTTP Listener |
| </span></span><span style="display:flex;"><span> address: |
| </span></span><span style="display:flex;"><span> socket_address: |
| </span></span><span style="display:flex;"><span> address: &#34;0.0.0.0&#34; # 监听地址设置为 0.0.0.0 |
| </span></span><span style="display:flex;"><span> port: 8888 # 端口设置为 8888 |
| </span></span><span style="display:flex;"><span> filter_chains: |
| </span></span><span style="display:flex;"><span> filters: |
| </span></span><span style="display:flex;"><span> - name: dgp.filter.httpconnectionmanager # NetworkFilter 设置为 httpconnectionmanager |
| </span></span><span style="display:flex;"><span> config: |
| </span></span><span style="display:flex;"><span> route_config: |
| </span></span><span style="display:flex;"><span> routes: |
| </span></span><span style="display:flex;"><span> - match: |
| </span></span><span style="display:flex;"><span> prefix: &#34;/user&#34; # 设置路由规则,将 /user 前缀的请求转发给名称为 user 的 cluster 集群 |
| </span></span><span style="display:flex;"><span> route: |
| </span></span><span style="display:flex;"><span> cluster: &#34;user&#34; |
| </span></span><span style="display:flex;"><span> cluster_not_found_response_code: 505 |
| </span></span><span style="display:flex;"><span> http_filters: |
| </span></span><span style="display:flex;"><span> - name: dgp.filter.http.httpproxy # 使用 dgp.filter.http.httpproxy 这个 HttpFilter 来进行转发 |
| </span></span><span style="display:flex;"><span> config: |
| </span></span><span style="display:flex;"><span> |
| </span></span><span style="display:flex;"><span> clusters: |
| </span></span><span style="display:flex;"><span> - name: &#34;user&#34; # 配置一个名称为 user 的 集群,其中有一个实例,地址是 127.0.0.1:1314 |
| </span></span><span style="display:flex;"><span> lb_policy: &#34;random&#34; |
| </span></span><span style="display:flex;"><span> endpoints: |
| </span></span><span style="display:flex;"><span> - id: 1 |
| </span></span><span style="display:flex;"><span> socket_address: |
| </span></span><span style="display:flex;"><span> address: 127.0.0.1 |
| </span></span><span style="display:flex;"><span> port: 1314 |
| </span></span></code></pre></div><p>可以先启动 <code>Server</code> 文件夹下的 Http Server,然后再使用如下命令启动 <code>Pixiu</code>,最后执行 test 文件夹下的单元测试。注意,-c 后是本地配置文件的绝对路径。</p> |
| <div class="highlight"><pre tabindex="0" style="color:#93a1a1;background-color:#002b36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-fallback" data-lang="fallback"><span style="display:flex;"><span>pixiu gateway start -c /pixiu/conf.yaml |
| </span></span></code></pre></div></description></item><item><title>Overview: Http to Dubbo 案例介绍</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/dubbo-go-pixiu/user/samples/http_to_dubbo/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/dubbo-go-pixiu/user/samples/http_to_dubbo/</guid><description> |
| <p>欢迎认领补充此文档。</p></description></item><item><title>Overview: Https 案例介绍</title><link>https://dubbo.apache.org/zh-cn/overview/mannual/dubbo-go-pixiu/user/samples/https/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dubbo.apache.org/zh-cn/overview/mannual/dubbo-go-pixiu/user/samples/https/</guid><description> |
| <p>欢迎认领补充此文档。</p></description></item></channel></rss> |