gla*_*tor 10 java mongodb redis hazelcast
我们有一个JAVA Web应用程序,它使用postgres(带有从属的单个数据库)来存储所有重要数据.
我们现在正在从单个服务器设置转移到多个服务器,因此我需要进行一些更改以满足新要求.
1)用于负载平衡和分区容差的非粘性会话ID.
2)可从所有Web服务器访问的频繁读取数据的缓存(在Memory/Memcache备选中).
3)队列(电子邮件,SMS,通过集群执行的任务).通常,所有这些都必须通过xml api或屏幕抓取来执行.
避免重复处理任务很重要,但有时可能会发生:-)
4)API请求和响应的持久存储(大量XML,大量行但列数很少).(可能通过删除旧请求和响应进行归档以保持数据集较小).
5)登录到一个公共场所.该表将继续增长.此外,我需要一个工具来访问生产日志而不停止它们.根据时间和/或搜索字符串,应该可以进行某种搜索.
我想要一个单一的解决方案来满足所有这些要求,并将redis,mongo和hazelcast(按照我个人喜好的顺序)作为可能的替代方案.
其他重要注意事项:1)减少对代码的干扰.2)简单的备份/复制策略.至少大师奴隶.3)可管理性,社区和经过试验和测试(在生产中运行).
哪个能够执行所有或大部分功能和要求?
编辑 - 我做了什么
我可以从 MongoDB 的角度解决其中一些问题。
我注意到的第一件事是您正在从单服务器设置转向多服务器设置。MongoDB 让设置复制和分片变得异常简单。反过来,复制和分片以及 Mongo 的一些其他功能可以帮助您实现很多目标。
首先,看一下文档来感受一下:
根据您的要求还有一些其他想法:
希望有帮助,干杯。
| 归档时间: |
|
| 查看次数: |
3441 次 |
| 最近记录: |