我们为大银行、FMI、交易所等生产企业DLT(区块链(应用程序。
在分发过程中,应用程序的每个实例都会为每个客户安装在prem上,因为他们必须仍然是其私钥的主权所有者。
我们希望与银行业广泛使用的SaaS应用程序集成。我们打算通过编写";连接器";它也将在prem上运行,并能够在SaaS系统和我们的prem系统之间通信和整理数据。
事件发生在SaaS应用程序中,然后必须在我们的on-prem应用程序中触发一些事情。
SaaS应用程序有一个RESTful API和webhook。所以在我眼里有两种选择:
- 轮询RESTful API
- Con:这是低效的,因为大多数流量将只是";有新的活动吗"quot;否">
- Con:SaaS系统上发生的事件和我们的预处理应用程序被触发之间会有一些延迟
- Pro:这很稳定。如果连接器(进行轮询的东西(坏了,它将拾取任何丢失的";事件";当SaaS系统返回并处理它们时
- Pro:没有要求允许互联网流量进入防火墙——通信都是出站的
- 使用网络挂钩
- Pro:非常高效
- Pro:近乎实时地获取事件
- Con:如果连接器坏了,我们错过了一个webhook,会发生什么?SaaS系统是否需要重试机制?我们需要确保只处理一次消息。(这一点很重要,因为我们执行的操作会移动大量资金,因此双重处理会非常糟糕!(
- 缺点:银行需要在防火墙上打一个洞,让SaaS应用程序能够与连接器通信——银行的安全团队不会喜欢这个IMO
是否有一种通用的、适合企业使用的、安全策略友好的方法来处理此问题?
我认为在这里,您可以将RESTful API与API管理的企业就绪解决方案一起使用。我建议您探索APIGEE,看看它是否适合您的用例。
APIGEE是一个用于开发和管理API代理的平台。API代理是希望使用后端服务的开发人员的接口。他们不是直接使用这些服务,而是访问您创建的Edge API代理。你可以把它放在云上,也可以放在本地。
在这里,您将解决两个主要问题,即事件管理和延迟。