SAP Netweaver的负载均衡消息服务器 vs CloudFoundry的App Router
Message server for ABAP Netweaver
SAP传统应用经典的三层架构:
起到负载均衡的消息服务器(Message Server)在图中没有得到体现。然后,消息服务器在我们每天用SAPGUI工作中扮演着重要的角色。
比如Jerry做CRM开发用的系统AG3,消息服务器维护如下:
使用事务码SMLG,发现AG3由三台不同的应用服务器组成,编号分别为54,55和56。
当用户使用SAPGUI登录时,消息服务器会自动将当前负载最小的应用服务器实例返回给用户进行登录。所有参与负载均衡场景的应用服务器也会定时将自己的负载通知消息服务器。
Netweaver负载均衡的更多细节,参考SAP帮助文档HTTP Load Distribution Using SAP Message Server
CloudFoundry Application Router
在SAP云平台的CloudFoundry环境里,Application Router作为所有应用访问的入口。
上图1~8的图例描述了部署在SAP云平台CloudFoundry环境上的Web应用是如何通过Cloud Connector访问On-Premise系统上的服务。
1. App Router作为用户访问的入口。
2. 用户访问请求被重定向到XSUAA。XSUAA要求用户登录。用户完成登录操作后,一个JSON Web Token(简称为JWT1)被创建,发送给App Router,并缓存于App Router内。
3. App Router将请求和步骤2生成的JSON Web Token一起转发给Web应用。
4a. Web应用再次向XSUAA请求一个JSON Web Token(JWT2), 用于访问destination实例。
4b. Web应用并行地向XSUAA请求第三个JSON Web Token(JWT3),用于connectivity实例的访问。
5. Web应用使用JWT2获取destination配置。
6. Web将请求和JWT3转发给connectivity实例。
7. SAP Cloud Platform Connectivity将请求通过Secure tunnel转发给Cloud Connector。
8. Cloud Connector将请求发给On-Premise system。
更详细的介绍,请参考李贝宁的公众号文章 SAP成都研究院李三郎:SCP Application Router简介.
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"