我有小型 Java (Java EE) 微服务,可以进行一些计算。该微服务与其他应用程序运行在相同的应用程序服务器上,也是用 Java EE 编写的。第一个问题——这些应用程序应该通过 REST API 还是其他方式相互通信?第二个问题——如果是这样,有没有办法通过不序列化/反序列化传输对象来节省一些时间?我知道不同服务器(语言)上的两个应用程序之间的通信需要序列化/反序列化,但是提到的情况呢?
最佳答案
should these apps communicate each other by REST API or different way?
微服务应该始终通过网络进行通信。如果他们有 REST API,则使用它。
if so, is there a way to save some time, by not serializing/ deserializing transfer objects?
如果他们通过网络通信,序列化是必须的。无论如何,序列化有助于解耦。微服务应该共享数据而不是模式/类。序列化必须通过丢失模式来完成,即您可以使用 JSON。如果您共享架构(类),则会破坏微服务的封装。您将无法使用其他实现更改微服务实现(例如,使用不同的技术堆栈,PHP
和 Nginx
)。
关于java - 同一应用服务器内可用的 REST API Java 微服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43252404/