2022年7月6日10:50:29
官方文檔:https://apisix.gitbook.io/apisix-dashboard/ 沒什么參考價值
apixis搭建
https://www.cnblogs.com/zx-admin/p/16446720.html
php8 yum安裝參考
https://blog.csdn.net/ecba1988/article/details/109991911
首先安裝好apisix,和php8
創(chuàng)建一個webman的http socket接口
http://m.wtbis.cn/doc/webman/install.html
創(chuàng)建socket
http://m.wtbis.cn/doc/webman/process.html
按照上面的操作就可以
然后修改server.php和process.php的端口
復(fù)制一份項目web1和web2,使用vscode的ssh啟動服務(wù)
web1 http 8787 socket 18888
web2 http 8788 socket 18889
測試工具apipost
apisix網(wǎng)管代理
配置apixis
ui界界面訪問:http://192.168.154.131:9000/ 默認(rèn)admin admin
新增socket代理 測試socet
新增socket代理 測試http
http服務(wù)輪詢
修改admin api 9080端口 修改成80 或者 443 或者都監(jiān)聽
https://apisix.apache.org/zh/docs/apisix/architecture-design/apisix/
在 /usr/local/apisix/conf 修改 config.yaml
默認(rèn)不要修改 config-default.yaml 因為修改 config.yaml會覆蓋掉config-default.yaml的配置
apisix:
# node_listen: 9080 # APISIX listening port
node_listen: # This style support multiple ports
- 80
主要是yaml格式
使用apixis的好處:
1,這樣需要上線新的服務(wù),或者下線服務(wù),可以直接UI手動操作,并且切換服務(wù)是動態(tài)化的,
2,支持健康檢查,主動和被動都支持
3,比如服務(wù)a 服務(wù)b 服務(wù)c,a,b壓力大,c的配置更好可以直接修改增加權(quán)重,或者直接增加服務(wù)d
4,對于不熟悉nginx配置的人員使用,在好不過了,大大減少配置nginx的問題
5,一些限流服務(wù),可以直接在網(wǎng)關(guān)操作,不需要單個服務(wù)項目去增加限流組件
6,如果需要增加權(quán)限認(rèn)證,跨域等一些服務(wù),直接使用插件即可,無需大量修改項目代碼,直接增加插件
7,直接支持消費者,Protocol Buffers,grpc做微服務(wù)網(wǎng)關(guān),無需其他網(wǎng)關(guān)服務(wù)
apixis的一些基本概念
路由
路由(Route)是請求的入口點,它定義了客戶端請求與服務(wù)之間的匹配規(guī)則。路由可以與服務(wù)(Service)、上游(Upstream)關(guān)聯(lián),一個服務(wù)可對應(yīng)一組路由,一個路由可以對應(yīng)一個上游對象(一組后端服務(wù)節(jié)點),因此,每個匹配到路由的請求將被網(wǎng)關(guān)代理到路由綁定的上游服務(wù)中。 ?
上游
上游列表包含了已創(chuàng)建的上游服務(wù)(即后端服務(wù)),可以對上游服務(wù)的多個目標(biāo)節(jié)點進行負(fù)載均衡和健康檢查。 ?
服務(wù)
服務(wù)由路由中公共的插件配置、上游目標(biāo)信息組合而成。服務(wù)與路由、上游關(guān)聯(lián),一個服務(wù)可對應(yīng)一組上游節(jié)點、可被多條路由綁定 ?
消費者
消費者是路由的消費方,形式包括開發(fā)者、最終用戶、API 調(diào)用等。創(chuàng)建消費者時,需綁定至少一個認(rèn)證類插件 包含身份驗證、安全防護、流量控制、無服務(wù)器架構(gòu)、可觀測性和其他幾個類型。
從使用者的角度出發(fā)解釋一下
路由 Route 就是理解為web框架的請求入口路由
上游 Upstream 就是nginx的Upstream
請求訪問到 路由 轉(zhuǎn)發(fā)到 Upstream,但是在使用APISIX Dashboard你會發(fā)現(xiàn)兩者操作界面差不多,但是在路由里面是可以選擇
上游服務(wù)的,就是為了實現(xiàn)更自由的,和更復(fù)雜的業(yè)務(wù)需求
服務(wù),消費者,Protocol Buffers,插件都是可以互相關(guān)聯(lián)的
如果你看舊版的APISIX Dashboard 你會發(fā)現(xiàn)就是和我說的差不多,在2.1.3的版本會讓人產(chǎn)生誤解,怎么沒一個操作都差不多
理解核心的部分就是原來的nginx的反向代理一個路徑就是路由,Upstream到不同的節(jié)點
socket代理就更簡單了,因為涉及不到http的路由,只有端口,直接轉(zhuǎn)發(fā)就可以,相反是http請求轉(zhuǎn)發(fā)配置更復(fù)雜一點
吐槽幾點:
1,apixis雖然做的很好,但是開發(fā)文檔寫真的只是個簡易的操作手冊,沒什么操作價值,官方文檔沒做好
2,沒有中文社區(qū),但是有g(shù)ithub wiki 郵件列表,只有bug和future反饋,沒有上手的指導(dǎo)文檔,一些操作只能自己摸索
3,webman不支持配置項目路由前綴,會導(dǎo)致一個大的公司項目不能使用同一個業(yè)務(wù)域名,需要新增其他業(yè)務(wù)域名,來解決子路由問題
4,APISIX Dashboard雖然翻譯中文版文檔,但是非常不好有,不適合基礎(chǔ)入門使用的,沒有詳解的使用說明文檔和demo
如果想使用apixis更多非專業(yè)的對openresty或者nginx lua熟悉的用戶上手,真的需要很多文檔的建設(shè),不得不夸一下webman以及workerman社區(qū)的文檔,做的非常好
最后反饋一個論壇bug上傳的gif文件,圖片不是是靜態(tài)的
http服務(wù)輪詢
可以解密https流量?