下到了RFC(Remote以及了RFC(Remote

横八月份之早晚做了一个关于两独SAP系统之中资金摊传输的项目,使用到了RFC(Remote
Function
Call)技术。因为之前所有医疗-CRM相关接口开发的更,以为自己对RFC很熟稔了,做起来会充分顺利,不思量要撞了把问题。打算整治一下关于她的情,进一步读书。

约莫八月份底时召开了一个有关两个SAP系统内资产分摊传输的门类,使用及了RFC(Remote
Function
Call)技术。因为事先有医疗-CRM相关接口开发的经验,以为自己对RFC很熟悉了,做起来会非常顺畅,不思还是撞了些问题。打算整治一下关于她的始末,进一步深造。

正文内容的重要性来源于是SAP的英文文档。会比重视基本概念上之东西,偶尔涉及实际的代码、配置。后续可能会见冲我的实际使用情况更新更详尽的牵线。

正文内容之要害根源是SAP的英文文档。会较重视基本概念上之事物,偶尔涉及实际的代码、配置。后续可能会见基于本人之莫过于应用状态更新更详细的介绍。

 

 

本文链接:http://www.cnblogs.com/hhelibeb/p/8066753.html

正文链接:http://www.cnblogs.com/hhelibeb/p/8066753.html

总述

对SAP与SAP系统跟SAP与非SAP系统里面的连续而言,远程函数调用(Remote
Function
Call,以下简称RFC)是同等种植标准的通信方式,它好兑现对长距离系统被函数的调用。

有RFC类型都经过CPI-C或TCP/IP协议进行传输。
它们构成了同等种Gateway通信。

本文是对富有RFC变体的叙说,它们有着不同之风味与可的施用状况。

总述

对于SAP与SAP系统及SAP与非SAP系统间的连续而言,远程函数调用(Remote
Function
Call,以下简称RFC)是平种植标准的通信方式,它好实现对长距离系统遭到函数的调用。

抱有RFC类型都由此CPI-C或TCP/IP协议进行传输。
它们做了平栽Gateway通信。

本文是针对性所有RFC变体的讲述,它们持有不同之特色以及合的施用状况。

同步RFC:sRFC

及步RFC(Synchronous
RFC,sRFC)是最好基本的RFC形式。在sRFC调用中,调用者会等待远程被调用者的处理过程。

它的语法形式是:

CALL FUNCTION func DESTINATION dest. 

卓越的使状况包括:

  • 销售:为歧体系创造市订单(central sales)。
  • 销售:对于有查询,在供应商系统里实施一个于指定物料的可用性检查。
  • 物品管理:在其他一个系里对某物料订单执行来源判断。
  • CRM/SRM:对SAP后端平系统倡导某个物料的可用性检查。
  • CRM/SRM:在SRM组件中开创市订单时,在先生集中核算中也而的本中心展开预算检查。
  • 会计师:向会计集中核算体系要一个本中心清单。
  • BW:调用BW组件(商业信息仓库)来求一个专程之evaluation。

同步RFC:sRFC

与步RFC(Synchronous
RFC,sRFC)是极度中心的RFC形式。在sRFC调用中,调用者会等待远程被调用者的处理过程。

她的语法形式是:

CALL FUNCTION func DESTINATION dest. 

杰出的运状况包括:

  • 销售:为不同体系创造市订单(central sales)。
  • 销售:对于有查询,在供应商系统里行一个对于指定物料的可用性检查。
  • 品管理:在其余一个体系里对某个物料订单执行来源判断。
  • CRM/SRM:对SAP后端平系统倡导某个物料的可用性检查。
  • CRM/SRM:在SRM组件中开创市订单时,在先生集中核算中为卿的成本中心开展预算检查。
  • 会计:向会计集中核算体系要一个本金中心清单。
  • BW:调用BW组件(商业信息仓库)来呼吁一个特意之evaluation。

异步RFC:aRFC

异步RFC(Asynchronous
RFC,aRFC)类似与tRFC,用户在延续调用会话之前,不待拭目以待她的得。不过,aRFC和tRFC之间也有几乎碰不同之地方:

  • 当调用者开始一个aRFC的早晚,被调用的服务器必须得收请求。aRFC的参数不会见记录在数据库被,而是一直发送给对方服务器。
  • aRFC允许用户与远程系统进行交互式对话。
  • 调用程序可以从aRFC接收结果。

若得当当你待树立及一个远端系统的连、但是期望在调用RFC后非盼等待结果而是期待后续处理时利用aRFC。aRFC也足以发送给一样之网。在这种情况下,系统打开一个初的对话(窗口)。你可当调用对话与让调用会话间切换。使用下的说话开启一个aRFC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

 RECEIVE RESULTS FROM FUNCTION Remotefunction 用于一个子序外接受aRFC的调用结果。可以采取以下收取参数:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
阻拦连接于接到处理结果后关门。相关的远距离上下文(滚动区域)保持好引用的状态,直至调用者终止连接。

复多关于aRFC的音方可从以下地方获得:

  • aRFC的调用属性

  • 自打aRFC接收结果

  • 保持远程上下文

  • aRFC的并行处理

关于aRFC变体的叙说:

  • CALL FUNCTION – STARTING NEW
    TASK

  • RECEIVE

  • WAIT
    UNTIL

  • RFC示例

异步RFC:aRFC

异步RFC(Asynchronous
RFC,aRFC)类似与tRFC,用户在延续调用会话之前,不需拭目以待她的完结。不过,aRFC和tRFC之间也有几乎接触不同之地方:

  • 当调用者开始一个aRFC的时光,被调用的服务器必须得接到请求。aRFC的参数不会见记录在数据库被,而是一直发送给对方服务器。
  • aRFC允许用户与远程系统进行交互式对话。
  • 调用程序可以从aRFC接收结果。

你可以在当你要建立及一个远端系统的连日、但是要当调用RFC后无期等结果而是期待持续处理常使用aRFC。aRFC也足以发送给同样之系。在这种情形下,系统打开一个新的对话(窗口)。你可以调用对话以及为调用会话间切换。使用下的讲话开启一个aRFC:

CALL FUNCTION Remotefunction STARTING NEW TASK Taskname

DESTINATION ...

EXPORTING...

TABLES ...

EXCEPTIONS...

 RECEIVE RESULTS FROM FUNCTION Remotefunction 用于一个子次外经受aRFC的调用结果。可以采用以下收取参数:

  • IMPORTING

  • TABLES

  • EXCEPTIONS

附加项KEEPING
TASK
拦连接在收处理结果后关闭。相关的长距离上下文(滚动区域)保持得用的状态,直至调用者终止连接。

双重多关于aRFC的信可起以下地方得:

  • aRFC的调用属性

  • 打aRFC接收结果

  • 维持远程上下文

  • aRFC的并行处理

至于aRFC变体的讲述:

  • CALL FUNCTION – STARTING NEW
    TASK

  • RECEIVE

  • WAIT
    UNTIL

  • RFC示例

事务RFC:tRFC

在采用事务RFC( transactional
RFC,tRFC)的时节,被调用的函数模块于让调用系统受到恰恰运行一不好(Exactly Once)。

远端系统非欲在RFC客户端程序运行tRFC的时可用。tRFC组件将被调用的RFC函数和系数据存储在SAP系统的数据库里,包含一个唯一的事务标识符(transaction
identifier,TID)。

设若调用发送了,接收系统却是宕机状态,调用会保留在本土队列中一段时间。调用对话程序可以在非待远程调用成功/失败的情形下继续运行。如果收到系统于一段时间后还未可用,调用将给计划吗后台作业运行。

tRFC使用后缀IN BACKGROUND TASK.

即跟协同调用一样,参数
DESTINATION在远距离系统定义了次及下文。结果是,如果你针对一个destination重复地调用一个函数(或者一次性调用多单函数),则可以于同之前后文中访问为调用函数的全局数据。。

系统会在表ARFCSSTATE和表ARFCSDATA中著录远程连接要与她的尽参数值。你可利用事务SM58来查阅。当调用程序到达COMMIT
WORK
讲话时,远程调用会叫转化到让对方系统。

在两个COMMIT
WORK
中,所有的有着和一个destination的tRFC属于同一个逻辑单元(LUW)。

tRFC处理流图示:

图片 1

乃可在少数情况下行使使用tRFC,比如,对于需要以作业之异等级更新相关数据库表的错综复杂的处理过程。

tRFC会确保有的计划更新在先后到达COMMIT WORK语句子时于实践。

(注意:tRFC的定义着不可知来任何EXPORT参数,因为调用程序中一经生IMPORT参数,就会见造成语法错误。此外,你也未得以针对实行回调的次序进行异步调用)

系可用性:

一经远程系统非可用,SAP系统会将报表RSARFCSE计划呢后台作业,并将有关的政工ID作为变式,再展开拍卖。这个表格程序会重新地吃调用,直到其成功地连接对方系统了。

当为计划为后台作业时,RSARFCSE自动地盖一个时刻间隔运行(默认是各个15分钟运行一差,最多品尝30次)。你得经加强程序SABP0000和SABP0003来自定义该时空间隔。

通过SM59布置destination,选择一个destination并且选择
编辑->TRFC选项,在此间定义连接尝试次数上限和更连接尝试的时空间隔。

图片 2

倘以尝指定的次数后还是不足抵达相应的系统,系统会告一段落调用RSARFCSE,并勾画副状态CPICERR至表ARFCSDATA中。在其余一个点名的时光晚(默认是8天),在表ARFCSSTATE内的章也会见吃删。当然也得定制者时空,或者手动在SM59开行相应的工作条目。

tRFC的缺点:

  • tRFC独立地处理所有LUW。根据激活的tRFC数量,程序来或会见明白地下降调用系统和为调用系统的性能。
  • 此外,在动中定义之LUW的调用顺序是无可知取得保障的。因此无法保证事务会按照使用期望的顺序运行。tRFC唯一能管的只有:所有LUW都见面或早或晚地吃传。

可以于这边翻tRFC语词的讲述:

CALL FUNCTION IN BACKGROUND
TASK

事务RFC:tRFC

以运事务RFC( transactional
RFC,tRFC)的时段,被调用的函数模块于受调用系统受恰恰运行一浅(Exactly Once)。

远端系统非欲以RFC客户端程序运行tRFC的时光可用。tRFC组件将于调用的RFC函数和有关数据存储于SAP系统的数据库里,包含一个唯一的政工标识符(transaction
identifier,TID)。

假定调用发送了,接收系统却是宕机状态,调用会保留在地方队列中一段时间。调用对话程序可以在不等待远程调用成功/失败的状况下连续运行。如果接系统以一段时间后依然未可用,调用将为计划为后台作业运行。

tRFC使用后缀IN BACKGROUND TASK.

纵使与共调用一样,参数
DESTINATION在远距离系统定义了次及下文。结果是,如果您对一个destination重复地调用一个函数(或者一次性调用多独函数),则可以同等的前后文中访问为调用函数的全局数据。。

系统会于表ARFCSSTATE和表ARFCSDATA中著录远程连接要和它的普参数值。你得利用事务SM58来查阅。当调用程序到达COMMIT
WORK
语时,远程调用会为转正到于对方系统。

在两个COMMIT
WORK
里面,所有的持有与一个destination的tRFC属于同一个逻辑单元(LUW)。

tRFC处理流图示:

图片 3

卿可以当某些情况下用使用tRFC,比如,对于用以业务的例外等级更新相关数据库表的复杂的处理过程。

tRFC会确保所有的计划更新在次到达COMMIT WORK语句子时叫执行。

(注意:tRFC的定义着莫可知发任何EXPORT参数,因为调用程序中假如生IMPORT参数,就见面招致语法错误。此外,你为不得以本着施行回调的先后进行异步调用)

网可用性:

假定远程系统不可用,SAP系统会将报表RSARFCSE计划吧后台作业,并将有关的工作ID作为变式,再拓展拍卖。这个表程序会再度地叫调用,直到其成地连续对方系统了。

当于计划也后台作业时,RSARFCSE自动地盖一个日距离运行(默认是各个15分钟运行一潮,最多尝试30不好)。你可以经增强程序SABP0000和SABP0003来自定义该日间隔。

通过SM59配置destination,选择一个destination并且选择
编辑->TRFC选项,在此定义连接尝试次数上限和重复连接尝试的日子间隔。

图片 4

倘若当尝试指定的次数后还是不足抵达相应的系统,系统会停止调用RSARFCSE,并形容副状态CPICERR至表ARFCSDATA中。在旁一个点名的日后(默认是8天),在表ARFCSSTATE内之条规也会见被删。当然为堪定制者时空,或者手动在SM59开行相应的政工条目。

tRFC的缺点:

  • tRFC独立地拍卖所有LUW。根据激活的tRFC数量,程序来或会见显地回落调用系统以及给调用系统的性。
  • 另外,在动用中定义的LUW的调用顺序是匪能够收获保障的。因此无法确保事务会按照使用期望的逐一运行。tRFC唯一能确保的只有:所有LUW都见面或早或晚地给传。

可以这边翻tRFC语句的叙述:

CALL FUNCTION IN BACKGROUND
TASK

队列RFC:qRFC

班RFC(queued Remote Function
Call,qRFC)是tRFC的一个扩展。它同意而将大半个tRFC调用序列化为一个排。

qRFC调用会首先让函数模块TRFC_SET_QUEUE_NAME进行序列化处理,然后这些调用被一个tRFC进行实际的dispatch。

qRFC可以视作他往行(由调用系统序列化)处理,或者是内为行(由被调用系统序列化)。

* *

以下是三种植业务数据传的情景(为什么图片被之亲笔是德文?):

图片 5

场景1:tRFC

欠现象适用于数交互间单独发送的景况。系统1遭设有一个调用应用(client)使用tRFC连接系统2吃的给调用应用(r
server)。在该场景中,数据由tRFC传输,意味着发送到对象体系的函数模块调用会叫担保单独运行一不良。你不可以定义函数模块运行的相继及日。如果传输过程被发生了错,系统会计划一个后台作业,在15分钟后更发送函数模块调用。

场景2:带有外于行的qRFC

以该场景中,发送系统采取一个活蹦乱跳队列来序列化被发送的数额。这意味发送系统的活跃队列包含着是依靠关系的函数模块调用。当数码发送时,会维持确定的依次,并且调用会以正好同一糟都有序的计(exactly once in order)发送给目标体系。

顾:目标体系处理时不需变更qRFC的一一,但是,它必须拉开tRFC功能。

气象3:带有内为行的qRFC(以及活跃队列)

当此情景下,不仅发送系统(client)有客于行,目标体系也发出内为行。如果qRFC存在有外于行,这也表示她当殡葬系统上自然有外于行。内为行在一段时间里只能处理系统资源允许处理的函数模块调用数量。它可以防范服务器被一个客户端阻塞。只有当劳务体系独立在一个舅于行的场景是不容许存在的,因为急需以客户端系统存在外为行,来安顺序并阻碍单独的采用阻塞客户端系统的任何工作进程。

复多系消息可见:

  • Queued Remote Function Call
    (qRFC)

队列RFC:qRFC

列RFC(queued Remote Function
Call,qRFC)是tRFC的一个扩展。它同意而用大半只tRFC调用序列化为一个行。

qRFC调用会首先给函数模块TRFC_SET_QUEUE_NAME进行序列化处理,然后这些调用被一个tRFC进行实际的dispatch。

qRFC可以当他于行(由调用系统序列化)处理,或者是内于行(由被调用系统序列化)。

* *

以下是三种业务数据传的观(为什么图片中之契是德文?):

图片 6

场景1:tRFC

该场面适用于数交互间单独发送的动静。系统1饱受是一个调用应用(client)使用tRFC连接系统2备受之于调用应用(r
server)。在该场景中,数据由tRFC传输,意味着发送到目标体系的函数模块调用会被保险单独运行一浅。你无得以定义函数模块运行的顺序与日。如果传输过程遭到出了不当,系统会计划一个后台作业,在15分钟后再发送函数模块调用。

场景2:带有外为行的qRFC

每当该场景中,发送系统使用一个活泼队列来序列化被发送的数码。这表示发送系统的活泼队列包含在在依靠关系之函数模块调用。当数码发送时,会保持确定的逐条,并且调用会以正好同一差还有序的章程(exactly once in order)发送给目标体系。

瞩目:目标体系处理常莫待改qRFC的逐一,但是,它必须开tRFC功能。

此情此景3:带有内往行的qRFC(以及活跃队列)

当斯现象下,不仅发送系统(client)有他往行,目标体系为有内于行。如果qRFC存在有外往行,这吗象征它在殡葬系统上必将在外往行。内于行在一段时间里只能处理系统资源允许处理的函数模块调用数量。它可防止服务器被一个客户端阻塞。只有在劳动体系独立在一个外为行的状况是不可能是的,因为急需以客户端系统存在外望行,来设置顺序并阻碍单独的施用阻塞客户端系统的一切办事历程。

更多系消息可见:

  • Queued Remote Function Call
    (qRFC)

后台RFC:bgRFC

后台RFC:bgRFC

使用

bgRFC(Background Remote Function
Call)允许被调用程序稍晚一些接收数据,而无是联名接收。接收数据的下,需要保证数据只现出一样涂鸦都无序(
transactional) 、或者仅仅出现同等不成都有序(queued)。

使用bgRFC进行异步调用,会来如下优势:

  • 在跟一个SAP系统内(同一个系统ID,同一个client):解耦,同时提供了连行化能力。负载会分布在该体系的可用之应用服务器上。这个bgRFC场景被当做一个舅于程序。

  • 以片个远程SAP系统之中:解耦,并且通过可以实现以或作业场景的物理细分。异步调用的结果是,调用者和为调用者的应用服务器的重要性特性差异足以获得平衡。记录工作于调用系统遭到成功。这个场景是一个活泼程序。

  • 少只次成为他-内程序:该方式得以获全套优化增选之优势。不过,如果你选择了这么做,数据会于记录点滴糟,一糟是调用者(外向处理)、一赖是为调用应用(
    内向程序的新鲜类别)。这致使数据库、应用服务器会发出额外的承受。

bgRFC使用队列组织不同的调用。当一个调用同时被放置在多独队的时,系统会为这些队列创建依赖。这带来了一个同步点(synchronization
point),类似于锁。

倘若一个调用处于依赖队列中,那么当且才当它们座落依赖队列的无限上层时,它才会于处理。

对此跟一个destination,不得以以bgRFC和tRFC、qRFC结合起来以。不过,对于不同之destination,你可以定义你想以的简报类。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

使用

bgRFC(Background Remote Function
Call)允许让调用程序稍晚一些接收数据,而无是一同接收。接收数据的早晚,需要保证数据只现出同样糟糕还无序(
transactional) 、或者就现出一样蹩脚都有序(queued)。

下bgRFC进行异步调用,会有如下优势:

  • 每当与一个SAP系统内(同一个体系ID,同一个client):解耦,同时提供了连行化能力。负载会分布在拖欠体系的可用之应用服务器上。这个bgRFC场景被看作一个舅于程序。

  • 当点滴独远程SAP系统间:解耦,并且经过可兑现以或作业场景的大体细分。异步调用的结果是,调用者和叫调用者的应用服务器的根本特性差异足以得到平衡。记录工作以调用系统受到成就。这个现象是一个活泼程序。

  • 零星单次成呢外-内程序:该方法可以取周优化增选之优势。不过,如果您选择了这样做,数据会吃记录点滴浅,一浅是调用者(外向处理)、一破是吃调用应用(
    内向程序的非常类别)。这导致数据库、应用服务器会发出额外的顶。

bgRFC使用队列组织不同的调用。当一个调用同时让放置于差不多只序列的时刻,系统会为这些队列创建依赖。这带来了一个同步点(synchronization
point),类似于锁。

假定一个调用处于依赖队列中,那么当且单独当它们放在依赖队列的尽上层时,它才见面吃拍卖。

于与一个destination,不得以将bgRFC和tRFC、qRFC结合起来用。不过,对于不同之destination,你可定义你想以的简报类。

语法:

 CALL FUNCTION 'function_name'

IN BACKGROUND UNIT unit

          EXPORTING ... 

 

集成

从今qRFC转换为bgRFC的应用程序,必须支持创造qRFC中的队列与bgRFC中的序列中的即链接的动迁方案。通过这样的方案,可以确保是的行顺序,即便是当由qRFC变为bgRFC的天天。

专注:从bgRFC改回qRFC是不容许的。

在SAP NetWeaver Release
7.11与重新胜似的本及,bgRFC也得以跟basXML(二进制ABAP序列化XML)通信协议一起行使。

集成

起qRFC转换为bgRFC的应用程序,必须支持创建qRFC中的队与bgRFC中之阵中的旋链接的搬迁方案。通过这样的方案,可以保证对的序列顺序,即便是在自qRFC变为bgRFC的天天。

在意:从bgRFC改回qRFC是不容许的。

每当SAP NetWeaver Release
7.11与再强的版本及,bgRFC也得同basXML(二进制ABAP序列化XML)通信协议一起以。

架构

俗的qRFC模型只有当数被RFC调度程序处理的时才探测各个独立单元中的赖关系。对于每个destination,外向调度程序还见面敞开一个调度程序来处理者destination的多少。

及的相对的是,bgRFC的依赖性关系在数码存储的时光便控制了。通过这样做,RFC调度程序可以一次性找到有的用吃拍卖的单元,并且通过最小之大力(minimum
effort)就可找到其中间的凭关系。在囤数据的时节用提交的额外努力,则好当非常充分程度及由数据库设计受到的强效率算法和优化补偿。

每个客户端定义一定数额之活泼计划,并且并行处理队列负载,虽然目标体系的负载会在一个比较短的光阴距离后吃确定,但是也因此会愈加精确。

单元与排的删除程序

同习俗的程序不同,如果发其它单元或队列被剔除,依赖还会维持。因为单元会叫先行从上记,并且于就下只是给调度程序删除。

图片 7

假如图,在剔除了Unit4之后,Unit6只能够当Unit3之后运行,因为Unit4只有在调度程序处理过Unit3之后才见面被删除。如果您去掉queue2,那么会生下面的景:

图片 8

Unit6会面以Unit2从此运行,所有选定的unit都见面于调度程序删除。

在意:删除队列或者单元总是有风险的。在咱们的例子里,它见面造成Unit6遇到错误,或者导致目标体系的数据库不一致,因为它们的前提Unit4因为给剔除而无运行。

Gateway:Gateway是其他一个密的特性瓶颈,在bgRFC中,它呢获了优化。bgRFC中的新的概念是碰头调剂在同一光应用服务器上还要运转的活泼调度程序的太老数目,也会见调剂全部RFC调度程序可用的极端大连接数。这个限制会维护本地的Gateway使的不至于过载。

每个发送系统的互的外向调度程序数量和它的无限大连接数也是只是配置的,因此对destination的Gateway也存过载保护。

性的震慑:新bgRFC兑现之优化在强负荷、多靠的情下特别醒目。首次等运行的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的RFC数据处理成可能(视系统兼容性而定)。

函数队排的事务特性使得,在处理单独的单元时,bgRFC不太爱获得斐然的性提升,但是在使用还多或者重新快之硬件的时段,则足以判提升吞吐量。限制因素会是数据库的属性和这些单元的处理速度。

此外,新的API也是优化的均等有。一些剩下的函数被移除,某些老的API也不再用。这让相关的劳作尤其平缓和有效率,减少支持团队以及开发集团的工作量。

再多信息:

又多关于bgRFC的消息, 请看:

  • bgRFC:
    配置

  • bgRFC:
    管理

  • bgRFC:
    编程

架构

人情的qRFC模型只有以数据被RFC调度程序处理的时才探测各个独立单元内的倚重关系。对于每个destination,外向调度程序还见面张开一个调度程序来处理者destination的数目。

和之相对的是,bgRFC的依关系在数量存储的时光即便决定了。通过这样做,RFC调度程序可以一次性找到有的待吃拍卖的单元,并且经过极端小之拼命(minimum
effort)就可以找到它们之间的倚重关系。在囤数据的时刻要交给的额外努力,则可以怪要命程度及是因为数据库设计受到的胜效率算法和优化补偿。

每个客户端定义一定数额之活泼计划,并且并行处理队列负载,虽然目标体系的负载会在一个比较短的时间距离后受确定,但是也因此会更规范。

单元与班的删除程序

跟人情的次不同,如果起任何单元或队列被剔除,依赖还会维持。因为单元会于事先打上记,并且以即时事后只是吃调度程序删除。

图片 9

如若图,在剔除了Unit4之后,Unit6只会以Unit3之后运行,因为Unit4只有以调度程序处理过Unit3之后才会于删除。如果您去掉queue2,那么会起下面的状:

图片 10

Unit6会在Unit2以后运行,所有选定的unit都见面叫调度程序删除。

留神:删除队列或者单元总是有着高风险的。在咱们的事例里,它见面造成Unit6遇到错误,或者造成目标体系的数据库不相同,因为它的前提Unit4因为吃去除而尚未运行。

Gateway:Gateway是另外一个暧昧的习性瓶颈,在bgRFC中,它吧获得了优化。bgRFC中之初的概念是会见调剂在相同尊应用服务器上还要运转的活跃调度程序的卓绝酷数目,也会见调剂全部RFC调度程序可用之无比大连接数。这个范围会维护地方的Gateway使的不至于过载。

每个发送系统的彼此的外向调度程序数量和它的最大连接数也是不过配置的,因此于destination的Gateway也有过载保护。

性的影响:新bgRFC兑现的优化在胜负荷、多靠之情事下特别引人注目。首软运行的时候,线性对数可伸缩性(a
linear logarithmical
scalability)的RFC数据处理成可能(视系统兼容性而定)。

函数队排的事体特性使得,在拍卖单独的单元时,bgRFC不极端容易获得斐然的性能提升,但是在以还多或另行快之硬件的时候,则好明显提升吞吐量。限制因素会是数据库的特性及这些单元的处理速度。

另外,新的API也是优化的同样部分。一些剩余的函数被移除,某些老的API也不再采用。这让相关的行事进一步平整和有效率,减少支持组织和开团队的工作量。

复多信息:

再度多关于bgRFC的音信, 请看:

  • bgRFC:
    配置

  • bgRFC:
    管理

  • bgRFC:
    编程

地方数据列:LDQ

本土数据列(Local Data Queue
)是如出一辙种专门之RFC通信。在这种利用情况下,系统不见面积极发送数据。相反,根据拉取规则,系统会将多少存储在当地,直到被标系统调用(比如移动装备)。

LDQ可以取代原先由qRFC在无发送场景下提供的职能(qRFC No
Send)。相比之下它提供了重复有效率的数据模型。

重新多内容:

Local Data Queue
(LDQ)

当地数据列:LDQ

地面数据列(Local Data Queue
)是如出一辙种植特别之RFC通信。在这种应用情况下,系统未见面再接再厉发送数据。相反,根据拉取规则,系统会拿数量存储在当地,直到被外表系统调用(比如移动装备)。

LDQ可以替代原先是因为qRFC在匪发送场景下提供的功用(qRFC No
Send)。相比之下它提供了再有效率的数据模型。

双重多内容:

Local Data Queue
(LDQ)

名词对照

scheduler:调度程序

outbound  queue:外望行

inbound queue:内为行

 

连锁文章:ABAP
RFC远程调用

 

 

名词对照

scheduler:调度程序

outbound  queue:外望行

inbound queue:内为行

 

连带文章:ABAP
RFC远程调用

 

 

相关文章