我有一些在Django或ROR应用程序中嵌入了UI的应用程序。这些应用程序没有api,而是一个整体的Web应用程序,它在单个模块中具有UI和后端。
我看过的所有示例都涉及将api网关用于http api。它会增加任何价值以将此类Django或ROR应用放置在api网关后面吗?
我正在使用Kong作为api网关。不确定Kong是否可以使用此类应用程序。 Kong中的文档仅讨论配置纯api的服务。
如果我不将这些应用程序放在api网关后面,那么我最终会创建一种混合方法,其中某些应用程序在api网关后面,而有些不在。我绝对想避免这种情况。这会使整个配置变得复杂。
任何建议都会有所帮助。
答案 0 :(得分:0)
网关后面的单片应用程序没有什么问题,这似乎是推荐的方法。
您将受益于Kong,因为它提供了不同的插件,例如流量控制或IP限制。您也可以将配置放在一个地方。因此,没有理由不使用网关。
我不知道您的应用程序现在如何公开,但是当您将它们放置在kong(或代理)后面时,您可能需要查看的一件事是客户的请求IP:https://discuss.konghq.com/t/how-to-forward-clients-request-ip/384
答案 1 :(得分:-1)
使UI与后端技术和实现隔离开来,使我们可以在需要时转向其他UI技术。
由于将后端开发为service / api是有意义的。将来,如果您想从Django迁移到Angular并迁移到Android应用,如果后端是以services / apis形式开发的,则无需对后端进行任何更改,我们就可以使用任何技术。
一旦API出现了,最好将所有API放在API网关后面并在API网关中实现所有常用功能。像身份验证,授权,日志记录,计量,监视等。
为此,Kong扮演了该层的角色,并提供了现成的大多数必需功能。