当前位置: 首页 > news >正文

毛纱厂家东莞网站建设做网站之前要怎样准备图片

毛纱厂家东莞网站建设,做网站之前要怎样准备图片,成都网站建设公司浅谈,网站开发过时了Sentinel 初始化Sentinel状态。 在应用了Sentinel的专用代码之后#xff0c;接下来#xff0c;服务器会初始化一个sentinel.c/sentinelState结构(简称Sentinel状态),这个结构 保存了服务器中所有和Sentinel功能有关的状态(服务器的一般状态仍然由redis.h/redisServer保存);…Sentinel 初始化Sentinel状态。 在应用了Sentinel的专用代码之后接下来服务器会初始化一个sentinel.c/sentinelState结构(简称Sentinel状态),这个结构 保存了服务器中所有和Sentinel功能有关的状态(服务器的一般状态仍然由redis.h/redisServer保存); struct sentinelState { // 当前纪元用于实现故障转移 unit64_t current_epoch; // 保存了所有被这个sentinel监视的主服务器 // 字典的键是主服务器的名字 // 字典的值则是一个指向sentinelRedisInstance结构的指针 dict *masters; // 是否进入了TILT模式 int tilt; // 目前正在执行的脚本的数量 int running_scripts; // 进入TILT模式的时间 mstime_t tilt_start_time; // 最后一次执行时间处理器的时间 mstime_t previous_time; // 一个FIFO队列,包含了所有需要执行的用户脚本 list *scripts_queue; } sentinel;初始化Sentinel状态的masters属性 Sentinel状态中的masters字典记录了所有被Sentinel监视的主服务器的相关信息其中: 1.字典的键是被监视主服务器的名字2.而字典的值则是被监视主服务器对应的sentinel.c/sentinelRedisInstance结构。 每个sentinelRedisInstance结构(简称实例结构)代表一个被Sentinel监视的Redis服务器实例(instance)这个实例可以是主服务器、从服务器或者另外一个Sentinel。实例结构包含的属性非常多下方代码展示了实例结构在表示主服务器时使用的其中一部分属性 sentinelRedisInstance.addr属性是一个指向sentinel.c/sentinelAddr结构的指针这个结构保存着实例的IP地址和端口号: typedef struct sentinelAddr { char *ip; int port; } sentinelAddr;对Sentinel状态的初始化将引发对masters字典的初始化而masters字典的初始化是根据被载入的Sentinel配置文件来进行的。 sentinelRedisInstance结构 typedef struct sentinelRedisInstance { // 标识值,记录了实例的类型以及该实例的当前状态 int flags; // 实例的名字 // 主服务器的名字由用户在配置文件中设置 // 从服务器以及Sentinel的名字由Sentinel自动设置 // 格式为ip:port 例如127.0.0.1:26379 char *name;// 实例的运行ID char *runid;// 配置纪元用于实现故障转移 uint64_t coding_epoch; // 实例的地址 sentinelAddr *addr; // SENTINEL down-after-milliseconds选项设定的值 // 实例无响应多少毫秒之后才会被判断为主观下线(subjectively down) mstime_t down_after_period;// SENTINEL monitor master-name IP port quorum选项中的quorum参数 // 判断这个实例为客观下线(objectively down)所需的支持投票数量 int quorum;// SENTINEL parallel-syncs master-name number选项的值 // 在执行故障转移操作时可以同时对新的主服务器进行同步的从服务器数量 int parallel_syncs; // SENTINEL failover-timeout master-name ms 选项的值 // 刷新故障迁移状态的最大时限 mstime_t failover_timeout; // .... } sentinelRedisInstance;例子 举个例子。如果用户在启动Sentinel时指定了包含以下内容的配置文件: # master1 configure sentinel monitor master1 127.0.0.1 6379 2 sentinel down-after-milliseconds master1 3000 sentinel parallel-syncs master1 1 sentinel failover-timeout master1 900000# master2 configure sentinel monitor master2 127.0.0.1 12345 5 sentinel down-after-milliseconds master2 50000 sentinel parallel-syncs master2 5 sentinel failover-timeout master2 450000那么Sentinel将为主服务器master1创建如图所示的实例结构并未主服务器master2创建如图所示的实例结构而这两个实例结构又会被保存到Sentinel状态的masters字典中 创建连向主服务器的网络连接。 初始化Sentinel的最后一步是创建连向被监视主服务器的网络连接Sentinel将成为主服务器的客户端它可以向主服务器发送命令并从命令回复中获取相关的信息。对于每个被Sentinel监视的主服务器来说Sentinel会创建两个连向主服务器的异步网络连接: 1.一个是命令连接这个链接专门用于向主服务器发送命令并接收命令回复2.另一个是订阅连接这个连接专门用于订阅主服务器的_sentinel_:hello频道 如图所示展示了一个Sentinel向被它监视的两个主服务器master1和master2创建命令连接和订阅连接的例子 疑问 为什么有两个连接? 在Redis目前的发布与订阅功能中被发送的信息都不会保存在Redis服务器里面如果在信息发送时想要接收信息的客户端不在线或者断线那么这个客户端就会丢失这条信息。因此为了不丢失_sentinel_:hello频道的任何信息,Sentinel必须专门用一个订阅连接来接收该频道的信息。 另一方面除了订阅频道之外Sentinel还必须向主服务器发送命令以此来与主服务器进行通信所以Sentinel还必须向主服务器创建命令连接。因为Sentinel需要与多个实例创建多个网络连接所以Sentinel使用的是异步连接 通过这两个连接Sentinel 可以实时监控 Redis 实例的状态并在发生故障时迅速做出反应。此外通过使用两个连接而不是一个可以增加系统的健壮性一旦其中一个连接出现问题Sentinel 仍然可以通过另一个连接与 Redis 进行通信以继续执行监视和管理操作。总之Sentinel 向 Redis 主服务器创建两个连接是为了增强监视的可靠性和鲁棒性确保 Sentinel 能够及时感知到 Redis 实例的状态变化并采取相应的措施。
http://www.pierceye.com/news/53763/

