This application discloses an application service invocation system, which includes a control center module for declaring the service declaration configuration of the first service provision module invoking the second service provision module, and resolving the service address of the second service provision module contained in the address resolution request sent by the first service provision module based on the service declaration configuration to obtain the service. The load address corresponding to the service address is sent to the first service providing module; the first service providing module sends a call request for the second service providing module based on the load address transmitted by the control center module; and the load balancing module is used to forward the call request to an example of the second service providing module. The application service invocation system can adapt to different development environments, and realize load balancing between application services in different development environments. The application scope is more extensive.
【技術實現步驟摘要】
應用服務調用系統、方法以及裝置
本申請涉及應用
,具體涉及一種應用服務調用系統。本申請同時涉及兩種應用服務調用方法以及裝置,一種應用服務調用請求轉發方法以及裝置,以及三種計算機可讀介質。
技術介紹
在企業級的應用場景中,應用的功能越來越多樣化,一個應用往往集成有多個功能,根據功能的不同劃分出不同的服務模塊,從而形成一個應用的多個服務,并且這些服務之間相互通信,比如購物應用的商品購買服務會調用交易支付服務;同時,不同服務由于業務復雜度或業務量的不同,有的服務會有不止一個的實例,在調用這些服務的過程中需要將請求按照一定的策略路由到被調用服務的實例上。目前實現這一調用的方案有如下兩種:一是通過負載均衡設備或者軟件實現負載均衡,比如通過LVS(LinuxVirtualServer)等負載均衡設備實現,具體是將被調用的服務掛載到負載均衡設備的后端端口上面,轉發負載均衡前端端口上調用者的請求來實現負載均衡,并在后端服務變化時進行手動修改。二是通過注冊中心的方式實現負載均衡,服務的實例啟動時都會將自己的訪問地址寫到注冊中心服務上,調用者在調用之前會先去注冊中心取到被調用的服務的實例列表,然后再將請求直接發給被調用者的實例上。然而,上述第一種通過負載均衡設備或者軟件實現的負載均衡,在不同的環境下需要進行配置使其與不同的環境匹配,比如在線上生產環境下以及本地開發測試環境下需要分別進行配置,增加了開發、測試、發布和運維的成本。上述第二種通過注冊中心的方式實現的負載均衡,服務都需要遵守注冊中心的協議,在應用采用各種異構語言編程的模式中,維護各種語言的注冊中心的標準就增加了 ...
【技術保護點】
1.一種應用服務調用系統,其特征在于,包括:控制中心模塊、第一服務提供模塊、負載均衡模塊和第二服務提供模塊;其中,所述控制中心模塊,用于聲明所述第一服務提供模塊調用所述第二服務提供模塊的服務聲明配置,對所述第一服務提供模塊基于所述服務聲明配置發送的地址解析請求中包含的所述第二服務提供模塊的服務地址進行解析,獲得所述服務地址對應的負載地址并向所述第一服務提供模塊發送;所述第一服務提供模塊,用于向所述控制中心模塊發送所述地址解析請求,接收所述控制中心模塊發送的所述負載地址,并基于所述負載地址發送針對所述第二服務提供模塊的調用請求;所述負載均衡模塊,用于將所述調用請求轉發至所述第二服務提供模塊的實例上。
【技術特征摘要】
1.一種應用服務調用系統,其特征在于,包括:控制中心模塊、第一服務提供模塊、負載均衡模塊和第二服務提供模塊;其中,所述控制中心模塊,用于聲明所述第一服務提供模塊調用所述第二服務提供模塊的服務聲明配置,對所述第一服務提供模塊基于所述服務聲明配置發送的地址解析請求中包含的所述第二服務提供模塊的服務地址進行解析,獲得所述服務地址對應的負載地址并向所述第一服務提供模塊發送;所述第一服務提供模塊,用于向所述控制中心模塊發送所述地址解析請求,接收所述控制中心模塊發送的所述負載地址,并基于所述負載地址發送針對所述第二服務提供模塊的調用請求;所述負載均衡模塊,用于將所述調用請求轉發至所述第二服務提供模塊的實例上。2.根據權利要求1所述的應用服務調用系統,其特征在于,所述服務聲明配置,包括所述第二服務提供模塊的服務地址。3.根據權利要求1或2所述的應用服務調用系統,其特征在于,所述服務聲明配置,包括下述至少一項:所述第二服務提供模塊的服務標識、所述第二服務提供模塊進行狀態檢查的檢查類型和所述第二服務提供模塊的實例數目。4.根據權利要求3所述的應用服務調用系統,其特征在于,所述部署所述第一服務提供模塊調用所述第二服務提供模塊的服務聲明配置,包括:掃描所述服務聲明配置;根據所述第二服務提供模塊的實例數目在服務器上部署實例;按照所述檢查類型對所述實例進行狀態檢查,判斷所述實例的狀態是否正常,若是,建立所述實例與所述負載均衡模塊的第一端口的映射;若否,解除所述實例與所述負載均衡模塊的第一端口的映射。5.根據權利要求3所述的應用服務調用系統,其特征在于,所述聲明所述第一服務提供模塊調用所述第二服務提供模塊的服務聲明配置,包括:掃描所述服務聲明配置;根據所述第二服務提供模塊的實例數目在服務器上部署實例;建立所述實例與所述負載均衡模塊的第一端口的映射。6.根據權利要求3所述的應用服務調用系統,其特征在于,所述聲明所述第一服務提供模塊調用所述第二服務提供模塊的服務聲明配置,包括:掃描所述服務聲明配置;根據所述第二服務提供模塊的實例數目在服務器上部署實例;按照所述檢查類型對所述實例進行狀態檢查,判斷所述實例的狀態是否正常,若是,建立所述實例與所述負載均衡模塊的第一端口的映射。7.根據權利要求1至6任意一項所述的應用服務調用系統,其特征在于,所述服務聲明配置,包括下述至少一項:所述第一服務提供模塊的服務標識和所述第一服務提供模塊調用所述第二服務提供模塊的調用聲明。8.根據權利要求7所述的應用服務調用系統,其特征在于,所述控制中心模塊,用于將所述第一服務提供模塊的實例部署在服務器上,并根據所述第一服務提供模塊調用所述第二服務提供模塊的調用聲明部署所述第一服務提供模塊的代理模塊。9.根據權利要求8所述的應用服務調用系統,其特征在于,所述代理模塊按照一一對應原則與所述第一服務提供模塊綁定。10.根據權利要求9所述的應用服務調用系統,其特征在于,所述控制中心模塊記錄有所述服務地址與所述負載地址的對應關系,所述代理模塊根據所述對應關系對所述服務地址進行解析,獲得所述負載地址。11.根據權利要求1至10任意一項所述的應用服務調用系統,其特征在于,所述服務地址,包括所述第二服務提供模塊的域名;所述負載地址,包括所述負載均衡模塊的IP地址。12.一種應用服務調用方法,其特征在于,包括:聲明第一服務提供模塊調用第二服務提供模塊的服務聲明配置;接收所述第一服務提供模塊發送的地址解析請求;所述地址解析請求中包含所述第二服務提供模塊的服務地址;根據所述服務聲明配置將所述服務地址解析到所述服務地址對應的負載地址;向所述第一服務提供模塊發送所述負載地址。13.根據權利要求12所述的應用服務調用方法,其特征在于,所述服務聲明配置,包括所述第二服務提供模塊的服務地址。14.根據權利要求12或13所述的應用服務調用方法,其特征在于,所述服務聲明配置,包括下述至少一項:所述第二服務提供模塊的服務標識、所述第二服務提供模塊進行狀態檢查的檢查類型和所述第二服務提供模塊的實例數目。15.根據權利...
【專利技術屬性】
技術研發人員:王炳燊,譚林華,
申請(專利權)人:阿里巴巴集團控股有限公司,
類型:發明
國別省市:開曼群島,KY
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。