java - 同一应用服务器内可用的 REST API Java 微服务

标签 java rest microservices

我有小型 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。如果您共享架构(类),则会破坏微服务的封装。您将无法使用其他实现更改微服务实现(例如,使用不同的技术堆栈,PHPNginx)。

关于java - 同一应用服务器内可用的 REST API Java 微服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43252404/

相关文章:

java - 使用 Spring Boot 在微服务中进行 JWT 授权

kubernetes - 如何捕获每秒查询或微服务调用延迟? (没有 istio 或其他基于 envoy 的工具)

java - 无法添加 protobuf 自动生成类的一系列实例

java - 如何防止 Spring Rest API 异常处理程序返回 HTTP 状态 400 的堆栈跟踪

Java/Android - 如何打印出完整的堆栈跟踪?

java - 如何在 angularjs 中使用 $resource 来使用 Spring Restful Web 服务

asp.net-mvc - StackExchange API 如何实现通用包装器对象?

restful-architecture - 在线商店和微服务

java - 如何在不改变高度的情况下改变矩形的宽度

java - 检测文件内某个位置的更改