写了一个基于新浪SAE的CDN反向代理+软防火墙小程序

2012-05-24

众所周知,新浪SAE(Sina App Engine)的线路情况绝对是国内最厉害的,无论是中国电信、中国联通,还是移动或者教育网,其速度甚至不是国内的一些低级的CDN所能比拟的;即使是新浪SAE自己的CDN系统(通过lib.sinaapp.com可以发现),线路也不及SAE。

新浪SAE的硬伤就是PHP程序需要进行移植才能使用,所以一定程度上也限制了其的发展。虽然随着新浪SAE的不断发展这种状况有所缓解,但是还是不能从根本上有所改变。

看到新浪SAE如此优越的线路,我昨天心血来潮,写了一个基于新浪SAE的CDN反向代理程序。程序的原理很简单,当客户访问SAE资源的时候,根据客户请求资源的URL和相应的缓存规则进行匹配;然后根据匹配的规则,如果SAE上有缓存并且尚未过期,则直接发出缓存内容进行相应;否则SAE从源服务器抓取数据并缓存。

我的缓存是用MC来完成的。按理来说,KVDB作为持久化存储,而且存储容量较MC大很多,选择它是自然而然的事情了。但是因为我的WWW站点存储的是一些HTML文件,占不了多大的空间,所以用内存级的MC问题也不大。再说了,从速度来说,MC较KVDB要快。

如果你对我的这个小程序有兴趣的话,你可以修改本地的HOSTS文件,将mawenjian.net的IP地址指向SAE的任意一个IP地址,比如115.182.15.250,你是不是发现速度有所提升了呢?

内存级的缓存,再加上国内顶尖的线路,绝对是极客杀人放火、居家旅行的必备杀器!嘎嘎! 阅读全文 »

CNNIC要开放个人注册.CN姓名域名

2012-04-25

我从站长站看到的消息,今天CNNIC向域名注册服务机构发出通知,全面启动“姓名域名”系统的具体方案及测试接口,为正式开放注册.CN个人域名做好准备。

据了解,每位自然人都可以注册和自己姓名相关的域名,比如张三,可以合法地注册zhangsan.cn或zhangsanweibo.cn,并且域名的年费将有大辐度的优惠。

据业内人士透露,“姓名域名”的注册价格将定在¥20元/个/年,CNNIC为此将启动独立的业务接口及结算方式。现相关测试工作正在进行当中,不久后将会正式开放给个人用户注册。

虽然好多IT界人士已经对.CN域名嗤之以鼻了,但是我还是觉得,.CN姓名域名的开放终究是一件好事。对于大多数普通人来说,拥有一个个人域名或者网站的成本将大大降低。况且对于普通人,域名并不是一个多么重要的商标,而且基本上不会被轻易收回或者暂停解析。

我个人认为,CN域名的变相开放个人注册,可能会带动中国部分互联网行业从冬天走入另一个新的春天,CN域名的影响也绝对不只限于域名行业。在CN域名受到广泛使用之后,必将会对和域名紧密关联的域名邮箱、虚拟主机、博客、轻博客、微博、CDN服务等产生影响。而谁能紧跟独立域名的发展潮流,谁就有可能在新的竞争中获得先机。

比如对于BSP(博客服务提供商,Blog Service Provider),像新浪博客,原先都是使用的新浪网的二级域名或二级目录,而一旦独立域名普及之后,是否要对支持域名的绑定功能呢?支持吧,意味着自有品牌的隐形流失,也给了用户更换托管商的自由,对经营不利;不支持吧,又跟不上时代的潮流,可能会被时代打到冷角落。而对于小型BSP呢,则没那么多的顾虑,可以放开手脚大干一场。再加上现在流行的开源博客软件并不亚于大型BSP自己开发的产品,所以发动一场挑战大型BSP的战役并非不无可能。 阅读全文 »

BGP线路虚拟主机?

2012-04-04

今天一时兴起,我用各个网站的ping测试命令测试我的网站所在IP的延时和丢包情况。不看不知道,一看吓一跳,竟然有数个地区的ping是超时的,而且好多地区丢包现象严重!

按说不至于吧,我用的是BGP线路的虚拟主机啊,各条线路动态冗余,不应该出现这种状况啊。而且我在家里、宿舍和机房都进行过测试,延时稳定在10ms左右,从未出现过丢包现象。

于是我怀疑是探测工具的问题。因为先前使用某网站提供的网站监控服务的时候,就出现过监控服务器不稳定,造成WEB服务器不稳定的假象。因此我再探测了一次新浪服务器的传输情况,结果就非常漂亮了,没有发生一次丢包。 阅读全文 »

莫让CDN服务成为小网站的瓶颈

2012-03-27

