【发布时间】:2012-05-23 20:55:38
【问题描述】:
我在服务器/客户端设计和 不知道是否有人有任何建议。
我有一个抽象数据存储的 Thrift 服务器。这个想法是 将有许多客户基本上是 使用服务器提供的接口的进程外插件 接收、操作底层数据存储并提供 他们自己的数据。 将有许多其他客户端仅访问数据 由服务器及其“插件”提供。
问题案例是当这些“插件”之一希望提供其 拥有数据并提供该数据的接口。 服务器应该不知道插件数据或接口。
理想情况下,我希望所有客户都能通过 主要的节俭服务器,因此它充当插件的外观。如果一个客户 请求插件提供的一些数据,主服务器可以 委托给插件以提供该数据。我想这意味着 让每个插件都是一个节俭的客户端和服务器。我已经写了 python中的服务器,因此可能可以处理不是的节俭调用 尚未定义,但是否可以将这些呼叫转发给另一个 thrift server IE 充当代理?
另一种方法是让插件仅作为客户端并推送数据 到服务器。但是这些消息的格式 对服务器来说是未知的,并且必须足够通用 适应不同类型的数据。我不确定如何提供 此数据对其他客户端的有用接口。
据我所知,只有插件知道如何存储和操作 它拥有的数据,所以这个想法可能行不通。
感谢您的任何建议。欢迎提出任何建议。
【问题讨论】:
-
澄清这里使用的命名法:插件是托管在 Thrift 服务器中的 Thrift 服务(带有相关的 python 代码生成)吗? 客户端是否使用从特定插件生成的代码,但实际上是 Thrift 服务器的客户端?
标签: python design-patterns thrift