分类目录: 软件技术

OpenStack Swift源码导读之——可插拔的后端设备实现

Swift作为一个存储的具体实现出现在OpenStack中,与Cinder的定位有差别,这导致Swift的兼容并包性不够强。必须基于XFS文件系统来存储数据?显然Swift也希望能将数据存储到更多的后端设备中,这样Swift可以与具体的XFS文件系统解耦,作为独立的存储软件存在。这能使得Swift存储的构建更加灵活,同时也能吸引更多的存储厂商投入到其怀抱中。

Swift提供了一种简单机制来实现后端存储设备的pluggable——可插拔的后端。这篇文章想探讨一下该机制。在亚特兰大峰会上面,这一特性是Swift的热门话题之一,对于亚特兰大OpenStack峰会涉及Swift的话题这里有汇总:链接

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 12票) Loading ... Loading ... | 同时归档在:Swift, 云计算/云存储, 架构设计 | 标签: , , , , , |

[转]处理器微结构史话

转载自:破布的博客

【注:这是经过小幅修改扩充的版本,刊登在中科院计算所计算机体系结构国家重点实验室的内刊《体系结构国重快讯》上,与《弯曲评论》上已刊登的版本小有不同,带来阅读不便表示抱歉。】

1945 年8月6日与9日,广岛和长崎两座日本本土城市先后在惊天动地的原子弹爆炸中被毁灭,核武器由此首次步入公众视野。全世界都被那两朵巨大蘑菇云的威力所震 慑。这两道重击也直接摧毁了日本最后的抵抗意志,一周后的8月15日,日本宣布无条件投降,在人类历史上写下最惨痛一页的第二次世界大战终于结束。核武器 横绝古今沛然莫御的威力,使得它成为战后制衡国际局势的一大王牌,对它的研究和制造在战后仍然未曾停息。而我们这一系列连载故事的主角,盈盈栖息于指尖之 上,不过毫厘见方的微型处理器,和这两朵摧枯拉朽的蘑菇云其实有着千丝万缕的联系。

Atomic_bombing_of_Japan 
(图注:两次原子弹爆炸的照片,来自维基百科。)

阅读全文 »

| 1 分2 分3 分4 分5 分 (5.00- 11票) Loading ... Loading ... | 同时归档在:奇趣见闻, 数码硬件, 架构设计 | 标签: , , , , |

一张图记住常用Linux系统性能诊断工具

首先是在陈利人的微博上面看到这张图,找了一下图片的演变过程,如下网页做了较详细的介绍,链接。另外这里给出了Linux性能监控、测试和优化的三个版本的工具:链接
Linux Performance Observability Tools

| 1 分2 分3 分4 分5 分 (5.00- 5票) Loading ... Loading ... | 同时归档在:IO编程, 实用脚本 | 标签: , , |

两步验证确保云上个人数据安全

苹果的“艳照门”事件在让广大屌丝看到了任何时尚成人杂志都无法看到的“绝密”照片外,也引发了一些思考。在云技术日益普及,并给我们的工作生活带来极大便利的同时,云安全始终是一个隐藏的巨大威胁。云不像本地的物理设备,可以隔绝网络,放到保险箱里面锁起来,云必须是互联互通的,只要有网络的地方,就有黑客的攻击路径。题外话,即使是本地硬盘,也可能数据泄漏,08年的香港娱乐圈的“艳照门”事件即是苹果电脑送修引发。

两步验证应该是目前最安全的账户保护机制。所有的网银、网购账号无不是使用该方案。形式多样,本质都是使用另外一个手持设备或者微型密钥生成器,来进行第二道认证。只有同时知道账号的密码并且拿到了密钥生成器才能访问账号。频繁使用的服务,敲一次密码都觉得麻烦,还要额外加上一次设备验证,着实麻烦了些。但是,要想到,即使是苹果这样的公司都会疏忽,忘记对“Find My iPhone”服务限制密码试错的次数,其他服务就更难说了,因此我们能做到就是尽可能减小自己的账号被泄漏的机会。

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.82- 11票) Loading ... Loading ... | 同时归档在:云计算/云存储, 移动互联 | 标签: , , , , |

并发流程控制—CountDownLatch

假如有这样一个需求,当我们需要解析一个Excel里多个sheet的数据时,可以考虑使用多线程,每个线程解析一个sheet里的数据,等到所有的sheet都解析完之后,程序需要提示解析完成。

