2

您好,我在 Eiffel 开发了一大块软件。可以在 C++ 中使用此代码,但它会加载 Eiffel 运行时,并且当由 C++ 中的多个线程访问时,我不能相信 Eiffel 代码和运行时是线程安全的

我需要将此本机代码转换为服务,但我想在高负载的情况下扩展到多台服务器。我不想将扩展方面委托给 Eiffel 代码和运行时,因此我正在研究使用现有的可扩展性选项包装此代码。

Apache Web 服务器下是否有任何东西可以让我提供对这段代码的线程安全访问?埃菲尔代码实例池怎么样?我的想法是这样的:

[大量客户端请求通过网络] ---> [一些可扩展的框架] --> [一个或多个创建 Eiffel 代码的昂贵实例]

我希望该框架能够让我包装多个昂贵代码块的实例,并且我希望通过添加更多机器来像网络农场一样扩展它。

最好的祝福

塞雷夫

4

1 回答 1

2

如果您不依赖于 Apache,但任何其他框架就足够了,我建议您查看ZeroMQ消息传递框架。它的ZMQ_PUSH/ZMQ_PULL带有运输的模型zmq_tcp似乎可以满足您的需求。

您的设置类似于:一个“主”进程为外部请求提供服务(使用任何语言/平台,可能是 Apache mod)和一个运行时可配置数量的 C++ 工作进程,这些进程调用 Eiffel 代码并将结果推回。

于 2011-03-01T11:47:11.657 回答