49.《智能路由器开发指南》2016.11.24
这是一本难得一见的入门级国产的技术好书。
作者只比我大6岁,即便这书还有需要改进的地方,但是我认为看完这本书,能对智能路由器的openWrt系统有个清晰的了解,对其系统架构也有个完整的概念。
智能家居是当下最热门的话题,不过大部分的智能家居设备只是多了一个手机客户端,最多就是精简版了一个android系统放进去,然后手机能够看到设备的一些运行情况,简单的操作一下设备的开关与功能设置,这样勉强能称为智能家居的设备,我是不会购买的。
不过,倒是很多家用的设备都开始需要连接网络,开始融合我们的使用体验,正如小米盒子,乐视盒子和苹果TV就是这样的一个设备,可以点播,也可以把ipad或者手机的视频投影到我们的电视。
不过万物互联这一伟大的愿景的实现,需要有好的路由器支撑,而且随着我们对网络使用越来越多的个性化需求,普通的无线路由是无法承载这个需求的。我买第一个无线路由,应该是2004年,那年我读大二,假期回家安装调试好无线路由,早早的摆脱那根让人讨厌的网线,忽然有一种当上极客的感觉。
TP-LINK和DLINK,这两个牌子的产品一直伴随着我接下来10年多的时间,而这些无线设备从原来的200多慢慢的降到了几十块钱,然而接入网络的设备越来越多,感觉上网的速度越来越慢,尤其是我自建了一个私有云,利用闲时自动下载些电影,但是XBOX或者TV盒子播放的时候,总是很不流畅,我怀疑这是无线路由器数据收发遇到了瓶颈。后来入手极路由,是有点改善,但是依然出现了播放卡顿的现象,于是我一狠心,入手了一个官方翻新的Linksys路由,wrt1900ac。linksys,什么来头,早十几年被思科收购了,然后近年来又卖给了贝尔金,好歹有点思科的血统。
你问我思科是什么?纳尼,我们简直不能好好的玩耍了。思科就是华为一直在山寨,从未超越过的公司,但是架不住,“我只花思科不到一半的价格,可以获得思科大部分功能,不行换一台新的加起来也没思科贵”的营销策略。思科是网络界的开山鼻祖,把互联网从一个实验室产品,推向工业化。据闻,有人把墙角落满了灰许久不用的思科设备接上电,照样运行得好好的,这质量可见一斑。
我虽然做过一些手机系统开发,也做过电信后台的计费系统的研发,但是从计算机技能的知识结构来说,我还是个菜鸟,我指的是互联网行业。我用过unix,跑得是海量数据处理,但是框架做的太好了,自己只是一个流水线线上的装配工人。回想起来,那时候真是把平台的能力误以为是自己的能耐了。调试大部分用的是printf语句,而不是gdb,正如小米加步枪与飞机加大炮的区别一样。我不做运维,所以极少去做装系统,调防火墙此类的工作;平时极少的参与网络编程,几乎都是基于事务的数据库编程,于是我就是这样与发展最快的互联网技术脱节的。而这本书恰好的让我这一个小白,能够从底层机制认识这样一个架构漂亮的系统,之所以说它漂亮,是因为它的统一编译框架、统一配置接口与开放的软件包系统管理。
统一的编译框架,意味着数千个软件以相同的方式进行编译,而且可以在不同的平台下根据自己的实际需要来编译,这是LINUX的优势,不能算是OpenWrt特有的;但是统一的配置接口与开放的软件包系统管理却是这个系统的一大特色,也是亮点,统一配置接口意味着,数千个软件在几十个平台以相同的方式来存取配置数据,系统是按照配置的数据来运行,而开放的软件包系统管理,意味着可以独立编译开发软件,安装到系统上来提供服务。
这一描述,太过专业,通俗的说就是这系统具有高度的扩展性,你可以随时添加你要的功能,而不会对现有的系统造成影响,我指的是如果不胡来的话。这说的还是抽象,就比如我们现在的某一个业务系统,你说要增加一个功能,公司说很难很难,报价很高,如果支持我们上面说的特性,很快就可以像搭积木一样搭起一个新的功能,挂到现有的系统上。不过这样的体系架构师需要很高的造诣,我虽然设计不出,但是我能欣赏,我能享受他们的好处。
另外,让我眼前一亮的是,这个系统竟然是通过web界面来操作,基本上就是一个web界面的操作系统,一个开源的系统尚且能做到这个样子,而我们的软件供应商却一点都达不到,还拉低我对体系结构的认知,除了用穷凶恶极来形容,我还真不知道该怎么形容。
其实用好这些开源的软件,不但能为业务处室解决问题,还能大大降低软件的采购成本,降低开发项目的风险,这虽然是我想做的,但是步履维艰啊。