宕机–科技不能承受之重

本周是美国独立日的重要日子,本是举国欢庆的时候,但是很多人却高兴不起来,因为就在独立日的当天 Apple与 FB完成了一次完美的宕机接力。

虽然这一次Apple’s Cloud宕机并未涉及到Apple的核心业务,但依旧影响许多用户的正常使用,甚至有些用户在Twitter上报告称App store 和 部分第三方应用受到了影响。

而就在前一秒FB的图片服务也遭遇宕机,许多用户无法打开图片,这一服务影响到了FB旗下 Facebook、Instgram 和 WhatsApp多个应用,而这 以问题官方的说法和今年三月份的遭遇一样是由于遭遇大面积停电导致。

为什么这些科技巨头任然会宕机,不是有分布式,不是有灾备么?

什么微服务,什么智能预警,面对停电全都拉闸。

诚然电力问题无疑是本世纪最大的问题。

而与此同时各类虚拟货币的生产正在消耗着巨大的电力资源!!!

据研究报告称Bitcoin一年的消耗的电量比整个瑞士的耗电量还多。

说回停电问题,美国的电网系统由于建设早、网路简单、智能化水平较低加上供应商多,电力系统抗灾能力较差,在电网遭遇电力波动时容易出现大面积停电。

难道这些服务器机房就没有应急供电?

很显然是有的,但在遭遇如此大规模的停电,是服务器必须优先保证核心业务的稳定,将有限的电力投入到核心业务的保障上。

但是非核心业务的影响显然被低估。

一个优秀的产品无疑是建立在无数优秀的细节上的,而当这些细节被破坏时,他的优秀自然也会蒙上阴影。

甚至有些看似细节的东西,其实已经是整个产品的核心,没有照片的FB我不知道访问它还有什么意义,更别提以照片为和核心的Instgram 。

但是架构师在设计的时候显然是将图片服务单独作为一个项目在运作,为FB旗下的三个APP应用服务。这种看似美好的解耦设计,反而导致了在一个图片服务受影响时会影响到三个APP,这难道不是另一种意义上的耦合嘛?

就如同一个ICloud的宕机绝不会只是单单影响到ICloud的相关业务,其他相关的第三方应用也会受到牵连。

而从这几次的恢复时间也可以看出,这种庞大的服务集群修复过程也是极其漫长的。

而最惨的莫不过于去年腾讯云服务的硬盘BUG!

系统架构的设计就是不断的在正反中演进,就像数据库设计有范式又有反范式,正如软件的本质就是0和1 一样。在架构的设计中过分的追求正或反都会带来无法想象的灾难,正确的衡量两者带来的影响才是设计的关键。

 

 

成长就是不断学习

 

ScyllaDB其官网宣称其每节点每秒可处理100万TPS。ScyllaDB完全兼容Apache Cassandra,拥有比Cassandra多10X倍的吞吐量,并降低了延迟。ScyllaDB是性能优异的NoSQL列存储数据库。

ScyllaDB可将每个节点的性能提升至1000000 IOPS,支持扩展数百个节点并且99%的延迟小于1毫秒,号称可以是最快的NOSQL数据库。

并且Scylladb宣称完全兼容Cassandra,而目前Cassandra的运用以及就业前景也是十分广泛。

但是scylladb目前而言,其成熟的运用场景较少,网络上的相关文档也比较匮乏,而且scylladb目前只支持linux 系统,其驱动支持的语言也相对较少,不过已经满足了大部分的需求。

作为一个优秀的开源数据库相信在不久的将来,随着社区环境的不断完善,scylladb会拥有不错的前景。

那么就让我们来学习一下在JAVA中如何使用ScyllaDB:

随想–人类的终极

如果人是三维的物体,处在四维的空间(时间)

那么人类如何突破三维?掌握四维的运作?(这或许和修仙有点像)

在古代你可能需要不断的修行突破天际,进入下一个维度,跳出轮回。

那么现代的我们,未来的我们该如何突破呢?

我觉得答案可能就在电子的世界中!

