我正在寻找一种最简单的解决方案来使用 Spring 3 框架创建客户端-服务器网络架构。该架构将有许多客户端和多个服务器。每个客户端都可以连接到每个服务器。每个客户端都可以定义一组服务,这些服务必须在运行时由服务器生成。
通讯协议:
客户向 5 台服务器中的一台打招呼。
服务器收集有关存储数据的本地元数据并将其发送给客户端
客户端选择其中一些信息并将元数据子集发送到服务器,以决定以后需要哪些数据。
服务器根据客户端选择的元数据选择动态生成服务,这些服务将提供给客户端,向客户端提供请求的(步骤 3)配置(例如,以序列化 JSON 格式)指向的数据
客户端获取有关生成的服务的信息并将其用于将来对这些服务的调用。
最大的问题是客户端在收到答案之前对要服务的服务器资源一无所知,并且服务器在收到客户端的请求后没有任何服务。
我考虑过春季3:
- HTTP 调用程序
- 管理系统
- Netty(与弹簧连接)
但就我上面的尝试而言,很难提供动态服务生成要求或代码量(Netty)很大。
我拒绝了 SOAP,因为它的性质很重。另一方面,据我所知,REST并没有带来任何好处。它只是一种提供数据的方式,它需要某种 servlet 容器,例如 Tomcat,因为它使用 HTTP。@Timmmm对 REST 时尚的伟大而简单的回答
我追求的是:
- 尽可能简单
- 基于客户选择的动态服务生成
- 保持服务器轻量级,即没有额外的服务器实例(消除 tomcat 会很好;但 ts 并不重要)
- 基于弹簧
你会推荐什么技术?
由于在运行时需要基于配置的服务生成,因此很难完成这项任务。
我不想基于属性文件,必须根据客户端请求动态生成服务。
提前感谢您的答案和提示。