昨天晚上我在学校的机房上网(教育网),不自觉地打开了我的博客。因为刚刚给博客部署了新买的CDN服务(只为附件服务器部署),而且购买的CDN服务有教育网节点,所以我心想,我的博客的访问速度一定可以如飞喽。但事与愿违,博客的打开速度不仅没有提升,反而变慢了许多。而且通过浏览器的状态栏不难发现,载入时间最长的就是img.mawenjian.net域名下的资源,也就是部署了CDN服务的部分。

那么,这是什么原因造成的呢?

我首先从本地网络开始查起。我用的PC使用的线路是教育网的百兆共享,使用迅雷开下载,即使在忙时速度依然可以达到2~3MB/s。所以,瓶颈肯定不在本地网络这儿。

难道是因为CDN把我分到了一个非教育网的节点?我通过查询img.mawenjian.net域名所指向的IP归属及使用ping命令后发现,CDN并没有分错节点,而且本地PC到该节点的延时只有4ms。所以问题也不在这里。

不是节点的问题,那应该是源站的问题喽。但是我的www网站和img.mawenjian.net的源站使用的是同一个IP,我本地PC打开www网站速度流畅,这就说明了不是因为源站点拥塞而造成的。

既然前三个猜想都不是出现瓶颈的因素,那么原因只有一个——CDN节点!尽管这个结论有点让人难以相信,但是事实摆在眼前,不得不接受啊。可能你听到这里有些糊涂了,怎么就是CDN节点产生的瓶颈呢?且听我一一道来。 阅读全文 »

新浪SAE(Sina App Engine)支持域名绑定啦!

2012-03-24

昨天登录新浪SAE,我发现SAE已经支持绑定独立域名了。绑定方式很简单:

  1. 打开你要绑定域名的应用,转到“应用设置;
  2. 在独立域名设置中选择“新增”;
  3. 输入你要绑定的域名,绑定;
  4. 将要绑定的域名CNAME到 SAE给出的CNAME地址;
  5. 添加一条SAE给出的随机域名的A记录,以验证归属;
  6. 至此,over。

虽然SAE支持域名绑定是一个很大的进步,但是不得不说,这个域名绑定功能很鸡肋。 阅读全文 »

百度BAE(Baidu App Engine)出现在开放云平台

2012-03-22

首先做个更正,我在上一篇文章《百度云平台的虚拟机服务允许申请啦!》提到百度的虚拟机允许申请了,但这种说法并不严密。昨天百度云平台做了更新说明,目前虚拟机服务仅对百度核心开发者开放,暂不接受邮件申请。另有消息称,百度的虚拟机服务可能要收费。

言归正传。本来有传言说BAE将于本月24号正式推出,但我刚才登陆百度云平台后发现,“云环境”(即百度BAE)的导航菜单已经由黑白色变成了彩色,并且赫然出现在菜单栏中的第一个。这个“云环境”其实并非新生事物,原先属于百度开放平台,不过百度只开放给3级以上的开发者使用。

每个开放云平台用户可以建立10个BAE应用。BAE应用采用yourname.duapp.com形式的二级域名,目前尚不清楚是否可以绑定独立域名。BAE目前支持2种语言,即PHP和Java语言。不过Java环境目前处于公测阶段,使用的话需要发邮件申请开通。

百度BAE分为2种执行环境,即“公共集群”和“私有集群”。应用默认运行在公共集群,共享计算资源。公共集群对每个应用的流量、使用的资源有统一的限制。对于超过公共集群限制的应用,可以使用私有集群。私有集群中,应用独占资源,并且可以通过不断扩容来应对增长的流量。私有云的基本单位是执行单元。私有集群现阶段仅对百度核心开发者开放,暂不接受邮件申请。

在代码管理方面,百度BAE和新浪SAE有些类似,都是采用Web管理与SVN管理相结合的方式,只不过BAE不支持SDK方式的代码部署罢了。对于每个BAE应用,可以部署20个版本。百度这一点比SAE做的好些(SAE是10个版本)。在代码空间方面,百度很大方,每个开发者的存储空间为100G,每个应用的存储空间为10G。 阅读全文 »

百度云平台初体验

2012-03-19

百度云平台是百度旗下的云计算平台,提供的服务有:云存储(就是前一段时间网上报道的 百度1TB免费存储空间)、云环境(应该是类似于新浪SAE、阿里ACE的App Engine吧)、虚拟机、关系服务(关系型数据库)、消息服务,其中云环境和关系服务还没有上线。

作为百度BAE用户,我一段时间前就拿到了百度云平台的邀请码。当然,这个邀请码并不是全部权限的,目前只支持云存储和消息服务,虚拟机需要单独申请配额。

