虚拟与现实 - 蘭陵N散記

作者:JerryXia | 发表于 , 阅读 (0)

万万没想到,在即将迎来2016年时,微信,科技新闻中都在传“Debian创始人Ian Murdock离奇死亡,曾发推表示要自杀”。作为一个对Debian系Linux的忠实爱好者,有种莫名的感伤,对大神的离去表示衷心的哀悼。
30日Debian社区正式发表了悼念声明如下:
我们怀着沉重地心情哀悼刚刚离我们而去的 Ian Murdock,开源软件的坚定支持者,父亲,儿子,和 Debian 中的 “ian”。
Ian 从 1993 年8 月开始启动 Debian 项目,并在同一年的稍晚时间正式发布了它的第一个版本,Debian 还会一直坚定不移地继续努力,成为流行世界、亿万人受惠的通用操作系统,不管是嵌入式设备还是太空站,都能看到它的身影。
Ian 一直非常关注在创建一个发行版和开源社区文化的过程中做正取的事情,不管是技术上,还是道德上。每一次准备好的系统发布,都包含着对自由软件和自由精神立场的坚定支持。
Ian 对开源的忠诚奉献一直引导着他的工作,不管是在 Debian 还是在后来的年月里,一直伴随他朝着最好的未来。Ian 的梦想一直都在发扬和纪旭,Debian 社区仍然非常...阅读全文

软件分发加速 - 蘭陵N散記

作者:JerryXia | 发表于 , 阅读 (0)

背景在云环境下,服务器(物理机)或虚拟机越来越多,存在同一个应用软件需要大规模地部署场景。传统的方式下是搭建一个软件仓库,由物理机或虚拟机节点直接从软件仓库下载。如果采用sftp或http协议,则只能做到从一个中心软件仓库分发软件包给其它的节点,若给上百台的节点同时分发同一软件包,则存在受带宽、负载限制等因素,导致分发的速度就会比较慢。
常用技术组播传统的IP通信有如下三种方式:
单播(Unicast):源主机与目的主机之间点对点的通信。广播(Broadcast):源主机与同一网段中所有其它主机之间一点对多点的通信。组播(Multicast):源主机与一组目的主机之间一点对多点的通信。与广播不同的是组播组中的所有接收者都可收到同样的数据拷贝,并且只有组播组内的主机可以接收该数据,而其它主机则不能收到。组播技术有效地解决了单点发送、多点接收的问题。所以组播非常适合运用在云环境下的软件分发场景,单点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载。
一般情况下,在二层网络中,交换机会默认开启组播,但会对组播带宽进行抑制,防止网络风暴造成的影响。在实现应用中可以在交换机上设...阅读全文

如何看待Docker - 蘭陵N散記

作者:JerryXia | 发表于 , 阅读 (0)

从国内来看,从14年的发迹,到15年的红火。基于Docker的国内创业公司不停的涌现,Docker的概念不断地炒作。软件界似乎人人在谈论Dcoker,给我的感觉就像中国大妈跳广场舞一样,歌声大,动作乱,到底有没有用,难说。毕竟Docker只是一项技术,技术是否能成功应用,给你的产品带来价值才是最重要的。下面是个人一些对Docke的看法与见解,可能有不对之处,望交流赐教:
标准化是基础从对Linux的贡献角度来说,Docker并没有什么技术创新。但为什么它会得到如此众多的追捧,主要他得益它制定了标准。尤其是我所在电信行业感受最深,真是得标准得天下:
容器镜像:软件的交付件标准化,使得软件在云环境中的构建,发布,运行,迁移,复制等软件分发变得更加容易。容器引擎:容器操作方式标准化,提供标准的Rest API,使得对容器的创建,删除,启停等生命周期管理更简单。简单就是生产力我们再来看Docker的诞生,它是来源于Docker公司前身dotCloud的实践,出发点是为了解决如何帮助开发人员实现软件的快速打包,部署。其实也就是目前大家都在说的CICD,通过统一的格式来提升打包,测试,部署...阅读全文

Taipei-Torrent源码分析 - 蘭陵N散記

作者:JerryXia | 发表于 , 阅读 (0)
WEB服务器文件元信息(metainfo)BitTorrent Tracker原始资源发布者目的端用户浏览器目的端用户下载者其中原始资源发布者与目的端下载者都称为Peer,而Tracker主要用于获取不同的Peer信息信息,BitTorrent把要下载文件虚拟分成大小相等的块,并把每块的索引信息与Hash验证码等元数据信息写到一个.torrent文件中,即种子文件。种子文件采用B编码格式,它本质是一个文本。Peer与Tacker或DHT节点通讯也采用B编码格式。根据获取Peer信息的途径不同,又分为两种。
有的Tracker结构[WebServer]|| torrent file|[  Peer ] ---Get Peers --- [TrackerServer]\\Download&Upload(TCP)\\[ OtherPeer ]Trackerless的DHT结构[WebServer]|| torrent file|[  Peer ] ---Get Peers --- [DHT Nodes]\\Download&Upload(TCP)\\[ OtherPeer ]Tracker...阅读全文

重构已死 - 蘭陵N散記

作者:JerryXia | 发表于 , 阅读 (0)
上周在食堂吃饭,遇到同事聊起最近的系统重构,她说这一批的新员工不如13年的一批,就一个看似简单的问题也是折腾很久,重构的周期越拉越长。我作为这次的重构的特性SE,可以说也是硬着头皮上。我是越来越反感重构,尤其是涉及到多个模块的重构。在新年的聚餐上,我说我给你挖了坑,你来填坑,让我感到非常惭愧的,即又不得做这些事。
在现阶段项目交付变得越来越难,一方面我们面对众多的需求,做还是不做并不是你能轻易决定的;而另一方面我们又想从架构上解决可以快速满足需求。但本质的是这几个月内,人的技能与意识没有根本性的变化。在大家没有主人翁的精神下,说来说去也是为了需求在垒代码。即使你想从代码结构上重新设计,让系统更松的耦合性,更好的扩展性。受于项目进度冲击,以及代码实现者的被动,最终也会变得让你不想回头多看一眼。
编程如果仅仅越考虑短期实现项目需求目的肯定是不好的,但想通过强制的管理手段,或重构手段来想延长它的生命周期也并一定能行得通。当同一份代码是多人开发与维护,并在领导眼中的谁有时间谁就上的话。本意可能是想通过多人的备份,或共同完成以期缩短工期。其实这种做法无疑更是加重了代码朝腐化之路上走的趋势。
...阅读全文