仓酷云

标题: NET网页编程之年夜型高功能ASP.NET体系架构计划 [打印本页]

作者: 萌萌妈妈    时间: 2015-1-16 14:28
标题: NET网页编程之年夜型高功能ASP.NET体系架构计划
J2EE比较成熟一点,一些比较出名的企业应用软件都是基于J2EE的。以后的发展就不好说了。不过java比较烦,学.net的话,微软把很多工具都封装好了,学起来可能容易一点。<p>年夜型静态使用体系平台次要是针关于年夜流量、高并发网站创建的底层体系架构。年夜型网站的运转必要一个牢靠、平安、可扩大、易保护的使用体系平台做为支持,以包管网站使用的安稳运转。
年夜型静态使用体系又可分为几个子体系:
Web前端体系、负载平衡体系、数据库集群体系、缓存体系、散布式存储体系、散布式服务器办理体系、代码分发体系
1、web前端体系



为了到达分歧使用的服务器共享、制止单点妨碍、会合办理、一致设置等目标,不以使用分别服务器,而是将一切服务器做一致利用,每台服务器都能够对多个使用供应服务,当某些使用会见量降低时,经由过程增添服务器节点到达全部服务器集群的功能进步,同时使他使用也会受害。
该Web前端体系基于IIS/ASP.NET等的假造主机平台,供应PHP程序运转情况。服务器对开辟职员是通明的,不必要开辟职员参与服务器办理。
2、负载平衡体系



负载平衡体系分为硬件和软件两种。硬件负载平衡效力高,可是代价贵,好比F5等。软件负载平衡体系代价较低大概收费,效力较硬件负载平衡体系低,不外关于流量一样平常或稍年夜些网站来说也充足利用,好比lvs,nginx。年夜多半网站都是硬件、软件负载平衡体系并用。
3、数据库集群体系




因为Web前端接纳了负载平衡集群布局进步了服务的无效性和扩大性,因而数据库必需也是高牢靠的才干包管全部服务系统的高牢靠性,怎样构建一个高牢靠的、能够供应年夜范围并发处置的数据库系统?

我们能够接纳如上图所示的计划:

1)利用SQL数据库,思索到Web使用的数据库读多写少的特性,我们次要对读数据库做了优化,供应公用的读数据库和写数据库,在使用程序中完成读操纵和写操纵分离会见分歧的数据库。

2)利用同步机制完成疾速将主库(写库)的数据库复制到从库(读库)。一个主库对应多个从库,主库数据及时同步到从库。

3)写数据库有多台,每台都能够供应多个使用配合利用,如许能够办理写库的功能瓶颈成绩和单点妨碍成绩。

4)读数据库有多台,经由过程负载平衡设备完成负载平衡,从而到达读数据库的高功能、高牢靠和高可扩大性。

5)数据库服务器和使用服务器分别。

6)从数据库利用BigIP做负载平衡。 

4、缓存体系





缓存分为文件缓存、内存缓存、数据库缓存。在年夜型Web使用中利用最多且效力最高的是内存缓存。最经常使用的内存缓存工具是Memcachd。利用准确的缓存体系能够到达完成以下方针:

1、利用缓存体系能够进步会见效力,进步服务器吞吐才能,改良用户体验。

2、加重对数据库及存储集服务器的会见压力。

3、Memcached服务器有多台,制止单点妨碍,供应高牢靠性和可扩大性,进步功能。 

5、散布式存储体系




Web体系平台中的存储需求有上面两个特性:
1)存储量很年夜,常常会到达单台服务器没法供应的范围,好比相册、视频等使用。因而必要专业的年夜范围存储体系。
2)负载平衡cluster中的每一个节点都有大概会见任何一个数据工具,每一个节点对数据的处置也能被其他节点共享,因而这些节点要操纵的数据从逻辑上看只能是一个全体,不是各自自力的数据资本。
因而高功能的散布式存储体系关于年夜型网站使用来讲长短常主要的一环。(这个中央必要到场对某个散布式存储体系的复杂先容。)
6、散布式服务器办理体系



跟着网站会见流量的不休增添,年夜多的收集服务都是以负载平衡集群的体例对外供应服务,随之集群范围的扩展,本来基于单机的服务器办理形式已不克不及够满意我们的需求,新的需求必需可以会合式的、分组的、批量的、主动化的对服务器举行办理,可以批量化的实行企图义务。
在散布式服务器办理体系软件中有一些对照优异的软件,个中对照幻想的一个是Cfengine。它能够对服务器举行分组,分歧的分组能够分离定制体系设置文件、企图义务等设置。
它是基于C/S布局的,一切的服务器设置和办理剧本程序都保留在CfengineServer上,而被办理的服务器运转着CfengineClient程序,CfengineClient经由过程SSL加密的毗连按期的向服务器端发送哀求以猎取最新的设置文件和办理命令、剧本程序、补钉安装等义务。
有了Cfengine这类会合式的服务器办理工具,我们就能够高效的完成年夜范围的服务器集群办理,被办理服务器和CfengineServer能够散布在任何地位,只需收集能够连通就可以完成疾速主动化的办理。
7、代码分发体系



跟着网站会见流量的不休增添,年夜多的收集服务都是以负载平衡集群的体例对外供应服务,随之集群范围的扩展,为了满意集群情况下程序代码的批量分发和更新,我们还必要一个程序代码公布体系。

这个公布体系能够帮我们完成上面的方针:

1)临盆情况的服务器以假造主机体例供应服务,不必要开辟职员参与保护和间接操纵,供应公布体系能够完成不必要上岸服务器就可以把程序分发到方针服务器。

2)我们要完成外部开辟、外部测试、临盆情况测试、临盆情况公布的4个开辟阶段的办理,公布体系能够参与各个阶段的代码公布。

3)我们必要完成源代码办理和版本把持,SVN能够完成该需求。

这内里可使用经常使用的工具Rsync,经由过程开辟响应的剧本工具完成服务器集群间代码同步分发。

<pstyle="text-align:left">以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么?
作者: 若相依    时间: 2015-1-18 14:43
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
作者: 柔情似水    时间: 2015-1-25 22:02
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
作者: 仓酷云    时间: 2015-2-4 08:49
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
作者: 飘飘悠悠    时间: 2015-2-27 21:33
提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。
作者: 冷月葬花魂    时间: 2015-3-9 14:29
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
作者: 若天明    时间: 2015-3-17 00:10
大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。
作者: 再现理想    时间: 2015-3-23 09:26
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2