最大限度地减少Salesforce Streaming API和Heroku Connect之间的延迟

r1zk6ea1  于 2022-11-13  发布在  其他
关注(0)|答案(3)|浏览(152)

我目前有一个应用程序(node.js)在Heroku中运行,使用Heroku Connect连接到Salesforce来读/写数据。
Heroku Connect实际上拥有Salesforce中选定数据的副本,这些数据通过Streaming API拉入。
我的应用程序会立即写入HC PostgreSQL数据库,后者会立即写入Salesforce。
这将添加一个唯一的参考字段,该字段也会在Salesforce中即时生成,但此信息反馈到Heroku Connect时会有延迟。
我不确定延迟是否是因为流API或Heroku Connect,但我不知道如何最小化/消除这种延迟,以便Heroku Connect立即更新新生成的字段。
请看下图,图中显示了什么是即时延迟,以及延迟发生的位置:

zed5wv10

zed5wv101#

Salesforce中的出站流是异步的...这意味着延迟是正常的。请阅读“Integration Patterns and Practices“了解更多详细信息。我不确定他们描述的策略中哪一个适合您的需求,但至少您有某种参考。希望它能有所帮助。

uwopmtnx

uwopmtnx2#

我认为,这种延迟的原因可能是套接字和重新连接超时(阅读更多关于Streaming API超时here的信息)。如果您的Salesforce解决方案端不经常生成事件,客户端可能会失去连接,每次都需要重新连接,您会发现这可能是浪费时间。可能的情况是,这种情况的解决方案是在Salesforce端生成假事件(无真实的数据)用于保持连接活动,但您需要关心达到另一Streaming API限制(例如,24小时内的事件数量)。有关限制的详细信息,请参阅Salesforce documentation
这只是一个想法,您需要进行一些基准测试并收集一些统计数据,以便更好地了解Salesforce和Heroku Connect在您的案例中是如何交互的。

aij0ehis

aij0ehis3#

在Heroku Connect中,您可以在任何Map上启用加速轮询,并将轮询时间最小化为2分钟。无法将轮询设置为即时。实际上,上图在此意义上是不准确的:从Heroku Connect到Salesforce的写入从来都不是即时的。

相关问题