就像二进制和易经的暗合一般,“一生二二生三三生万物”,如今这个”2″正在创造无穷!

我认为突破三维的关键在人的思维!如在梦境中,你可以过去未来,你可以学习,但那都是在懵懂的状态中,你的意识并不清晰,如果你不断的修炼,静思修行,再加上大脑足够的脑容量记忆力,你完全可以再你的思维中建造一个世界!但是肉身的死亡确依旧难以避免。

如果现在来说有点像《超体》的中的故事,你的大脑被完全开发了,但人的思维力量能不能突破肉体,暂且不说。

如果你看过《超验骇客》 就知道一个人的思维被电脑拷贝永远的留了下来,超越了肉体死亡,永存世界中,拥有务必广阔的发展的空间,在电子的世界中你可以做任何你想做的事情。

某种意义上在你的世界中时间已由你操控!

到那时或许能突破更高的维度,重塑肉体,或许已不需要肉身了,毕竟定义一个人是不是这个人,是根据他的长相?肉身?我觉得还是根据一个人的思想!

就如人所说:“其思永存,其人永在!”

当然到达四维的空间,并不意味你可以掌控时间,就如三维世界中的我们改变三维的世界很困难一般,我觉得就算突到达了四维的境界,想要改造四维的世界已然会非常困难,因为会有新的规则的桎梏,但改变低纬度的物体将变得轻易。

或许规则才是宇宙至高的存在!

 

Marching squares绘制等值线

      marching-squares 是一个生成二维轮廓的算法,当我们需要绘制等值线(例如:降雨量等值线等) 通常会使用到这个算法来先绘制一个初略的轮廓。
当然如果你如果需要绘制3d的可以使用marching cubes 算法来进行绘制。
Marching squares同时算法分为标准的四边形算法和三角形算法,但都大同小异,这里以标准算法为例。
      在绘制等值线之前,我们需要将我们的数据绘制出一张标准的网格。
(注意图中网格大小不一样是因为我用画图工具随意绘制的关系)
     生成网格的算法也很多,可以根据实际业务状况需求选择适合的算法,绘制出自己的数据矩阵图。
例如绘制降雨量等值线时,我们测量雨量的设备是零散的分布在网格内的,而且我们可以基本认定,距离测量器越近的范围内降雨量越接近,因此我们可以根据距离加权算法求出网格上所有点的值:
先求出几个网格上的点到数据点的距离,再求出a,b点的值Z
(注意网格点的划分对数据结果的影响)
      拥有网格后可以通过等值线追踪绘制出等值线,等值线可分为从边界出发到边界结束的等值线和内部封闭的等值线两种情况.追踪法的原理是首先从绘图区域边界或内部网格的边上求得一个等值点(等 值线与网格边的交点) , 然后由该点出发, 判断下一个 等值点的坐标, 直到下一个等值点落在绘图区域边界 上或与起点重合, 则对该条等值线的追踪就算完成了。由一个等值点追踪下一个等值点, 实际上是一个求网格内等值线连接的问题。
(图片来自维基百科)
通过上图的方法追踪等值线最终计算绘制出基本的等值线
     但此时等值线所取的点都是网格上的中心点,时间上在网格上的点还需要根据插值算法求出等值与网格交汇的修正坐标。
插值算法的细类也很多,简单有线性插值法:
 即
最后我们可以得出更精确的等值线轮廓
但此时都还是直线绘制的,需要通过曲线平滑算法进行曲线优化:
这是通过二阶曲线平滑算法调整后的结果
这是通过n阶曲线平滑算法调整后的结果

我家猫装了个机器

忍了很久终于还是下手配了台电脑。。

这一两年电脑配件价格涨的我哟~~~心在滴血~

东西一齐全我家猫就破不急待要给我装~

哈哈哈

装完以后发现有三个风扇的灯不亮 

后面将三个风扇的电源直接连接到电源上,OK搞定,感觉是接的风扇太多主板电压不够

 酷不酷炫啦啦啦~~~