开源项目 aspnetcdn 是一个用Asp.Net打造的可用编程扩展的CDN服务器模型
来源:互联网 发布:企鹅fm播音软件 编辑:程序博客网 时间:2024/06/05 04:39
开源项目 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
- 开源项目 aspnetcdn 是一个用Asp.Net打造的可用编程扩展的CDN服务器模型
- ASP.NET入门篇【项目实战】打造一个自己的相册(二)登录模块
- 开源项目 aspnetcdn beta 版本已经完成.
- 关于ASP.NET服务器应用程序不可用的解决办法
- 打造高可用,高可扩展的互联网平台
- 打造高可用,高可扩展的互联网平台
- 学会了用git把aspnetcdn发布到codeplex和github了. 准备一个异步的版本计划..
- asp.net配置IIS后"服务器应用程序不可用"的解决办法(详细,可用!)
- 如何打造一个高并发,处理海量数据,高性能,易扩展,可伸缩,高可用的网站?
- ASP.Net随想-服务器控件的页面请求模型
- 通过 ASP.NET 异步编程实现可扩展的应用程序
- 通过 ASP.NET 异步编程实现可扩展的应用程序
- 通过 ASP.NET 异步编程实现可扩展的应用程序
- asp.net服务器控件的事件是怎样触发的
- 解决配置ASP.NET Web服务器出现的错误提示“当前服务器不可用”
- 用Squid和DNSPod打造自己的CDN详细教程
- 用.Net Core控制台模拟一个ASP.Net Core的管道模型
- 简单而又复杂的ASP.NET编程模型
- C#连接mysql实例
- 【cocos2d-x游戏开发】 从零单排之(一)
- Maven之我的理解及Maven的配置和安装
- android sample 之 其他
- hdu1551 简单二分
- 开源项目 aspnetcdn 是一个用Asp.Net打造的可用编程扩展的CDN服务器模型
- MarRover代码重构
- 利用剪裁节点实现跑马灯效果
- 嵌入式面试题---往往看似简单的问题 却最能看出你的功底
- Android NDK samples
- Wildcard Matching 包含? * 的字符串匹配问题
- 工作一周心得
- 六款小巧的HTTP Server
- shell-查找访问某个文件的进程并且杀死