小编Yad*_*dar的帖子

使用NSKeyedArchiver复制UIView会引发NSInvalidUnarchiveOperationException

用这个来复制 UIView

UIView copyOfView = 
[NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:originalView]]
Run Code Online (Sandbox Code Playgroud)

这会引发以下错误:

NSInvalidUnarchiveOperationException

[NSKeyedUnarchiver decodeBoolForKey]: value for key (UIHighlighted) is not a boolean

iphone xcode uiview nskeyedarchiver ios

8
推荐指数
1
解决办法
863
查看次数

运行状况检查以从google tcp负载均衡器检测redis master

我正在尝试设置谷歌TCP内部负载均衡器.此lb后面的实例组由侦听端口6379的redis-server进程组成.在这些redis实例中,只有一个是master.

问题:添加TCP运行状况检查以检测redis主服务器,并使lb仅将所有流量转移到redis主服务器.

方法:为端口6379添加了TCP运行状况检查.为了将命令发送role到redis-server进程并解析响应,我使用运行状况检查中提供的可选参数.请点击此处查看截图.

结果:健康检查失败.如果我删除了可选的请求/响应参数,健康状况检查将开始传递给所有人.

调试:

  1. 使用netcat连接到lb并发出命令role,它按预期发送以*3(对于master)和*5(对于slave)开始的响应.
  2. 登录到实例并停止redis-server进程.开始在端口6379上侦听,nc -l -p 6379以检查在运行状况检查中实例侧收到的确切内容.它收到了role\r\n.
  3. 在步骤2之后,重新启动redis-server并MONITOR在redis-cli中运行命令,以查看此进程接收的命令的日志.这里没有日志role.这意味着,实例正在role\r\n通过tcp 接收data()但是没有被进程redis-cli接收(根据MONITOR命令)或其他正在发生的事情.请帮忙.

networking tcp load-balancing redis google-compute-engine

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