路过秋天

同样的3年,有的人从学生到当了MVP了,而我却在原地,卖弄当年的代码,秋天的风,有点凄,有点凉!

公告信息
内涵是很强大的~~~别看外表~~~当犀利哥入侵不了的时候,感觉有种莫名的失落~~~
文章档案
最新评论

小网站架构优化:子应用程序分离方案

前言:

标题为啥要加个“小”,只因为上一篇文章“小网站架构优化:从100并发抗到4000并发”,带了个“小”字,所以这篇也顺流加个“小”了。

大意“小”是特指秋色园(流量小,服务器配置低)的意思,毕竟文章都是从实战后才写出来的。


关于网站的抗并发实情:

每个网站的性能点,最后都离不开抗并发这一话题。

以至于好多个文章动不动就写“抗百万并发的架构”,和“抗千万级的并发架构”。

什么样的站点能抗的起高并发?

除却外部带宽等因素,内部答案只有一个:静态网站。

因为静态页面据说在操作系统内核级就缓存做出响应,所以抗并发能力理论上是最强的。

所以,你看看电商网站,除却技术背后的实现,你能看到的页面,多数是静态页面。

所以技术的背后是Java还是.net还是php,看似就不是那么的特别了。



根据某网友提供的数据:

CSDN首页的文章:2000并发以下挂了,这就是直接java的结果。

而CSDN的博客:能顶好万级的并发,这块是ASP.NET提供服务。

而CSDN的论坛:能顶好几十级以上的并发,这就是静态化的结果。

所以那篇很火的“去.NET化的文章”,本人认为是纯属作者个人意淫。

当然了,这个小例子也是本人意淫的结果,仅供举例,不一定所属事实。


回归下正题:

背景:

在秋色园系统的优化文章中,都似多似少的提到了搜索这块引发的CPU命案。

某天,我想起了“IIs 网站应用程序与虚拟目录的区别及高级应用说明”这篇文章的内容。

有了想把搜索独立出去的想法,这样即使搜索挂了,也不影响网站访问,更不用担心搜索引发的CPU命案。

分离搜索方案:

于是三七二十七,就开始想了。

目前秋色园的URL搜索这一块为:www.cyqdata.com/search/类型/搜索内容。

而文章的关键字(一般博客为设置为tag,引到文章,而我是引到搜索区)。

想了方案有两种:

A:是弄个二级域名,建个网站来运行,这个需要动点代码。

这种方案,要修改URL变为so.cyqdata.com/类型/搜索内容,看似改动不少,需要调整URL机制和301处理,预计整体在30-60分钟内应该可以解决完。

这种方案的好处是,后续扩展可以部署到其它服务器。

B:直接使用子应用程序,可以不改动代码,直接把搜索这块分离独立子应用程序运行。

这种方案,代码不用改,因为根据search建立子应用程序即可。

这种方案,一般就局域服务器只能在局域网内了。


方案选择:

综合秋色园目前的情况,也就一台VPS。

两个方案的区别就在于动代码和不动代码了。

后来我选择了不动代码,因为实际的效果几乎是一样的,所以就不动代码了。


方案二实施过程:

1:在IIS 6 里新建一虚拟目录search,创建右键属性,应用程序名那里对应的按钮点击“创建应用程序”然后虚拟目录就转化为应用程序了。

2:项目路径还是原来的项目路径,然后设置新的应用程序池,最终如下图:



总结:

一般一个项目大了后,或者逻辑变的复杂后,往往的解决方案就是分解成子项目。

而分解的原因,一般是根据域名,或首页节点目录。

后来思绪了一下,比如目前博客的URL是:xxx.com/cyq1162/admin/...

如果一开始考虑把它设计成:xxx.com/admin/cyq1162/...

这样是不是也就可以轻松的把博客的前后台分离开来。

当然了,分成多个进程,是需要思考,是否有涉及直接的通讯。

文本就介绍到这里了,仅提供一种参考方案。


秋色园是QBlog的官方站点,由路过秋天创建,基于cyqdata数据层框架开发的支持多用户、多语言、多数据库(access,mssql,oracle)、目录级url等功能强大的博客系统
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"

2013/5/27 16:07:27 | 记录点滴 | |

  • 发表评论