您的位置:首页 > 编程语言 > ASP

开源项目 aspnetcdn 是一个用Asp.Net打造的可用编程扩展的CDN服务器模型

2014-11-16 13:12 751 查看
开源项目 aspnetcdn 在2014年11月启动. 今天完成了最基础的版本 v0.1

关于CDN是什么, 可以看百科 http://baike.so.com/doc/5369544.html

为什么要做aspnetcdn ? 为教学而生

目前世界上最流行的CDN软件是大名鼎鼎的nginx

它几乎集一切强大的优点于一身.

那为什么还要做一个 aspnetcdn ?

因为虽然很多cdn软件很强大. 但是代码也相对复杂.

aspnetcdn的目标并不是要实现强大的cdn软件, 而仅仅是出于教学的目的.

aspnetcdn 到底有多简单?

它直接搭建在Asp.Net上, 已经免去了很多重复的工作,

最初的版本v0.1 , 仅仅只有5个cs文件, 共800行不到的代码.

执行的顺序非常简单直接. 是新手学习的最佳材料.

如何下载和测试aspnetcdn?

这是一个基于 Apache License, Version 2.0 授权的项目.

最新下载地址 : http://homehttp.com/downloads/redirect.aspx?type=aspnetcdn
需要ASP.NET 2.0或以上的版本, 不支持IIS的Classic经典模式. (请设置成集成管道模式)

这是一个VS2012的项目. 如果你没有VS2012, 没关系, 把'aspnetcdn-web'的内容部署到IIS上也可以运行.

手动把代码提取出来然后重新整理项目和编译很容易.

aspnetcdn是如何实现逻辑上的扩展的?

可以说, aspnetcdn是一个远程的URL REWRITER

开发人员, 根据当前请求的Request.Url,QueryString,Cookies,ServerVeriables等属性的判断,

然后允许指定目标服务器, 修改URL,修改HOST名字,

最终实现让aspnetcdn当前所部署的网站, 分别从任意个服务器外去获取内容.

是否有典型的业务模型?

模型1 :

一个网站 '/' 下有一个子程序 '/console/' , 但子程序收到网站根目录下/web.config 的影响而无法部署.

这个时候可以把/console/部署为http://127.0.0.2/console/ , 在网站 '/' 上安装 aspnetcdn,

检测如果请求路径包含/console/的话,就重定向到http://127.0.0.2/console/上去

模型2:

一个云OA服务, 有很多台WEB服务器. 但是服务器的缓存非常占空间而且低效.

原因是客户A的多个用户访问服务的时候, 经常被负载平衡分配到不同的服务器上去.

导致几乎所有服务器, 都包含了客户A的缓存数据.

解决办法:

通过用aspnetcdn做转发, 探测COOKIE, 如果CustID=A, 那么就固定转向到服务器1上. 其他客户如此类推.

这样每个服务器都会运行特定的客户群, 互不干扰. 性能得到大大地提升.

aspnetcdn 是否可以拿来真用?

完全没问题的. 但是要注意前期版本功能少, 兼容性差.

即使做到后期, 由于基于Asp.Net的模型, 性能也不会好到哪里去.

但它的扩展方案的确是很容易学习和编程.

所以如果你重视的是业务模型, 而不是只考虑用最省的方法去搭建CDN, 那么aspnetcdn是合用的

Powered by homehttp.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