问题标签 [sentinel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9237 浏览

c# - 使用 C# 的 StackExchange / Sentinel 进行 Redis 故障转移

我们目前正在使用 Redis 2.8.4 和 StackExchange.Redis(并且喜欢它),但目前没有任何针对硬件故障等的保护措施。我试图让解决方案工作,我们有主/从和哨兵监控,但不能完全到达那里,我在搜索后无法找到任何真正的指针。

所以目前我们已经做到了这一点:

我们在每个节点上有 3 个 redis 服务器和哨兵(由 Linux 人员设置):devredis01:6383 (master) devredis02:6383 (slave) devredis03:6383 (slave) devredis01:26379 (sentinel) devredis02:26379 (sentinel) devredis03: 26379(哨兵)

我能够将 StackExchange 客户端连接到 redis 服务器并写入/读取并验证数据是否正在使用 Redis 桌面管理器跨所有 redis 实例复制。

我还可以使用不同的 ConnectionMultiplexer 连接到哨兵服务、查询配置、请求主 redis 节点、请求从属节点等。

我们还可以杀死主 redis 节点,并验证其中一个从属被提升为主,并且复制到另一个从属继续工作。我们可以观察到尝试重新连接到主服务器的 redis 连接,如果我重新创建 ConnectionMultiplexer,我可以再次向新提升的主服务器写入/读取并从从服务器读取。

到目前为止,一切都很好!

我缺少的一点是您如何将它们整合到生产系统中?

我应该从哨兵获取redis端点并使用2个ConnectionMultiplexers吗?我到底要做什么才能检测到节点已关闭?StackExchange 可以自动为我执行此操作,还是传递一个事件以便我可以重新连接我的 redis ConnectionMultiplexer?我是否应该处理 ConnectionFailed 事件然后重新连接,以便 ConnectionMuliplexer 找出新的主设备是什么?大概在我重新连接时,任何写入尝试都会丢失?

我希望我不会在这里遗漏一些非常明显的东西,我只是在努力将它们放在一起。

提前致谢!

0 投票
4 回答
1809 浏览

c - 如何修复分段错误?

我正在编写一个 C 程序,该程序应该添加每个数字,直到它达到一个标记值。然后将它们平均在一起。

我不确定问题出在哪里,但我认为 num 可能从未真正改变过。任何帮助表示赞赏。

运行版本

0 投票
3 回答
4768 浏览

java - 具有标记值的无限循环并试图在java中获得最大和最小

我编写了一些代码,要求用户输入值,标记值为 -99,然后显示最大值和最小值。它正在工作,但将 -99 显示为最小值。所以我摆弄它,将 && != -99 作为最小值,但后来发生了无限循环,所以我把那个代码拿出来了。但是我必须删除一些重要的东西,因为现在它没有给我最大和最小的它只是进入一个无限循环。

你能给我一些指点吗?

这是我的代码;

0 投票
1 回答
6629 浏览

enums - 以下代码中的“0xDEAD”是什么意思?

有一个枚举结构,但我不明白这个枚举中'0xDEAD - 2'的含义。

从上面的代码,我能得到什么样的好处?

上面的代码在 openjdk8 的 'hotspot/src/share/vm/runtime/thread.hpp' 中。

我正在研究jdk的源代码,请帮助我。

0 投票
1 回答
1507 浏览

c++ - 如何将哨兵放入for循环

我有几个问题需要解决。这个程序会找到用户想要的数字的平均值。例如,如果他们输入 3,然后输入 1、2、3,则平均值为 2。首先是我的程序如果输入零,则应该停止。所以如果我输入 3 作为将被平均的整数数,然后我输入 1,2,0 它应该停止并且不计算平均值。另外,我需要考虑负数。

0 投票
3 回答
1363 浏览

java - 字符串数组循环打印值 null java

我已经实例化了一个包含 10 个字符串的字符串数组。我基本上想要求用户输入主题名称,直到所有 10 个字符串都完成,或者用户输入“q”退出。一旦发生这种情况,应通过 printArray 方法打印字符串数组元素。这是我到目前为止所拥有的,但我得到一个“空”值,在“数组元素:”之后为每个值显示一个“空”值,总共构成 10 个字符串。如果我在几个条目而不是全部十个之后输入“q”,就会发生这种情况。我想去掉“null”值,如果用户没有输入“q”,在第 10 个条目之后,它应该显示 10 个数组。

0 投票
1 回答
3540 浏览

java - 循环的哨兵问题允许在java中输入退出以结束程序

我在尝试将哨兵退出键设置为退出的底部遇到了麻烦。我不确定我应该怎么做。

整数;

0 投票
2 回答
2072 浏览

.net - Redis Cache 如何与 High Availability 和 Sentinel 配合使用?

我正在尝试设置一个高可用性设置,如果托管我的主 Redis 缓存的服务器出现故障,它将选择一个不同的主服务器,但在阅读了有关 Sentinel 的所有文档后,我有点困惑。

例如,如果我有一个 URL,我将我的 Redis 客户端指向:http ://my.RedisServer.com:6379 ,那么哨兵如何帮助故障转移到另一台服务器,例如http://mybackup.RedisServer。 com:6379 ?

我正在使用用于 .Net 的 ServiceStack.Redis 客户端并在 Windows 服务器上安装 Redis,但我想为了获得高可用性,我必须切换到 Linux 并使用 Twemproxy 设置或其他什么?我猜我不能只将http://my.RedisServer.com:6379存储在我的 web.config 中并让它以某种方式正常工作吗?我想在某个地方必须有一个映射到 2 个以上 IP 的 DNS,并且像任何 HA Web 应用程序一样进行负载平衡......

我想我看到了有关 PooledRedisClientManager 的一些信息,这可能是我的答案?

感谢您的澄清。

0 投票
1 回答
5469 浏览

laravel-4 - Cartalyst Sentinel Laravel - 你如何创建角色?

我是 Cartalyst Sentinel 和 ACL 概念的新手。我设法创建了一个用户,执行激活和登录和注销。

我想把我的学习提升到一个新的水平。我想在这个 laravel 应用程序上有 2 种类型的用户。1 是管理员另一个是订阅者。我假设我的帐户创建方法应该默认为用户创建订阅者。

我是否像这样更改代码

问题是我什至还没有创建任何角色。我们在哪里编写该功能?现在我有以下控制器

  1. AccountController - 处理激活
  2. AuthController - 处理登录/注销
  3. RegistrationController - 处理用户注册
  4. RolesController - 我还没有在这里写任何东西。我有点失落。

请指导我。任何帮助是极大的赞赏。

0 投票
1 回答
854 浏览

java - 在 Java 中使用哨兵 While 循环去添加手机计划选项

我真的坚持这个。我必须创建一个手机计划插件菜单。然后我必须编写一个 java 代码段,它将显示这些选项的菜单并循环以允许用户选择所需的选项,直到用户输入 -1。这是我到目前为止所拥有的:

我究竟如何才能做到这一点,我需要在 while 循环中放入什么?谢谢!