问题标签 [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.
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 找出新的主设备是什么?大概在我重新连接时,任何写入尝试都会丢失?
我希望我不会在这里遗漏一些非常明显的东西,我只是在努力将它们放在一起。
提前致谢!
c - 如何修复分段错误?
我正在编写一个 C 程序,该程序应该添加每个数字,直到它达到一个标记值。然后将它们平均在一起。
我不确定问题出在哪里,但我认为 num 可能从未真正改变过。任何帮助表示赞赏。
运行版本
java - 具有标记值的无限循环并试图在java中获得最大和最小
我编写了一些代码,要求用户输入值,标记值为 -99,然后显示最大值和最小值。它正在工作,但将 -99 显示为最小值。所以我摆弄它,将 && != -99 作为最小值,但后来发生了无限循环,所以我把那个代码拿出来了。但是我必须删除一些重要的东西,因为现在它没有给我最大和最小的它只是进入一个无限循环。
你能给我一些指点吗?
这是我的代码;
enums - 以下代码中的“0xDEAD”是什么意思?
有一个枚举结构,但我不明白这个枚举中'0xDEAD - 2'的含义。
从上面的代码,我能得到什么样的好处?
上面的代码在 openjdk8 的 'hotspot/src/share/vm/runtime/thread.hpp' 中。
我正在研究jdk的源代码,请帮助我。
c++ - 如何将哨兵放入for循环
我有几个问题需要解决。这个程序会找到用户想要的数字的平均值。例如,如果他们输入 3,然后输入 1、2、3,则平均值为 2。首先是我的程序如果输入零,则应该停止。所以如果我输入 3 作为将被平均的整数数,然后我输入 1,2,0 它应该停止并且不计算平均值。另外,我需要考虑负数。
java - 字符串数组循环打印值 null java
我已经实例化了一个包含 10 个字符串的字符串数组。我基本上想要求用户输入主题名称,直到所有 10 个字符串都完成,或者用户输入“q”退出。一旦发生这种情况,应通过 printArray 方法打印字符串数组元素。这是我到目前为止所拥有的,但我得到一个“空”值,在“数组元素:”之后为每个值显示一个“空”值,总共构成 10 个字符串。如果我在几个条目而不是全部十个之后输入“q”,就会发生这种情况。我想去掉“null”值,如果用户没有输入“q”,在第 10 个条目之后,它应该显示 10 个数组。
java - 循环的哨兵问题允许在java中输入退出以结束程序
我在尝试将哨兵退出键设置为退出的底部遇到了麻烦。我不确定我应该怎么做。
整数;
.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 的一些信息,这可能是我的答案?
感谢您的澄清。
laravel-4 - Cartalyst Sentinel Laravel - 你如何创建角色?
我是 Cartalyst Sentinel 和 ACL 概念的新手。我设法创建了一个用户,执行激活和登录和注销。
我想把我的学习提升到一个新的水平。我想在这个 laravel 应用程序上有 2 种类型的用户。1 是管理员另一个是订阅者。我假设我的帐户创建方法应该默认为用户创建订阅者。
我是否像这样更改代码
问题是我什至还没有创建任何角色。我们在哪里编写该功能?现在我有以下控制器
- AccountController - 处理激活
- AuthController - 处理登录/注销
- RegistrationController - 处理用户注册
- RolesController - 我还没有在这里写任何东西。我有点失落。
请指导我。任何帮助是极大的赞赏。
java - 在 Java 中使用哨兵 While 循环去添加手机计划选项
我真的坚持这个。我必须创建一个手机计划插件菜单。然后我必须编写一个 java 代码段,它将显示这些选项的菜单并循环以允许用户选择所需的选项,直到用户输入 -1。这是我到目前为止所拥有的:
我究竟如何才能做到这一点,我需要在 while 循环中放入什么?谢谢!