“区块链分叉”的本质
区块链系统升级后,在所有节点升级到最新的版本之前,由于程序版本的差异可能会产生分叉,只要升级到最新的版本,分叉就会消除,这就是“软分叉”,软分叉是临时的。 有些人头硬,不按照规则来,拉了一个分支,以“道德”或者“法律”的名义,号召大家认可自己的链,形成分叉,这就是“硬分叉”,硬分叉是永久的。
区块链系统升级后,在所有节点升级到最新的版本之前,由于程序版本的差异可能会产生分叉,只要升级到最新的版本,分叉就会消除,这就是“软分叉”,软分叉是临时的。 有些人头硬,不按照规则来,拉了一个分支,以“道德”或者“法律”的名义,号召大家认可自己的链,形成分叉,这就是“硬分叉”,硬分叉是永久的。
总结,如何保证全球匀速挖矿? • 需要定期统计,动态加速或减慢生成速度 • 通过难度系数,影响hash结果多少位必须符合预期,才算合法的区块,来控制速度
• 区块是一块存储空间,可以存储数据 • 区块链不但像链表一样把区块串起来,还有约定了一系列的方法管理这些数据,所以它是存储系统 • 区块链有很多节点,每个节点都保存了全部的数据,所以它是高可用的 • 每一个中心节点都可以生成区块,并写入数据,所以每一个点都是中心节点,或者说区块链是去中心化的,要想控制整个系统,必须控制一半以上的节点,才能控制投票,于是这个系统没有管理员
用户视角监控,把系统当作黑盒的一种粗粒度监控。 用户视角监控,能检测出局部地域的用户访问异常。 用户视角监控,有自主租赁机房布点,端上布点趋势检测,使用第三方服务三种方式。
• 监控平台的思路是多维度立体化监控 • “统一操作系统、http404,服务存活性,接口处理时间”等四大类统一监控的设计核心是“非侵入性”,不需要任何人配合修改,就能实现诸多功能的技术平台,才是好技术平台 • 统一集群信息管理服务,统一人员信息管理服务,统一告警策略服务(或者配置文件),是统一技术体系的基石
// 解析配置文件,取出监控项、集群、员工等信息 Array[monitor-item] A1=Parse(monitor-item.config); Array[cluster-info] A2= Parse(cluster-info.config); Array[owner-info] A3=Parse(owner-info.config); // 遍历所有监控项 for(each item in A1){ // 取出监控项的集群名,URL,http数据,结果等信息 clusterName= item.clusterName; url= item.url; getData= item.getData; postData= item.postData; cookieData= item.cookieData; result= item.result
• 模块告警收敛策略:按照集群名称做去重 • 接口告警收敛策略:按照接口名称做去重 • 告警频率收敛策略:按照M分钟N次限制告警 • 不同时段区分告警方式策略:工作日/非工作日,白天/夜晚区分 • 逐层上报告警策略:先模块负责人告警,n分钟未恢复升级,m分钟未恢复再升级 • 黑白跳动策略:当系统由正常变为异常,异常恢复正常都通报
集群信息管理,是架构设计中非常容易遗漏的一环,但又是非常基础,非常重要的基础设施,一定要在早期规划好: • 传统的方式,分散化管理集群信息,容易导致耦合 • 集中管理集群信息,有全局配置,信息服务,配置中心三个阶段