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

dede网站搬家后为什么都没有内容呢大连html5网站建设报价

dede网站搬家后为什么都没有内容呢,大连html5网站建设报价,郴州网签查询系统,分类信息多城市网站configurePeerListeners 是 ETCD 的一个核心函数#xff0c;用于为集群中节点之间的通信配置监听器#xff08;Peer Listener#xff09;。这些监听器主要负责 Raft 协议的消息传递、日志复制等功能。函数返回一个包含所有监听器的列表。 函数签名 func configurePeerList…configurePeerListeners 是 ETCD 的一个核心函数用于为集群中节点之间的通信配置监听器Peer Listener。这些监听器主要负责 Raft 协议的消息传递、日志复制等功能。函数返回一个包含所有监听器的列表。 函数签名 func configurePeerListeners(cfg *Config) (peers []*peerListener, err error)输入参数 cfg *Config指向 Config 配置结构体的指针包含监听器所需的所有配置信息。 返回值 peers []*peerListener返回一个 peerListener 的切片表示为每个 Peer 配置的监听器。err error若配置过程中发生错误返回详细错误信息。 1. 更新加密套件配置 if err updateCipherSuites(cfg.PeerTLSInfo, cfg.CipherSuites); err ! nil {return nil, err }作用更新 TLS 的加密套件Cipher Suites。逻辑 使用 cfg.CipherSuites 更新 cfg.PeerTLSInfo 的加密配置。如果更新失败返回错误。 2. 配置自签名证书 if err cfg.PeerSelfCert(); err ! nil {cfg.logger.Fatal(failed to get peer self-signed certs, zap.Error(err)) }作用为 Peer 生成自签名证书如果未提供证书文件。逻辑 调用 cfg.PeerSelfCert() 方法生成自签名证书。如果生成失败记录错误日志并终止程序。 3. 更新 TLS 版本 updateMinMaxVersions(cfg.PeerTLSInfo, cfg.TlsMinVersion, cfg.TlsMaxVersion)作用更新 TLS 的最小和最大版本。逻辑 使用配置中的 TlsMinVersion 和 TlsMaxVersion 更新 cfg.PeerTLSInfo。确保使用的 TLS 版本在允许范围内。 4. 检查是否启用 TLS if !cfg.PeerTLSInfo.Empty() {cfg.logger.Info(starting with peer TLS,zap.String(tls-info, fmt.Sprintf(%v, cfg.PeerTLSInfo)),zap.Strings(cipher-suites, cfg.CipherSuites),) }作用检查 Peer 是否启用了 TLS。逻辑 如果 cfg.PeerTLSInfo 不为空记录日志说明已启用 TLS 并打印配置信息。 5. 初始化监听器切片 peers make([]*peerListener, len(cfg.ListenPeerUrls))作用为每个 Peer URL 初始化对应的监听器。逻辑 根据 cfg.ListenPeerUrls 的长度创建一个 peerListener 的切片 peers用于存储所有监听器。 6. 错误处理回滚逻辑 defer func() {if err nil {return}for i : range peers {if peers[i] ! nil peers[i].close ! nil {cfg.logger.Warn(closing peer listener,zap.String(address, cfg.ListenPeerUrls[i].String()),zap.Error(err),)ctx, cancel : context.WithTimeout(context.Background(), time.Second)peers[i].close(ctx)cancel()}} }()作用在监听器创建过程中发生错误时关闭已经创建的监听器清理资源。逻辑 如果 err ! nil遍历 peers调用每个监听器的 close 方法确保释放资源。使用超时时间 1 秒 防止阻塞。 7. 为每个 Peer URL 创建监听器 for i, u : range cfg.ListenPeerUrls {if u.Scheme http {if !cfg.PeerTLSInfo.Empty() {cfg.logger.Warn(scheme is HTTP while key and cert files are present; ignoring key and cert files, zap.String(peer-url, u.String()))}if cfg.PeerTLSInfo.ClientCertAuth {cfg.logger.Warn(scheme is HTTP while --peer-client-cert-auth is enabled; ignoring client cert auth for this URL, zap.String(peer-url, u.String()))}}peers[i] peerListener{close: func(context.Context) error { return nil }}peers[i].Listener, err transport.NewListenerWithOpts(u.Host, u.Scheme,transport.WithTLSInfo(cfg.PeerTLSInfo),transport.WithSocketOpts(cfg.SocketOpts),transport.WithTimeout(rafthttp.ConnReadTimeout, rafthttp.ConnWriteTimeout),)if err ! nil {cfg.logger.Error(creating peer listener failed, zap.Error(err))return nil, err}// once serve, overwrite with http.Server.Shutdownpeers[i].close func(context.Context) error {return peers[i].Listener.Close()} }主要逻辑 遍历 cfg.ListenPeerUrls为每个 URL 创建一个监听器。HTTP 检查 如果 URL 的协议是 HTTP 且启用了 TLS发出警告日志。如果启用了 PeerTLSInfo.ClientCertAuth但协议为 HTTP也发出警告。 创建监听器 调用 transport.NewListenerWithOpts 创建监听器。配置 TLS 信息、套接字选项、连接超时时间等。 错误处理 如果监听器创建失败记录错误日志并返回错误。 关闭逻辑 设置 peerListener 的 close 方法用于在关闭监听器时释放资源。 8. 返回监听器 return peers, nil作用返回配置完成的监听器切片。如果没有错误err 为 nilpeers 包含所有配置好的监听器。 总结 功能configurePeerListeners 函数为集群中每个 Peer URL 配置监听器用于处理节点间通信。关键点 配置 TLS包括加密套件、TLS 版本、自签名证书等。创建监听器并设置关闭逻辑。错误回滚机制确保在发生错误时释放已分配的资源。支持 HTTP 和 HTTPS 两种协议同时发出适当的警告。 核心调用transport.NewListenerWithOpts 是监听器创建的核心方法它根据配置初始化实际的监听器。
http://www.dnsts.com.cn/news/256151.html

