小编gla*_*tor的帖子

Redis,Mongo还是Hazelcast?

我们有一个JAVA Web应用程序,它使用postgres(带有从属的单个数据库)来存储所有重要数据.

我们现在正在从单个服务器设置转移到多个服务器,因此我需要进行一些更改以满足新要求.

1)用于负载平衡和分区容差的非粘性会话ID.

2)可从所有Web服务器访问的频繁读取数据的缓存(在Memory/Memcache备选中).

3)队列(电子邮件,SMS,通过集群执行的任务).通常,所有这些都必须通过xml api或屏幕抓取来执行.
避免重复处理任务很重要,但有时可能会发生:-)

4)API请求和响应的持久存储(大量XML,大量行但列数很少).(可能通过删除旧请求和响应进行归档以保持数据集较小).

5)登录到一个公共场所.该表将继续增长.此外,我需要一个工具来访问生产日志而不停止它们.根据时间和/或搜索字符串,应该可以进行某种搜索.

我想要一个单一的解决方案来满足所有这些要求,并将redis,mongo和hazelcast(按照我个人喜好的顺序)作为可能的替代方案.

其他重要注意事项:1)减少对代码的干扰.2)简单的备份/复制策略.至少大师奴隶.3)可管理性,社区和经过试验和测试(在生产中运行).

哪个能够执行所有或大部分功能和要求?

编辑 - 我做了什么

  1. Redis支持tomact的会话管理器.
  2. Redis用于缓存
  3. 由redis支持的Jesque(Respue的java版本).
  4. Postgres的
  5. 由Log4j2支持的SLF4J

java mongodb redis hazelcast

10
推荐指数
1
解决办法
3441
查看次数

用于库存管理系统的SQL与NoSQL

我正在开发一个基于JAVA的Web应用程序.主要目标是在多个名为渠道的网站上销售产品库存.我们将担任所有这些渠道的经理.我们需要的是:

  1. 用于管理每个渠道的库存更新的队列.
  2. 库存表,其中包含每个通道上正确的分配快照.
  3. 将会话ID和其他快速访问数据保存在缓存中.
  4. 提供类似Facebook的仪表板(XMPP)以尽快保持卖家更新.

我正在寻找的解决方案是postgres(我们的db直到现在处于同步复制模式),NoSQL解决方案,如Cassandra,Redis,CouchDB和MongoDB.

我的约束是:

  1. 库存更新不会丢失.
  2. 作业队列应该按顺序执行,最好不要丢失.
  3. 轻松/快速开发和未来维护.

我对任何建议持开放态度.提前致谢.

couchdb mongodb cassandra nosql redis

8
推荐指数
3
解决办法
8927
查看次数

具有多个源文件夹的eclipse项目的build.gradle

我有一个带有源文件夹的eclipse项目,如:

/src/main/java/module1
/src/main/java/module2
/src/main/java/module3
Run Code Online (Sandbox Code Playgroud)

在这些src文件夹中我有像这样的包:

com.example.module1.xxx
com.example.module2.yyy
com.example.module3.zzz
Run Code Online (Sandbox Code Playgroud)

我使用java和eclipse插件创建了一个gradle构建源代码,如:

apply plugin: 'java'
apply plugin: 'eclipse'
sourceSets {
    main {
        java {
            srcDirs = ['src/main/java/module1']
            srcDir 'src/main/resources'
            srcDir 'src/main/java/module2'
            srcDir 'src/main/java/module3'
        }
    }
}
jar{
    manifest {
        attributes 'Implementation-Title': 'Example Project',
                   'Implementation-Version': '1.0.0'    
    }
}

repositories {
    mavenCentral()
}
dependencies{
    compile group: 'com.zaxxer', name: 'HikariCP', version: '2.2.5'
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: log4j2Version
    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: log4j2Version
    compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: log4j2Version
    compile group: 'org.apache.logging.log4j', …
Run Code Online (Sandbox Code Playgroud)

java eclipse gradle gradle-eclipse build.gradle

4
推荐指数
1
解决办法
7922
查看次数