昨天成功把aspnetcdn v0.1代码发到codeplex和github上.
后来和客户谈了一下, 发现这玩意的前景还是很好的.
所以计划出一个异步的, 带通道的, 能直接部署到公共服务器上的版本.
和aspnetcdn不同的是, 异步版本将创建一个新的客户端, 类似http://homehttp.com/的做法.
把内网客户端将与公共服务器建立一条通信的通道, 让内网的网站也能轻易地被代理到.
整个计划, 一共会有3个版本 :
1 - aspnetcdn 开源, 同步版 , 可扩展, 教学用途
2 - cdnasync 非开源, 异步版, 可自行部署, 可扩展
3 - homehttp.com 非开源, 异步版, 不基于aspnet, 云服务托管版, 不可扩展
其中 aspnetcdn 是不会实现通道模式与内网的服务器进行通信的.
cdnasync依然会继续部署在asp.net上. 性能并不是最主要考虑因素.
因为要给客户安装, 一定要做到安装简单, 维护容易. 并且不能和IIS有端口的冲突.
应用场景 :
很多传统软件是直接装在客户办公室的.
这些软件需要扩展功能, 让外网能访问到的话,
现在很多人只能用花生壳等类型的动态域名来访问. 这种方式成本不低
(动态域名的商业版很贵, 免费版或入门班经常出现解析错误, IP变化后更新的时间也超长)
而且这种方式很受上传速度的限制.
使用cdnasync(大客户)/homehttp.com(小客户)方案的话,
使用缓存技术, 和增量压缩技术, 可以使带宽放大60倍.
其中增量压缩技术的效果是纯gzip的5倍以上.
这样就会减低客户办公室数据外传的压力, 提高网站相应速度.
使用通道方式的好处就是, 无需动态域名指向到办公室.
一来可以避免配置路由端口映射等事情减低部署成本.
二来可以保护客户上网IP的安全免受攻击.
三来在IP更换的时候可用最快的速度恢复连接, 无需等待DNS延迟