2016-02-28 46 views
3

我之前使用的Java项目点燃,但从来没有暴露在基础设施/架构设定....net在与.net运行时相同的机器上点燃分布式缓存?

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

但我需要的意见/上点燃部署指针/基础设施与.NET一起: - 我不能为高速缓存添加额外的/专用服务器:所以我想兼具我的.NET服务和apacheignite网在同一个盒子里。
- 我需要缓存的对象(现在每次请求都从数据库中寻找它们)并不是那么大,但我不需要全部都缓存:所以结合了通读/逐出策略?

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

回答

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