1. 程式人生 > >關於微服務閘道器的一點思考

關於微服務閘道器的一點思考

業務場景

作為平臺方,與第三方系統對接時候,希望提供統一的介面進行服務的認證、授權、過濾以及路由分發,這樣遮蔽平臺方的實現細節,只暴露公共閘道器給第三方系統。

技術選型

  • Nginx

      Nginx一般是單體應用的入口,進行具體服務的轉發,域名的對映等等,缺點是無法對外部多個域名進行統一分發
    
  • HTTP

      HTTP介面作為訪問入口,在介面內部進行業務的轉發
    
  • dubbo(普通HTTP介面)

      dubbo的核心應用是基於rpc的服務註冊和發現,包括負載均衡等,如果要做閘道器的話,基本方法是暴露一個HTTP介面作為訪問入口,在介面內部進行業務的轉發
    
  • spring-cloud-zuul

      基於springCloud平臺,提供了同步和非同步io方式,本質上還是暴露一個HTTP介面作為訪問入口
    
  • spring-cloud-gateway

      基於springCloud平臺,可以對外部請求進行路由、過濾、請求分發等功能,管理多個域名,可以替代Nginx的路由功能,同時又進行了擴充套件,本質上還是暴露一個HTTP介面作為訪問入口