相关文章:

  • 网络运营商无服务怎么恢复志鸿优化设计官网
  • 交通局网站建设整改清远seo站内优化
  • 吉利汽车网站开发环境分析wordpress边栏固定
  • 搭建一个网站大概需要多少钱外贸 网站 seo
  • 甘肃省两学一做专题网站公司网站建设应注意
  • 池州网站seo官网网站搭建
  • 东莞塘厦网站建设四川省建设安全管理协会网站
  • 主题教育网站建立新网域名备案
  • 网站项目合同青岛网页建设
  • 功能强大的wordpress手机优化助手怎么删除
  • eclipse视频网站开发网站设计0基础
  • 长春快速建站模板最权威的做网站设计哪家好
  • 网站怎么做h5支付宝支付怎么给网站做绿标
  • 宁河做网站公司中信建投证券股份有限公司
  • 模块化网页制作软件福州搜索优化行业
  • php做的网站安全吗wordpress首页显示最新文章
  • 做网站必须备案吗wordpress 本地慢
  • 网页制作员工作厂家电话seo怎么发文章 seo发布工具
  • 定制型网站建设合同范本寺庙 网站建设
  • 做瑞士网站湖南工商网址
  • 中江县 网站建设教育行业建设网站
  • iis html网站海淀区做网站厂家
  • 行业网站 源码昌平沙河网站建设
  • 弄一个电影网站怎么做最好的餐饮设计网站建设
  • 河南网站推广怎么做做网站后租服务器一年多少钱
  • 2020电商网站排行榜软件开发流程包括哪些
  • 如何查询注册过的网站西安旅游服务网站建设
  • 创办一个网站多少钱常州微信网站建设价位
  • 湖南中海建设集团有限公司网站做仿站如何修改网站管理权限
  • 李宁运动服网站建设规划书wordpress 导入mht