如何从胖客户端或瘦客户端部署 Ignite 服务?

How to deploy Ignite Service from Thick client or Thin client?

提问人:Justin Mathew 提问时间:7/11/2022 更新时间:7/11/2022 访问量:293

问:

首先,是否有从胖客户端或瘦客户端部署 Ignite 服务(没有意义)?我尝试在运行时本地部署服务,并且一切正常,但真正的服务器是从另一台机器上的批处理文件启动的。我们在 C# 中进行了许多开发,包括开发服务类,因此我不确定如何将 C# 服务从另一台机器部署到服务器。我已经通过配置文件部署了服务,但不确定如何配置 C# 程序集?任何帮助将不胜感激。

点燃 gridgain

评论


答:

1赞 Pavel Tupitsyn 7/11/2022 #1

是的,您可以从胖客户端部署服务:

IIgnite ignite = Ignition.Start(...);
IServices services = ignite.GetServices();
services.Deploy("my-service", new MyService());

要求:

  • 服务器必须是 .NET 节点,以 Apache.Ignite.exe 启动,或者从您自己的 .NET 二进制文件启动。Ignition.Start()
  • 包含该类的程序集必须加载到所有服务器节点上(使用命令行参数、反射等)。MyService--assembly

可以使用现有服务作为代理,间接地从瘦客户端部署服务。

评论

0赞 Justin Mathew 7/12/2022
谢谢。根据要求,这看起来是不可能的,因为我们的 ignite 服务器是从 C++ 构建并通过批处理文件运行的。如果您对这种情况有任何建议,请告诉我。
0赞 Justin Mathew 7/12/2022
正如您提到的,服务器必须是 .Net 节点,在这种情况下,我可以在客户端模式(胖客户端)下启动节点并将服务部署到同一节点吗?
0赞 Pavel Tupitsyn 7/13/2022
@JustinMathew谁来称呼这项服务?其他客户?您能否更详细地描述用例 - 为什么服务器是 C++ 等。
0赞 Justin Mathew 7/13/2022
– 这是完整的细节。我在一家投资银行的量化团队工作。量化库完全使用 C++,我们将使用 C++ 瘦客户端将数据从 C++ 发布到 Ignite 缓存中。但是,我们还有其他 C# 应用程序,它们读取 UI 定价工具和数据视图工具的数据。因此,在高层次上,数据发布部分是 C++,订阅(或读取)部分是 C#。在此设置中,我们想知道是否可以部署 C# 服务?非常感谢您到目前为止的帮助,并让我们知道您的建议。
0赞 Pavel Tupitsyn 7/13/2022
@JustinMathew,在此方案中,可以部署 C# 服务。唯一的要求是使用如上所述的 .NET 服务器节点。这不会以任何方式影响 C++ 部分。