首先说下云存储吧。百度很大方,初始配额是20G存储空间、60G流量、200W的请求数。如果不够的话,还可以申请扩容,容量最大可以扩到1个T。百度的云存储同Google Storage、阿里云存储等云存储一样,也是以Bucket为存储单位的,每个人最多可以建5个Bucket。在系统分配给你的配额之内,你可以给每个Bucket分配单独的配额,从而不会出现单个Bucket耗尽所有资源的情况。 阅读全文 »

百度云平台的虚拟机服务允许申请啦!

2012-03-18

昨天登录百度云平台,我发现“虚拟机”一栏的图标已经由黑白变成彩色了。尝试着用鼠标点击,居然可以点开。我看了下打开的页面,我靠,度娘的“虚拟机”居然允许申请了!不过让我郁闷的是,“虚拟机”服务没有给俺一点测试用的初始配额,看着我可用的CPU资源0、内存0G、存储0G,心里边拔凉拔凉的。百度不够意思,没有像当初发放云存储服务一样大方,上来就是几十个G。

不废话了,说下百度虚拟机的申请过程吧。百度的虚拟机在申请之前需要填写一个表单申请配额,只有拥有了足够的配额之后才可创建虚拟机。虚拟机的配额分三类,即CPU核数、存储(单位是G)、内存(单位是G)。因为我没有合适的申请理由,所以我没有申请。

百度云平台的虚拟机目前分为四种型号,即标准型、均衡型、加强型和大内存型,分别适用于不同场景。提供的操作系统版本也比较丰富,有Windows、CentOS、Ubuntu、Redhat等,而且标准型主机貌似还可以安装XP。 阅读全文 »

Google趣闻——为保密要求机房关灯

2012-03-17

从谷奥看到的趣闻。Wired最近对Equinix机房的Chris Sharp进行采访,在文章中Sharp提到Google也有服务器放置在 Equinix 机房。但Google出于保护自己独家研制的服务器的需要,要求机房移除自己服务器区域里所有机架上方的灯泡。

Google员工去维护机器的时候肿么办啊?哦NO,也不能开灯!他们会戴着那种头顶上带一个灯泡的头盔进入机房。想想一下,是不是很像矿工啊?

邪恶一下,如果机架上方木有灯泡的话,咱么是否可以考虑摸着黑进去顺两台机器出来啊?只可惜到美帝的机票太贵,算了,不去想了,洗洗睡吧……

解决Windows 8中必须使用TrustedInstaller用户删除遗留Windows.old文件夹的问题

2012-03-10

昨天晚上我把Windows 8 PreView安装在了电脑上。因为是硬盘文件安装的缘故,所以只能从原来的Windows 7系统安装。安装过程本来选了“不保留现有数据”来着,但是Windows 8还是给我把原来的Windows文件夹保留了下来,并放在了一个名叫“Windows.old”的文件夹中,而且足足占了我8个G的硬盘空间。

本来我以为事情挺简单的,进入Windows 8后直接把“Windows.old”文件夹删除了就行了呗,但事与愿违,事情远没有这么简单。我在删除的过程中系统提示我没有权限,必须使用一个叫做“TrustedInstaller”的用户来进行删除操作。

针对这个问题,我上网查了下,有网友说可以使用光盘启动Windows PE操作系统来删除,可是我尝试后发现,这种方法根本行不通。当使用PE操作系统删除时,系统还是会提示你删除出错。

这个方法行不通,只能换种办法了,接着搜。根据网友的反映,Windows 7也曾经存在这个问题,有网友通过修改注册表的方法解决了,而且还给出了现成的注册表文件。我尝试着把它运用在Windows 8上,经过一番尝试,居然成功了!

这到底是个什么原理呢?

原来TrustedInstaller是一个权限次于Administrator的虚拟用户,如果我们使用普通账户删除属于TrustedInstaller用户的文件,是会被操作系统拒绝的。所以,我们需要把文件的所有者由TrustedInstaller修改为当前用户。而修改注册表,其中的重要步骤就是完成这个操作。

怎么使用呢?

首先下载这个注册表文件,解压,双击“启用TakeOwnership.reg”导入注册表,这时在你右击文件夹时会多处一个提权的选项(英文的,好像是叫“Take Ownership”)。

然后在你要删除的文件夹或文件上右击,选择“Take Ownership”,这时会出现一个命令提示符窗口。注意千万不要关闭窗口,等提权完毕后这个窗口会自动关闭的。提权结束后,你就可以放心大胆地删除了。

请大家注意,我在提权后删除“Windows.old”文件夹的时候,还是会出现类似的问题而不能删除,但此时的文件拥有者已经变成当前用户了。不必慌,此时不要将该文件夹作为一个整体提权删除,只要进入该文件夹,将文件夹逐个删除就可以了。

文件夹删除完毕后,使用另外一个注册表还原就行了。

附件:获得TrustedInstaller权限工具