在这个需求当中要实现主线程等待所有线程完成sheet的解析操作,最简单的做法是使用join。代码如下:

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.75- 12票) Loading ... Loading ... | 同时归档在:Java, 多线程编程, 语言基础 | 标签: , , |

家用电脑中高档配机方案

中规中矩的中高端家用配机方案。据称,E3Core i7 4770是同一条线上出来的,后者针对桌面做了优化,但是自带的那个HD 4600的显卡实在太渣。A卡的性价比比较高,这块HD 7870更是,接近R9 270X的性能,好于GTX660,但是比二者都要便宜,也说明R9 270X还有降价空间。

其他配件综合了京东和淘宝店销量数据。主板选择比较低端,主要考虑并不需要太多的接口。只需要能够带动E3和显卡即可。电源有冗余。被罗技的M525坑伤了,微软的应该不错。可适当配一块机械硬盘,120G的SSD实在有点小了,不过简单分析了一下这块,MLC颗粒里面价格相对来说比较低的了。SSD这种就不要考虑寿命了,用个两年,也许价格能降到机械硬盘的水平了。音箱用了入门级的书架音箱,主要是出于个人比较喜欢使用音箱听音乐,之前有试过2.1的,的确是重低音比较浓厚,但是没有百听不厌的感觉,可以尝试一下书架音箱。

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.69- 16票) Loading ... Loading ... | 同时归档在:数码硬件, 移动互联 | 标签: , , , , |

关于回调函数和this指针探讨

在C里面,经常需要提供一个函数地址,注册到结构里,然后在程序执行到特定阶段时,回调该函数。创建线程,注册线程运行的主函数就是一个典型的例子。这里以简单的回调实例,说明C++中回调函数为成员函数时有关this指针的问题。由于C++对C的继承关系,C++没有自己的线程封装技术,一般而言我们创建线程时,还是用C的回调函数机制。类似的例子也挺多的。在Java等纯粹的面向对象语言,则不一样,不光有自己的独立的线程类型,对于回调,也是注册整个对象,而不是注册一个方法,如常用的观察者模式。这里,在网上查阅了大量关于this指针、类成员函数和静态成员函数的相关知识点,结合自己的理解作一些总结。

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.89- 19票) Loading ... Loading ... | 同时归档在:C/C++, 语言基础 | 标签: , , |

Windows与Linux文件系统互访的几种方法

首先,我们知道基于文件的几种服务:ftp,sftp,这两种服务都是文件传输服务,偏重于网络传输,并不是实时互访。通常,我们需要在远程和本地同时操作同一个目录,如:在Windows下使用各种强大的IDE编辑代码,在Linux下编译和运行该代码。如果在Windows下编写好代码再拷贝到Linux下编译,这样修改时很费事,直接在Linux下修改,还要同步回Windows,相当费事。当然有人会说,所有的工作都在Linux下搞定,VI、Linux命令行足够强大,没有需要使用Windows系统的理由,本文的重点不在讨论命令行熟练程度与工作效率的问题。

怎样像访问本地文件系统一样访问远程的文件呢?如果远程的系统与本地系统是不同类型的,又该如何做呢。

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.96- 23票) Loading ... Loading ... | 同时归档在:存储技术 | 标签: , , , , , |

OpenStack Swift源码导读之——业务整体架构和Proxy进程

OpenStack的源码分析在网上已经非常多了,针对各个部分的解读亦是非常详尽。这里我根据自己的理解把之前读过的Swift源码的一些要点记录一下,希望给需要的同学能带来一些帮助。

一、Swift的整体框架图

Swift代码树

阅读全文 »

| 1 分2 分3 分4 分5 分 (4.61- 23票) Loading ... Loading ... | 同时归档在:Swift, 云计算/云存储, 架构设计 | 标签: , , , , |

腾讯自研的弹性云计算系统

来自InfoQ大讲堂的腾讯云虚拟主机的分享。包含云虚拟云主机平台CVM的总体架构、HA与配置升级、在线热迁移及弹性计算的未来与挑战。从文中的介绍可见,整个CVM为腾讯自研,参考了业界的OpenStack的架构。从视频中可以看到CVM的发展历程,目前存在的一些问题,以及做得比较好的热迁移和配置升级方案。

cvm

演讲PPT文档链接。视频链接

| 1 分2 分3 分4 分5 分 (3.77- 13票) Loading ... Loading ... | 同时归档在:云计算/云存储 | 标签: , , |