小编pth*_*tha的帖子

Redis Sentinel从Slaves读取写入Master

我们当前的Redis设置是一个Web应用程序客户端,使用Jedis直接连接一个JedisPool用于写入单个Redis主服务器,第二个JedisPool用于从单个Redis从服务器读取.从站设置为复制主站.

我们正在转向在客户端上使用JedisSentinelPool并引入Sentinel以更干净地处理故障转移.据我所知,似乎JedisSentinelPool只与当前选出的主设备通信,所以现在所有的写入/读取都转到主设备上.与之前读取可以分配给从属的情况相比.

有没有办法使用JedisSentinelPool将读取分配给从站以实现负载平衡?或者有必要使用JedisPool手动实现(如前所述)在这种情况下,如果主服务器失败,JedisSentinelPool现在将指向旧的从服务器(新主服务器),JedisPool仍然会笨拙地指向旧服务器,并且有效旧奴隶(新主人)现在会处理读写吗?

Redis Sentinel(或其他)是否具有任何负载平衡(而不是故障转移)功能?我们目前只有一个奴隶,可以添加更多的奴隶用于负载平衡吗?如果是这样,推荐的配置是什么?

任何建议,现实世界的经验将不胜感激.

redis jedis redis-sentinel

5
推荐指数
1
解决办法
1219
查看次数

JGit创建新的本地分支并推送到远程(远程上不存在分支)

我正在研究一个ANT任务,该任务调用一些使用JGit在git存储库上创建新分支并将其推送到远程的java.我正在使用JGit 2.1.0.

这是代码:

CreateBranchCommand bcc;
CheckoutCommand checkout;
Git git;

try {
    Repository repo = new FileRepositoryBuilder().readEnvironment().findGitDir(src).build();
    git = new Git(repo);

    bcc = git.branchCreate();
    checkout = git.checkout();
} catch (IOException e) {
    throw new BuildException("Could not access repository " + src, e);
}

try {
        bcc.setName(branch)
            .setUpstreamMode(SetupUpstreamMode.SET_UPSTREAM)
            .setStartPoint("origin/" + branch)
            .setForce(force)
            .call();

        checkout.setName(branch);
        checkout.call();
}
} catch (Exception e) {
    throw new BuildException("Could not checkout repository " + src, e);
}
Run Code Online (Sandbox Code Playgroud)

SRC变量被设置为git仓库的路径(其已经被克隆).该分支变量设置为:release_2_0_2变量设置为:真 …

java git git-checkout jgit git-branch

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

标签 统计

git ×1

git-branch ×1

git-checkout ×1

java ×1

jedis ×1

jgit ×1

redis ×1

redis-sentinel ×1