java - 最小化 RESTful Java 生态系统中内部子系统之间依赖关系的策略

标签 java web-services rest

我们系统的架构是这样的,有一组功能分割的 RESTful 子系统。其中许多子系统不仅要响应浏览器的请求,还要响应其他子系统。子系统间的流量相对较大并且需要扩展,因此决定使用序列化 Java bean 作为此类通信的表示(由于序列化/反序列化的速度)。这又在具有客户端/服务器关系的子系统之间引入了二元依赖性。更改通过 RESTful API 公开的 Java bean 的内部结构可能会对客户端子系统产生版本兼容性后果。当然,改变任何内容类型的表示结构都会产生兼容性问题,但这显然更糟糕。

由于一个 API 可以为许多客户端提供服务,因此协调每组依赖子系统的版本是一种没有吸引力的选择。

这一定是一个常见问题,我想知道其他人如何解决/缓解?

最佳答案

一种选择可能是使用诸如protocol buffers之类的东西在子系统之间进行通信。 。据我了解,它们是为您所描述的那种事情而设计的,特别是在进行兼容版本更改方面。

关于java - 最小化 RESTful Java 生态系统中内部子系统之间依赖关系的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6833624/

相关文章:

java - 使用 Kotlin 开发时的 Android getGlobalApplicationContext()

java - 您可以分配唯一的线程 ID 并从外部程序访问线程吗?

java - 将多个 Curator 连接到单个 Zookeeper 实例?

javascript - 在 JavaScript 中调用 WebService

java - 尝试使用 REST 从 Java 在 MS Project Server 2013 中创建项目

rest - 如何让客户端接受服务器的SSL证书

java - 执行 kafka-console-consumer.sh 时,zookeeper 不是可识别的选项

web-services - 如何发布可通过浏览器访问的 Web 服务生成的数据文件

java - 通过Web服务从服务器向客户端发送pdf文件

c# - 将 odata $expand asp.net core 与 AutoMapper 一起使用时不返回扩展集合