SAP AEX 做 HA 的时候,很多人会把注意力放在 AS Java 集群、message server、enqueue、数据库高可用、负载均衡地址、Web Dispatcher 或硬件负载均衡器上。真正到联调阶段,系统表面上能起来,Integration Directory 能打开,Adapter Engine 也能跑,可一旦发生节点切换,某些系统信息上报、SLD 注册、ABAP 侧数据供应就开始变得不稳定。排查到深处,问题经常落在一个很小但很关键的地方,local SLD 仍然指向了某个物理节点,而不是高可用场景下应该使用的虚拟入口。
这篇文章讨论的就是 SAP AEX 高可用环境里 local System Landscape Directory 的配置。这里的 AEX 指 Advanced Adapter Engine Extended,它是 SAP PI 架构演进过程中非常重要的一种运行形态。相比传统双栈 PI,AEX 更偏 Java-only,很多集成运行能力集中在 AS Java 和 Adapter Engine 这一侧。也正因为如此,Java 侧的 SLD 访问、Destination 配置、Data Supplier 注册,以及 ABAP 系统向 SLD 上报技术系统数据的链路,都不能只按单机思路处理。
System Landscape Directory,简称 SLD,是 SAP NetWeaver 系统景观中的核心信息目录。它保存技术系统、软件组件、产品版本、业务系统等信息。对于 SAP PI 或 SAP PO 来说,SLD 不只是一个被动的资料库,它还会影响 Integration Directory 中业务系统的识别、运行时组件对系统信息的获取,以及后续 Solution Manager 或 LMDB 侧对景