我在端口3824(主机)和3825(从机)上设置了一个主从机。但是,当我关闭主服务器时,读取操作会给出拒绝连接的异常。下面是我的配置。我如何确保即使我杀死了主人,我仍在从奴隶那里读书。我在哪里出错了?
#include <stdio.h>
#include <iostream>
#include <vector>
template <size_t B, size_t N, typename T = char>
class Number
{
private:
std::vector<T>* v[N];
int toBase(int valor);
public:
Number(int valor);
Number <B,N,T> suma(const Number<B,N,T>& sumando) const;
//ostream& write(ostream& os)const;
};
template <size_t B, size_t N, typename T>
Number<B,N,T>::Number(int valor)
{
toBase(valor);
}
template <size_t B, size_t N, typename T>
int Number<B,N,T>::toBase(int valor)
{
for(int i = 0; i < N; i++) {
int aux = valor % B;
v.push_back(aux); // PROBLEM HERE
}
}
template <size_t B, size_t N, typename T>
Number<B,N,T> Number<B,N,T>::suma(const Number<B,N,T>& sumando) const
{
//sumando.toBase();
}
答案 0 :(得分:0)
要在应用程序中支持高可用性,您可能需要实现redis-sentinel。
Redis Sentinel在传递给RedisSentinelConfiguration
时充当应用程序和运行在一组服务器中的redis主从节点的桥。
它将主要充当配置提供程序。如果发生故障转移,Sentinels将报告新地址
Spring Data Redis Sentinel Support:
/**
* Lettuce
*/
@Bean
public RedisConnectionFactory lettuceConnectionFactory() {
RedisSentinelConfiguration sentinelConfig = new RedisSentinelConfiguration()
.master("mymaster")
.sentinel("127.0.0.1", 26379)
.sentinel("127.0.0.1", 26380);
return new LettuceConnectionFactory(sentinelConfig);
}
在主设备发生故障事件时,当从设备升级为主设备时,所有写请求都将路由到新选举的主设备。