我目前在一家规模相对较小的票务公司工作,有许多客户和客户。
我们在GraphQL中开发了一个'open‘(任何人都可以使用)无服务器的Node.JS API,该API是由细粒度的服务组成的,这些服务实现了自己的安全性,通过API网关使用GraphQL公开。我们自己使用这个API来为我们的反应性web应用程序提供功能。
为了补充API,我们还提供webhooks,使开发人员能够订阅系统中的关键事件(例如,有人购买门票、创建事件等)。促进与其他系统的实时集成。
我们现在希望与一种流行的电子邮件营销产品集成,在该产品中,我们的客户数据将自动流入多个客户帐户的邮件列表,并必须决定是否最好开发电子邮件营销集成逻辑,将其作为一种独立的解决方案,仅通过我们的API和webhooks、OR作为服务和队列集成到我们的API中,但只在必要时公开“HTTP端点”,以便利从电子邮件营销产品返回到我们系统的数据。
我认为最好的实践可能是,所有的东西都应该通过API/web挂钩,但是配置和使用我们自己的we钩子感觉很奇怪/笨重,特别是当我们在后端设置了SNS Topics和SQS队列来管理这样的问题时。另一方面,如果我们将其开发到后端,则可能会隐藏其他开发人员将来可能希望使用的宝贵功能。
集成应该与我们现有的服务和队列一起开发到我们的后端,还是作为一个独立的产品与我们的API和web挂钩进行通信?
当然,我也想知道为什么,我真的很想知道是否有人开发了使用您自己的webhooks的集成,或者webhooks通常是保留给客户使用的。
预先感谢您所提供的任何指导:)
发布于 2018-09-12 00:38:31
如果可能的话,我通常支持在公共API之上开发集成的方法。
这有几个原因:
问得好,我很想听别人接近我!
https://softwareengineering.stackexchange.com/questions/378273
复制相似问题