首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏WebDeveloper

    tendermint-peers讲解

    Peer Exchange Peer Exchange Reactor (PEX)确保与好的peers进行连接和通信 Peer类型 persistent peer 长期保持通信的peer,连接失败可自动重拨 private peer 私有peer,无需添加到address book,并且不能传播给其它peer 发现(Discovery) 启动时,先连接persistent_peers,如果连接失败,会每隔 如果peer数量小于MaxNumOutboundPeers,将会定期请求自己拥有的peer,如果还是不能有足够的数量,则再次尝试seeds(seeds是固定peers信息,用于开始启动连接)。 监听(Listening) peers在可配置的ListenAddr地址监听,并在与其它节点握手时,将监听地址、端口信息保存在NodeInfo信息内。 接受的MaxNumInboundPeers数量的peers 地址簿(Address Book) peers通过NodeID(公钥地址)进行追踪 其它peers连接我们或我们连接其它peers都将记录在address

    78140发布于 2018-12-24
  • 来自专栏凯哥Java

    【mysql】 closing inbound before receiving peers close_notify问题解决

    在使用spring boot整合jpa时出现上述错误,去网上找了很多资料,按照所述方法试了之后仍报错,但最后发现了一篇文章。在配置文件中,配置连接数据库的url时,加上useSSL=false。如以下格式,注意将数据库名(db_testjpa)改为你自己的数据库名。

    87020编辑于 2022-12-16
  • 来自专栏红芽技术

    CentOS7使用yum安装nginx报错:获取 GPG 密钥失败: curl#60 - Peers Certificate has expired.

    为依赖而安装: apr x86_64 1.4.8-5.el7 base 103 k apr-util x86_64 1.5.2-6.el7 base 92 k

    2.3K30发布于 2020-08-19
  • 来自专栏院长运维开发

    CentOS7使用yum安装nginx报错:获取 GPG 密钥失败: curl#60 - Peers Certificate has expired.

    根据提示解决: 可以使用rpm --import https://nginx.org/keys/nginx_signing.key来解决,但是会出现导入失败,可能是网络问题 我们先进行下载再进行导入key

    3.1K10发布于 2020-08-10
  • 来自专栏码匠的流水账

    聊聊nacos的RaftPeerSet

    (server); } } ​ public RaftPeer update(RaftPeer peer) { peers.put(peer.ip, peer (RaftPeer candidate) { peers.put(candidate.ip, candidate); ​ SortedBag ips = new TreeBag } ​ public RaftPeer get(String server) { return peers.get(server); } ​ public int = null; ​ for (RaftPeer peer : peers.values()) { peer.voteFor = null; } peers.isReady()) { return; } ​ RaftPeer local = peers.local

    59500发布于 2019-10-03
  • 来自专栏码匠的流水账

    聊聊nacos RaftCore的MasterElection

    0L)); Loggers.RAFT.info("cache loaded, datum count: {}, current term: {}", datums.size(), peers.getTerm peers.isReady()) { return; } RaftPeer local = peers.local server: {}", server); } } } } MasterElection实现了Runnable方法,其run方法在peers ,递增localPeer的term,并设置voteFor为自己,然后更新state为RaftPeer.State.CANDIDATE,最后遍历peers.allServersWithoutMySelf( 注册了MasterElection;registerMasterElection方法每隔TICK_PERIOD_MS毫秒调度一次;MasterElection实现了Runnable方法,其run方法在peers

    47530发布于 2019-10-09
  • 来自专栏码匠的流水账

    聊聊kingbus的startRaftPeer

    { if peers[i] ! = nil && peers[i].close ! peers[i].close(context.Background()) } } }() ​ for i, u := range peerURLs { peers[i] = &peerListener{close: func(context.Context) error { return nil }} peers[ return peers[i].Listener.Close() } log.Log.Info("listening for peers on ", u.String()

    35000发布于 2020-06-14
  • 来自专栏码匠的流水账

    聊聊kingbus的startRaftPeer

    { if peers[i] ! = nil && peers[i].close ! peers[i].close(context.Background()) } } }() for i, u := range peerURLs { peers[i] = &peerListener{close: func(context.Context) error { return nil }} peers[i return peers[i].Listener.Close() } log.Log.Info("listening for peers on ", u.String()

    29440发布于 2020-06-18
  • 来自专栏码匠的流水账

    聊聊nacos的RaftPeerSet

    localTerm = new AtomicLong(0L); private RaftPeer leader = null; private Map<String, RaftPeer> peers (server); } } public RaftPeer update(RaftPeer peer) { peers.put(peer.ip, peer (); } public int size() { return peers.size(); } public RaftPeer decideLeader (RaftPeer candidate) { peers.put(candidate.ip, candidate); SortedBag ips = new TreeBag peers.isReady()) { return; } RaftPeer local = peers.local

    77720发布于 2019-10-09
  • 来自专栏golang算法架构leetcode技术php

    golang源码分析:groupcache(2)

    newGroup(name, cacheBytes, getter, nil) } func newGroup(name string, cacheBytes int64, getter Getter, peers Group { initPeerServerOnce.Do(callInitPeerServer) g := &Group{ name: name, getter: getter, peers : peers, cacheBytes: cacheBytes, loadGroup: &singleflight.Group{}, } if fn := newGroupHook; fn ) p.peers.Add(peers...) p.httpGetters = make(map[string]*httpGetter, len(peers)) for _, peer := range () { return nil, false } if peer := p.peers.Get(key); peer !

    37810编辑于 2023-09-06
  • 来自专栏全栈程序员必看

    Etcd学习(二)集群搭建Clustering

    Let’s join two more machines to this cluster using the -peers argument. 那么多出来的节点(peers)将会以独立(standbys)的方式启动,假如集群中一个活跃的节点挂掉或者被移除掉,那么这些多出来的单独启动的节点将会增加到活跃集群中。 Active Peers Majority Failure Tolerance 1 peers 1 peers None 3 peers 2 peers 1 peer 4 peers 3 peers 1 peer 5 peers 3 peers 2 peers 6 peers 4 peers 2 peers 7 peers 4 peers 3 peers 8 peers 5 peers 3 peers 9 peers 5 peers 4 peers 如你所见,添加新的节点奖集群中节点数目变成奇数个总是值得的。

    75730编辑于 2022-07-10
  • 来自专栏码匠的流水账

    聊聊nacos RaftCore的MasterElection

    0L)); ​ Loggers.RAFT.info("cache loaded, datum count: {}, current term: {}", datums.size(), peers.getTerm peers.isReady()) { return; } ​ RaftPeer local = peers.local }", e); } ​ } ​ public void sendVote() { ​ RaftPeer local = peers.get ,递增localPeer的term,并设置voteFor为自己,然后更新state为RaftPeer.State.CANDIDATE,最后遍历peers.allServersWithoutMySelf( 注册了MasterElection;registerMasterElection方法每隔TICK_PERIOD_MS毫秒调度一次;MasterElection实现了Runnable方法,其run方法在peers

    55400发布于 2019-10-02
  • 来自专栏程序猿的那点事

    WifiDisplay扫描流程

    requestPeers(); } // Retry discover peers periodically until stopped. mHandler.postDelayed(mDiscoverPeers, DISCOVER_PEERS_INTERVAL_MILLIS); } 然后下面就是一路函数调用了,和wifi的差不多,一直到 c, ActionListener listener) { checkChannel(c); c.mAsyncChannel.sendMessage(DISCOVER_PEERS com/android/server/wifi/p2p/WifiP2pServiceImpl.java case WifiP2pManager.DISCOVER_PEERS PeerListListener() { @Override public void onPeersAvailable(WifiP2pDeviceList peers

    86020发布于 2020-07-15
  • 来自专栏python3

    Python处理cassandra 升级

    下     data目录下有很多keyspace的目录:如:system 目录,Keyspcace目录下有coumlfailmly 目录, 如:/opt/cassandra/data/system/peers /snapshots/1370569934254  此下面是所有的数据文件        如:system-peers-ib-10-Summary.db            system-peers-fsdfsfsfd 现要把所有Keyspace 目录下的所有db文件挪到/opt/cassandra/data/system下,(-ib- 文件除外)    如: /opt/cassandra/data/system/peers /snapshots/1370569934254/system-peers-fsdfsfsfd-10-Summary.db=======》 /opt/cassandra/data/system/peers-fsdfsfsfd

    1.1K20发布于 2020-01-06
  • 来自专栏程序那些事

    Hyperledger Fabric基础知识

    通道是由peers集合形成的逻辑结构。此功能允许一组peers创建单独的交易共享账本。 Organizations。 Hyperledger Fabric网络是由网络中不同组织拥有和贡献的peers构建的。该网络之所以存在是因为组织将其个人资源贡献给了集体网络。 peers具有成员资格服务提供商从其所属组织分配的身份(数字证书)。不同组织的Peers可以在同一channel上。 Membership Services Provider (MSP)。 Ordering service将交易打包成块,以交付给通道上的peers。它保证了网络中的交易顺利执行。它与peers和endorsing peers进行通信。 ordering service将交易传递给peers。所有peers都提交并应用相同的事务序列并更新其状态。 总结 Hyperledger Fabric是一个区块链框架实现。

    2.9K10发布于 2020-07-07
  • 来自专栏有文化的技术人

    Consul集群中断恢复

    恢复文件手动删除过时的对等服务器,请参见以下有关使用peers.json进行手动恢复的部分。 有关恢复过程的详细信息,请参见以下有关使用peers.json进行手动恢复的部分。您只需在raft/peers.json恢复文件中仅包含其余服务器即可。 Consul0.7还使用了一个新的自动创建的raft/peers.info文件,以避免在升级后的首次启动时提取raft/peers.json文件。 确保将raft/peers.info留在适当的位置以进行正确的操作。 我们需要创建一个raft/peers.json文件。该文件的格式取决于服务器为其Raft协议版本配置的内容。

    99320编辑于 2022-10-27
  • 来自专栏码匠的流水账

    聊聊nacos的ServerChangeListener

    localTerm = new AtomicLong(0L); private RaftPeer leader = null; private Map<String, RaftPeer> peers (member.getKey())) { tmpPeers.put(member.getKey(), peers.get(member.getKey())); tmpPeers.put(member.getKey(), raftPeer); } // replace raft peer set: peers RunningConfig.getServerPort() > 0) { ready = true; } Loggers.RAFT.info("raft peers onChangeHealthyServerList会更新自己的healthyList;RaftPeerSet实现了ServerChangeListener接口,其onChangeServerList方法会更新peers

    37910发布于 2019-10-09
  • 来自专栏友弟技术工作室

    超级账本hyperledger fabric词汇汇总

    ), allowing for peers belonging to different Members to discover all existing peers on a channel. Peers also mark each transaction in each block as valid or invalid. Peers execute transactions in parallel, and before commitment to the ledger, peers check that the data Fabric支持动态添加-移除members、peers和ordering服务节点,而不会影响整个网络的操作性。 percentage of endorsing peers, or by all endorsing peers that are assigned to a specific chaincode application

    1.5K00发布于 2019-04-18
  • 来自专栏码匠的流水账

    聊聊nacos的ServerChangeListener

    localTerm = new AtomicLong(0L); ​ private RaftPeer leader = null; ​ private Map<String, RaftPeer> peers (member.getKey())) { tmpPeers.put(member.getKey(), peers.get(member.getKey())); tmpPeers.put(member.getKey(), raftPeer); } ​ // replace raft peer set: peers RunningConfig.getServerPort() > 0) { ready = true; } ​ Loggers.RAFT.info("raft peers onChangeHealthyServerList会更新自己的healthyList;RaftPeerSet实现了ServerChangeListener接口,其onChangeServerList方法会更新peers

    55210发布于 2019-10-01
  • 来自专栏码匠的流水账

    聊聊nacos RaftCore的signalPublish

    ()); ​ onPublish(datum, peers.local()); ​ final String content = JSON.toJSONString (json); ​ final CountDownLatch latch = new CountDownLatch(peers.majorityCount()); for (final String server : peers.allServersIncludeMyself()) { if (isLeader(server)) { ()大小的CountDownLatch,然后遍历peers.allServersIncludeMyself(),对于leader节点直接latch.countDown(),对于非leader节点则发送异步请求 peers.isLeader(source.ip)) { Loggers.RAFT.warn("peer {} tried to publish data but wasn't

    42000发布于 2019-10-25
领券