從單體應用(standalone)到微服務(microservice)集羣過渡適用的網關 Fizz的設計基礎

Fizz的設計基礎

Fizz以微服務框架作爲設計基礎,支持集羣化架構,能夠與多種流量網關服務器一同使用的,提升的微服務架構的管控力度。另外考慮的很多企業的特殊情況:有多少種服務形式對外提供,有舊有的Stardalone單機服務,可能以webservice的形式對外提供,或者已經升級了一部分微服務,有的還在以數據庫提供對外服務,有的已經升級了微服務,但是有一部分用http接口,有的使用註冊中心進行調用的,授權也各式各樣。因爲Fizz本身就是基於這種情況下設計。所以在此提供一些方案以供大家參考。

集羣架構方案

在上圖中,以Nginx作爲外網的接入口,Fizz作爲API網關放置於Nginx之後。在這裏Nginx可以也使用現在OpenResty產品替代,如Kong,或者APISIX。可能有一些企業運維這一塊會有使用Kong+Nginx,那麼在研發這一端,這裏就可以使用Fizz作爲微服務的網關配合作爲應用網關。

單機架構方案

如果是中小企業,服務器資源有限,那麼Fizz可以直接替代Nginx的功能,解決之前多種系統的並行的問題。之後隨着業務的壯大,逐步升級的加入的微服務架構即可。也可以用來解決團隊存在多種編程語言的問題:如團隊之前有PHP,有NodeJS,授權不一致,那麼可以通過Fizz進行轉發提供對外一致的接口請求訪問體驗。

Web服務器方案

Fizz是一個高性能的網關,也不妨礙Fizz作爲Web服務器的選擇,作爲聚合服務和少量的Web的服務編程,使用Javascript或者Groove語言的工程師甚至可以把它當做online編程的Web服務器,聚合各種接口,存儲數據,調用緩存,通通不在話下。

介紹

作者:linwaiwai
Fizz Gateway開源地址:https://github.com/wehotel/fizz-gateway-community

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章