我在服务器/客户端设计方面遇到了一点麻烦,想知道是否有人有任何建议。
我有一个抽象数据存储的 Thrift 服务器。这个想法是,将有许多客户端本质上是进程外插件,它们使用服务器提供的接口来接收、操作底层数据存储并提供自己的数据。将有许多其他客户端简单地访问服务器及其“插件”提供的数据。
问题案例是当这些“插件”之一希望提供自己的数据并提供该数据的接口时。服务器不应该知道插件数据或接口。
理想情况下,我希望所有客户端都通过主 thrift 服务器访问功能,因此它充当插件的外观。如果客户端请求插件提供的某些数据,则主服务器可以委托插件提供该数据。我想这意味着每个插件都是一个节俭的客户端和服务器。我已经用 python 编写了服务器,因此可能可以处理尚未定义的节俭调用,但是否可以将这些调用转发到另一个节俭服务器 IE 充当代理?
另一种方法是让插件仅作为客户端并将数据推送到服务器。但是这些消息的格式对于服务器来说是未知的,并且必须足够通用以适应不同类型的数据。我不确定如何为其他客户提供一个有用的接口来处理这些数据。
据我所知,只有插件知道如何存储和操作它拥有的数据,所以这个想法可能行不通。
感谢您的任何建议。欢迎任何建议。