相关文章:

  • 网站左右箭头素材龙岩市建筑设计院
  • 廊坊电商网站建设企业营销运营
  • 手机网站自动跳转汽车网络营销推广方案
  • 南通网站快照优化公司免费模板素材网站有哪些
  • 网站的图片怎么制作wordpress更改数据库
  • 微课网站开发借贷网站建设方案
  • html设计网站ftp客户端软件
  • 有哪些网站是提供设计图片的平面设计网上培训一般多少钱
  • 做网站是不是要拍法人的照片中小学生在线做试卷的网站
  • 国外交互设计网站欣赏wordpress 子站点
  • 网站建设模板ppt模板中国菲律宾最新消息
  • 网站建设 印花税专业seo网站
  • 网站备案核验号网站建设专业
  • 受欢迎的网站建设教程大连网络代运营
  • dede网站数据库路径手机怎么开网站
  • 什么什么设计英文网站东莞seo全网营销
  • 拍卖网站开发多少钱网站访问过程
  • 比较出名的网站域名百度移动首页
  • 网站建设 外包是什么意思济南建设银行网点
  • 网站设计的趋势wordpress微信订阅号
  • 昆明做网站建设的公司哪家好做简历的软件免费
  • 用淘宝域名做网站什么效果网站开发设计文档
  • 太原提高网站排名nh网站建设
  • 织梦高端html5网站建设工作室网络公司网站模板佛山网站建设服务
  • 做化工类网站内容国家企业信用信息公示系统官网一
  • 南昌网站建设行业现状游戏网站有哪些
  • 安卓网站客户端制作快速网络推广
  • 罗湖中心区做网站杭州知名网页设计服务商
  • 民治做网站公司自己开发网站怎么盈利
  • 网站如何做备份网站后台导航随意添加