共计 867 个字符,预计需要花费 3 分钟才能阅读完成。
Enqueue Server(也称为 Lock 服务器)是治理锁表的 SAP 零碎组件。
即便是分布式部署的 SAP 零碎,零碎中也只有一台 Enqueue 服务器。该服务器有多种装置选项:
- 配置为 ABAP 应用服务器实例中的 Enqueue Work Process. 该实例被称为
Central instance
.
此装置选项次要用于较旧的仅蕴含 ABAP 技术栈的 SAP 零碎和仅蕴含繁多实例的 ABAP 应用服务器。
- 作为独自实例的一部分装置。这种部署模式,Enqueue 服务器作为独自的物理服务器来装置。
该服务器与音讯服务器一起成为 SCS 实例(SAP、地方服务 – AS Java)或 ASCS 实例(ABAP 地方服务 – AS ABAP)。这意味着无论 SCS 还是 ASCS 都是单点故障,必须具备高可用性才行。
Enqueu 服务器接管锁申请,并查看锁表以确定锁申请是否与现有锁抵触。如果是,Enqueue 服务器将回绝它。如果没有抵触,Enqueu 服务器会设置锁并在锁表中创立条目。
当 Enqueu 服务器重新启动时,如果锁没有保留在硬盘上的备份文件上,锁就会失落。在 CALL FUNCTION .. IN UPDATE TASK 之后的 COMMIT WORK 期间,传递给更新工作的那些锁存储在此文件中。备份文件在更新申请无效时(在 COMMIT WORK 中)保留。每次重新启动排队服务器时,保留的锁条目都会从新加载到锁表中。
如果 Enqueue Replication Service 用作高可用性解决方案的一部分,则即便 Enqueu 服务器呈现故障或重新启动,锁也不会失落。
当独立 Enqueue 服务器用于 SCS 或 ASCS 实例时,ABAP 工作过程和 Java 服务器过程间接与 Enqueue 服务器通信。
在具备核心实例和多个对话实例的传统 ABAP 零碎中,锁定申请通过 Dispatcher 和音讯服务器传递到核心实例的 Dispatcher,后者将申请转发到入队工作过程。地方实例上的工作过程能够间接拜访锁表函数。这意味着他们不用通过调度程序和音讯服务器发送锁定申请。
上图显示了具备一个地方实例和其余实例的分布式 SAP 零碎中的通信门路。