什么是 SAP ABAP Enqueue Server

Enqueue Server(也称为 Lock 服务器)是管理锁表的 SAP 系统组件。

即使是分布式部署的 SAP 系统,系统中也只有一台 Enqueue 服务器。 该服务器有多种安装选项:

  1. 配置为 ABAP 应用服务器实例中的 Enqueue Work Process. 该实例被称为 Central instance.

此安装选项主要用于较旧的仅包含 ABAP 技术栈的 SAP 系统和仅包含单一实例的 ABAP 应用服务器。

  1. 作为单独实例的一部分安装。这种部署模式,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 系统中的通信路径。

猜你喜欢

转载自blog.csdn.net/i042416/article/details/132255039