3

我之前在一个java项目中使用了ignite,但从未接触过基础设施/架构设置......

现在我有一个 .net 项目,我认为非常需要分布式内存缓存,我正在转向 apacheignite-net。.net 项目是一组后端服务(wcf 和 amqp)。这些服务可以水平扩展:我可以使用这些服务添加额外的服务器以获得更高的吞吐量。

但我需要关于 ignite 部署/基础设施以及 .net 的建议/指针: - 我无法添加额外的/专用服务器进行缓存:所以我正在考虑将我的 .net 服务和 apacheignite-net 放在同一个盒子上。
- 我需要缓存的对象(现在每个请求都从数据库中寻找它们)不是那么大,但我不需要缓存所有对象:所以是通读/驱逐策略的组合?

我的问题是:将用于 ignite 的 JVM 和这些 .net 服务放在同一个盒子上是正常/安全的事情吗?我阅读了性能提示,但仍然寻求更聪明/有经验的人的意见。我总是可以为这些服务器添加更多内存,但内核不多:这些 .net 服务不会消耗所有提供的 cpu,它们由 RDBMS 支持,如果需要,我可以要求更多的内存。

4

1 回答 1

1

我建议在每个服务实例中嵌入一个 Ignite 节点并创建一个REPLICATED缓存来缓存数据(如果需要,您可以配置读/写 [1] 和驱逐 [2])。通过这样的部署,每个服务实例都会在本地拥有所有缓存的数据,因此读取速度会非常快。

要启动嵌入式节点,只需Ignition.Start()在启动时使用正确的配置进行调用。这是一个小例子:https ://apacheignite-net.readme.io/docs/getting-started-1#first-ignite-data-grid-application

[1] https://apacheignite-net.readme.io/docs/persistent-store

[2] https://apacheignite.readme.io/docs/evictions

于 2016-02-28T19:02:03.780 回答