我有两个不同的模块,一个是忠诚,另一个是钱包。(两者都是用java编写的)
忠诚应用程序是托管在一个AWS弹性豆茎和我有一个API网关在上面。
现在我要建立钱包,它将需要使用一些功能的忠诚模块。我可以把它置于忠诚之下,但这是没有意义的,因为他们都有不同的目的。
所以我想我会把钱包放在另一个AWS弹性豆杆上,上面有AWS网关,但是我想知道,如果皮夹想要调用忠诚来使用它的任何功能,它应该怎么做呢?我不确定在忠诚的基础上调用API网关来访问其功能是否是个好主意。还是一种正确的方式?
发布于 2017-12-22 04:04:44
它是否是一种“正确”的方式取决于您的架构和设计偏好。您可以通过API网关从另一个豆秆应用程序调用,特别是如果您正在调用公共API方法,而一个豆茎应用程序可以直接调用另一个应用程序(前提是您的子网和安全组被设置为允许这样做( VPC设置的默认安全组确实允许这样做)。
如果您打算在您的loyalty应用程序中调用私有API方法,那么直接调用“loyalty`”应用程序是有意义的,因为即使假设您的API网关方法上有正确的身份验证控件,它们也更好地不向公众公开。
更广泛地说,如果loyalty和wallet应用程序应该被认为是同一个服务的一部分,那么我会将这两个应用程序放在同一个API网关实例下,并允许wallet直接调用loyalty而无需经过loyalty网关。
发布于 2017-12-22 04:14:24
我不擅长AWS,但据我理解,您的问题听起来像是在混合部署结构和源代码结构。我认为您可以为两者编写共享源代码,并部署dll (而不是AWS中的dll?)分开。我认为调用API网关是不好的。
https://stackoverflow.com/questions/47935575
复制相似问题