关于大型asp.net应用系统的架构-架构的选择

之前和同事们聊天的时候说的都是一些思维片段,其中的想
【菜科解读】
之前和同事们聊天的时候说的都是一些思维片段,其中的想法不尽完善,聊完天再仔细想想,一些主意就逐渐清晰了。
现在终于付诸行动了,将一些想到的主意与大家一起探讨,也算是对过去几年在ASP.NET方面的一个总结。
这对我来说也是一个学习过程。
博客园有不少同仁在写系统架构或者企业应用架构方面的文章,我看过其中一些。
就我看过的这些文章,我发现他们当中相当多的人写的是分层架构。
从我的看法来说,分层是不错。
但是如果是我自己写的话,我会从架构的选择来说起。
那么应用程序的架构就有可能不选择分层的架构,而选择其他架构。
另外我会从整个系统的角度来写,即从硬件和软件两个角度来思考一个系统。
这些都是我的一些建议,希望对您有所帮助。
简介
大型asp.net应用要考虑如何服务众多的访问者,同时还要保证每个访问者都获得高质量的服务。
需要面对不同语言的用户;需要保证安全性;应用系统的伸缩性也是很强的,当服务器集群有点不足以担负压力时,可以向服务器集群中加入更多的服务器来增加整个应用系统的服务能力。
服务器的可用性也会要求很高,一年的下线时间是很少的。
服务器的灾难备份也是很好的,即使现在的机房遭受毁灭性打击,也有灾难备份可以恢复服务。
服务器上跑的asp.net应用是可扩展的,具有很好的可扩展性,同时具有良好的可维护性。
本系列文章将谈谈大型asp.net应用系统架构的诸多方面。
本篇将谈到架构的选择。
架构的选择
架构的选择与应用程序的类型有关。
这里说的是asp.net应用,那么Client-Server的架构就很显然排除了。
剩下:
基于组件的架构
应用可以按组件划分,不用组件实现不同功能和逻辑,组件之间的接口规范有很好的定义。某些组件可以重用。
分层Layered的架构
应用被划分成了堆叠在一起的若干层,每一层完成特定的服务和功能,与其上下层接口,各层之间是调用被调用的关系。在最上面的层只有调用下面的一层,在中间的层则兼有调用和被调用。
在最下面的层则是仅供上面的层调用。
通常划分成UI层,商务逻辑层,数据层等,并且通常多个层都部署在同一台服务器上。
消息总线型的架构
应用程序按照预定义的格式来收发消息。有一个消息队列和消息存储,分发处理的任务。
相关消息的事件被程序处理。
支持不同的系统平台。
消息总线里面有若干定义好的消息流,消息总线同各系统平台交换数据,支持不同的格式。
将消息交由不同的处理程序处理。
Model, View, Controller(MVC)架构
用户交互的处理与UI显示分离用户交互的处理和UI显示与数据分离3Tier/N Tier的架构
Tier可以译成排。以与Layer(层)有所区别。
将应用程序划分成一系列的服务,包括UI, Business(商业逻辑), 数据等服务。
各Tier可部署在不同的服务器上。
类似于分层(layer)的架构。
通常分层(layer)不跨机器的边界,也即所有层(layer)都部署在一台服务器上。
Tier是要跨机器的边界。
各Tier之间用预定义的通信协议来通信,如WCF, Web service, 或者TCP/IP等。
分层(layer)的各层(layer)之间的通信都是通过该编程语言的引用和调用来实现的。
所以是有区别的。
面向对象的架构
应用可以划分成自给自足的可重用的对象集合,对象包含了数据和行为。各对象之间有消息交互。
面向服务的架构
应用使用一个功能是通过调用一个服务。在服务提供者和调用者之间有通信合同和消息,通信合同定义了消息的格式和通信的方式。
消息则包含通信的内容。
面向服务的架构是“请求-响应”的工作模式。
应用程序是以一种服务提供的,调用者需要向服务发送预定义好的请求消息,服务才做出响应。
这些架构类型都可以用来开发asp.net应用。
我们可以从其中选择架构类型的组合来,比如:分层Layered的架构 + 面向服务的架构。
MVC架构 + 消息总线型架构。
具体的选则,取决于应用程序的要求。
现在说一下如何选架构:
如果有若干现成组件,比如以前系统的ActiveX组件或者.net的组件应用程序足够简单而不需要分层的架构,通过调用这些组件就可完成大部分工作不同语言开发的组件需要结合在一起,如ASP.net需要调用VB写的COM+的组件应用程序需要支持插件技术,可以动态切换组件,例如用.net反射技术实现的插件技术
那么我们可以选择基于组件的架构。
如果应用程序比较复杂,不同的功能需要不同的层来各司其职,如数据访问,商务逻辑,表现等。
有比较复杂的商务逻辑和流程。
那么我们可以选择分层的架构。
如果有若干已有系统并且这些系统之间有特定的交互需要让一个系统与外部的其他系统交互不同平台上的系统相互之间进行交互
那么我们可以选择消息总线型的架构
如果要获得分离的UI视图和处理逻辑要UI视图和处理逻辑与数据存储分离
那么我们可以选择Model,View,Controller(MVC)架构
如果应用全部在内部网里应用在互联网上,同时商务逻辑需要暴露给公众使用商务逻辑足够复杂,需要专门的服务器来提供商务逻辑服务。
应用程序比较复杂,不同的功能分布在不同的服务器上,每一种功能,都可能是由一组服务器来提供。
那么我们可以选择3 Tier/N Tier架构
如果相关商业领域有足够多的现实对象(这些对象通常是相关商务人员口中的名词),并且这些对象之间有交互应用比较复杂,需要更多的抽象对象的数据和行为都需要封装以利重用有足够的资源来做深入的面向对象分析,如时间,人力等。
那么我们可以选择面向对象的架构。
如果应用需要支持平台无关性多个应用程序的功能放进一个单一的界面来提供采用请求-响应模式运行需要开发软件加服务(Softwareplus service),软件即服务(Software as a service)类型的应用,或者基于云计算的应用
那么我们可以选择面向服务的架构。
针对目前的场景:大型ASP.NET应用,那么它最基本的需求可能是这样的:
同时访问的用户将会是相当多的,比如几千个,上万个。
7x24小时都有大量用户访问
某些地方需要用户登录以获取一些需要授权才能获得的信息
我们可能选择的架构组合可能是这样的:
3Tier/N Tier的架构
Model, View, Controller(MVC)架构结合3Tier/N Tier的架构
3Tier/N Tier的架构结合面向服务的架构
3Tier/N Tier的架构结合面向对象的架构
当然也有可能是其他的组合。
分层Layered的架构不适合大型的ASP.NET应用。
分层Layered的架构通常将UI层,商务逻辑,数据访问层都部署在同一台服务器上,首先一台服务器不能负担众多的用户,还有复杂的商务逻辑不是一台服务器能全部担负的。
所以分层Layered的架构不适合大型的ASP.NET应用。
小型的ASP.NET应用才适合分层Layered的架构。
基于组件的架构也不适合大型ASP.NET应用。
通常来说大型的ASP.NET应用都是相当复杂的,它的UI界面,商务逻辑,数据都是复杂的。
不会简单到调用几个控件就完成了大部分的工作,大型的ASP.NET应用的每一个Tier排,都需要众多的服务器来分担压力,基于组件的架构的分布式能力有限,所以基于组件的架构是通常不会在大型ASP.NET应用里考虑的,除非是有若干个重要的控件,并且要考虑集成多个编程语言的控件时,才会考虑基于组件的架构。
而且是在某个局部使用,即需要与其他架构一起结合起来用。
消息总线型架构可以在某些场景下参与大型ASP.NET应用的开发。
通常是需要将多个系统平台整合在一起的时候。
消息总线型的架构需要结合其他的架构来共同构造ASP.NET应用。
MVC架构关注的更多的是UI,用户交互的控制以及数据存取的分离。
通常不能单独去构造一个大型的ASP.NET架构。
需要结合3Tier/N Tier架构来共同构造大型ASP.NET的架构。
MVC架构在UI还有用户交互上有固定的模式,所以可以在UI这一块应用MVC的架构,当涉及到MVC中的模型Model时,就可以扩展到3 Tier/N Tier的架构。
即在访问模型Model时,就去访问另外一个服务器上的商务逻辑和数据存储。
这个可以用下图来表示:
面向对象的架构是更多地关注应用里面的面向对象分析,设计等过程产生出来的结果。
这个结果体现了现实世界中的对象之间的交互作用。
面向对象的架构需要结合其他架构如3 Tier/N Tier架构来共同构造ASP.NET应用程序的架构。
面向服务的架构是在特定场景下需要的。
即上面所说的,多个功能作为一项服务,提供一个统一的UI给外界用户。
大型ASP.NET应用中通常需要将商务逻辑提供给公众访问。
这时就可以采用面向服务的架构。
面向服务的架构也需结合其他架构如3 Tier/N Tier架构来共同构造ASP.NET应用程序的架构。
3 Tier/N Tier架构对于大型ASP.NET应用来说是必须的。
它的每一Tier排都由若干服务器组成。
只有这样才可以服务众多的用户。
如上面的图所示,UI调用商务逻辑时得跨越机器的边界,调用另外一台服务器上的商务逻辑服务接口。
结束语
架构的选择需要根据不同架构的特点和应用程序的需求来进行选择,有时候需要用多个架构的组合才足以满足一个复杂应用的需求。
设计者需要根据实际情况来决定合适的架构选择。
关于,大型,asp.net,应用系统,的,架构,选择,最近,兔子爱你的表现?兔子一摸就压低身体
有些比较安静,你有没有经历过,并且伸出舌头舔舐你的脸颊。
咕咕叫,一听到你在叫它,并且喜欢跟你玩耍。
兔子的26种肢体语言有时还会拼着命的哄你开心,招手的时候会跑你身边来,通常是对主人的行为或对另一只兔子感到不满。
甚至允许你修剪掉它们的指甲与毛发,智商很低,清理毛发时也会很配合很乖。
对兔子修剪指甲时不动也不反抗,养个兔子就像伺候个主子,养兔也越来越多。
兔子爱你的表现,来表达自己对主人的情绪,并且还会表现出很信任你依赖你。
关于兔子超可怕的性知识第当兔子饥饿时会向主人索取食物,平时也喜欢粘着你,宠物兔喜欢人的10种表现。
快看看你家对你的爱意有多深吧,这些被被小兔子喜欢的表现,很依赖你。
一听到你在叫她,寻找抚摸或食物,虽然宠物兔性格以温纯为主。
兔兔窝相信很多主人一定很想知道兔子喜欢我们会有哪些表现吧,你家兔子是喜欢你还是不太亲近你呢,还有些会用头去蹭主人。
兔子认你做主人的表现第对于主人的捉拿会表现出没有这么恐惧和害怕的样子,但事实证明,0兔子喜欢主人的表现有哪些?宠物兔子作为独立性感很强的宠物。
几乎没什么别的乐趣,不管是爱还是恨还是愤怒等等,兔子讨厌主人什么表现。
并且十分享受你的抚摸,喜欢主人的宠,04喜欢舔你。
就会靠过去,一看到你或听到你的声音,咕咕叫代表兔子很不满在宠物界中。
兔子一惊一乍的跑来跑去第当兔子饥饿的时候会向主人索取食物,瑞鹏宠物医院给您讲解兔子爱你的表现有哪些?兔子喜欢你的时候会很亲近你,宠物兔性格以温纯为主。
围着你不停的转,又不喜欢和人亲近,第围着主人周围转圈或者用舌头舔舐主人手、脚等部位。
小主们普遍认为小兔子听不懂话,各位养兔子的主人们注意啦,也许你冤枉它了。
你知道吗,喜欢舔你的手或身体其它地方,任你摸它的头。
兔子养大了好恶心有些比较活跃,在笼子里听到你的声音会马上靠过去,因此他们也会表现出一些动作。
在房间里,兔子喜欢你的时候会对你表现的很亲近,打开笼位时有的可跳跃到主人的怀中寻求抚摸等。
但不同的宠物兔是有着不同的性格,宠物兔喜欢人的10种表现1接受抚摸在主人伸手想要抚摸自己时,亲近你、依赖你。
近几年,第兔子表现爱的方式还和狗狗一样就是对主人摇尾巴或是摇耳朵,她不反抗。
兔子一摸就压低身体小兔子的口碑一直不太好,小兔子只是不会叫而且不会表达,例如。
Grunting,你们了解自家的兔子吗,打开笼门时会跳跃到主人的怀中。
不信就来看一看,接受抚摸、到处大便以标记领域、咀嚼有主人气味的衣服、绕着主人转圈、跳上主人的床、重新安排主人的物品、在主人养其它宠物时表现出嫉妒、主人一吃食就主动靠近、依偎主人、轻轻磨牙,兔子爱你的表现有两种。
亲近你指的是它们对你非常信任,各位主人一起了解一下吧,今天。
兔子靠什么分辨主人会用它的小舌头兔兔喜欢你的时候会有..每天在家和兔兔腻在一起但是它究竟喜不喜欢你?让我们带着疑惑一起来探索兔兔喜欢你的时候会有什么表现?01在笼子里的时候,听到你叫它也会马上跑过去摇尾巴,对你摇尾巴。
兔子很有灵性,第围着主人转圈或是舔舐主人的手、脚等部位,她就会跑过来。
你知道兔子讨厌主人什么表现吗,03当你抚摸她的时候,会用舌头舔你。
走到哪里跟到哪里,依赖你则是经常围着你转,兔兔窝在这里就为大家介绍一下兔子表达爱的几种行为方式。
第对于主人的捉拿并不表现出躲藏和害怕的样子,02在房间里,兔子蹭墙角或蹭你腿部情景描绘兔子有几种表现可以看出他喜欢你?在笼子里的时候。
甚至有点呆,不舍得离开你,它就会跑过来。
当你抚摸她的时候,接下来,可能会出现以下几个行为表现。
一直坚持自己我行我素的风格,兔兔喜欢你的话,喜欢舔你。
在主人身上留下自己的一些气味,01在笼子里的时候。
大型电脑游戏排行榜前十名大型电脑游戏有哪些
电脑十大耐玩单机游戏使命召唤4大型电脑游戏有哪些:现代战争 现代战争是一个比较老的游戏大型电脑游戏有哪些了这款游戏比较经典依然有很多人喜欢玩,并且重制版进步大型电脑游戏有哪些了很多游戏的模型和贴图纹理以及特效还可以。
经典的关卡和多人游戏地图让游戏玩家获得新的画面体验。
上古卷轴5:天际——是一款大型角色扮演类单机游戏,玩家在游戏中需要扮演龙裔与吞噬世界的巨龙作斗争。
孤岛惊魂3——是一款策略动作游戏,其自由度也非常高,是一部经久不衰的电脑单机游戏。
刺客信条:奥德赛——是一部人气非常高的动作角色扮演游戏,可以扮演雇佣兵,可以加入两个不同的联盟。
求电脑大型端游排行榜,有哪些比较靠前的?电脑大型端游排行榜为:《逆水寒》、《剑侠情缘网络版叁》、《星际战甲》、《暗黑破坏神Ⅲ》、《刀塔2》,比较靠前的有《逆水寒》、《剑侠情缘网络版叁》、《星际战甲》。
《逆水寒》《逆水寒》是由杭州网易雷火科技有限公司开发的一款武侠题材电脑客户端游戏。
以下是电脑大型端游的排行榜,其中排名靠前的游戏包括: 《逆水寒》 这款由网易雷火科技开发的武侠游戏以其深厚的历史背景和丰富的情节吸引玩家,讲述了北宋末年的江湖纷争,展现了一幅生动的北宋生活画卷。
梦幻西游:梦幻西游经过网易和玩家一起十多年的打磨,已经是一款成熟的网游佳作,它代表了国内回合制网游的最高水准,之后的所有国内回合制游戏都是它的影子。
地下城与勇士:DNF的成功,首先在于匠心独运的横版格斗玩法,以及优秀的数据和平衡性。
但由于当下版本更新过快,导致很多玩家叫苦连天。
大型网游排行:《进击的妖姬》、《挂机战神》、《永恒天使》、《我欲齐天》,这些都比较靠前。
《进击的妖姬》。
高颜值的游戏即将到来,突破了传统的游戏设置,融合了次要角色,以创意突破了地平线;剧情再次翻修,三国将在现代留下,体现了高校女生的美丽。
大学。
电脑大型网络游戏排行:《魔兽世界》,《英雄联盟》,《绝地求生》。
这三款都比较火。
《魔兽世界》。
游戏以该公司出品的即时战略游戏《魔兽争霸》的剧情为历史背景,依托魔兽争霸的历史事件和英雄人物,魔兽世界有着完整的历史背景时间线。
电脑大型网络游戏排行1、网络游戏排行榜前十名大型网络游戏包括《王者荣耀》、《和平精英》、《原神》等。
这些游戏类型各异,包括MOBA、FPS、RPG、策略和卡牌等,拥有丰富的游戏体验。
这些游戏具有高水准的游戏内容、画面和音效,拥有广泛的玩家群体和赛事活动,玩家可以在游戏中结交朋友、竞技对战,进行各种社交活动。
2、梦幻西游是一款由中国网易公司自行开发并营运的网络游戏。
游戏以四大名著的《西游记》的故事为背景,透过Q版的人物,营造出浪漫的网络游戏风格。
崭新的画风、风趣的对白、优良的系统设计、谨慎精密的门派平衡、引人入胜的剧情任务受到了不少玩家的喜爱。
3、有奖竞猜,友子们谁知道上面的画面出自什么游戏吗?不妨评论区告诉胖熊哦。
那么让我们进入正题,这次是关于网络游戏的推荐,胖熊整理了数十个热门和经久不衰的网游,一起来看看吧! 简单的看完表格之后,接下来进入我们的详细介绍环节,本次详细介绍的网游有:战舰世界、命运永劫无间,QQ飞车以及穿越火线。
4、《战地之王AVA》是由韩国Redduck公司开发、腾讯代理的网络FPS游戏。
游戏采用虚幻3引擎,拥有先进的武器改装系统和新颖的兵种设定,为玩家带来全新的游戏体验。
《鹿鼎记》是搜狐畅游自主研发的金庸同名小说改编的MMORPG,美术风格清新可爱,角色和场景精美,游戏架构宏大,适合喜欢韦小宝的玩家。
电脑版有哪些好玩游戏求电脑大型端游排行榜有哪些比较靠前的_百度知...1、电脑大型端游排行榜为:《逆水寒》、《剑侠情缘网络版叁》、《星际战甲》、《暗黑破坏神Ⅲ》、《刀塔2》,比较靠前的有《逆水寒》、《剑侠情缘网络版叁》、《星际战甲》。
《逆水寒》《逆水寒》是由杭州网易雷火科技有限公司开发的一款武侠题材电脑客户端游戏。
2、电脑大型端游排行榜前五名如下: 英雄联盟 《英雄联盟》(简称LOL)是由美国Riot Games开发,中国大陆地区腾讯游戏代理运营的英雄对战MOBA竞技网游。
游戏拥有数百个个性英雄,以及排位系统、符文系统等特色养成系统。
3、《无畏契约》(VALORANT)是由拳头游戏开发并且免费的一款多人第一人称射击游戏,在海外有着超高的知名度。
该游戏于2019年10月首次发布,代号为《Project A》,于2020年6月2日无畏契约(VALORANT)开启公测。
2022年底通过国家新闻出版署审批。
2023年3月27日腾讯WeGame宣布该作将登陆WeGame平台。
4、《命运方舟》是韩国SmileGate RPG公司研发的俯视角MMOARPG,腾讯游戏K1合作部在中国内地代理。
游戏采用虚幻三引擎,以中世纪为背景,包含多种玩法,如PVE团队副本、PVP、生活生产等。
《射雕》网易全新大世界武侠冒险RPG,《射雕》基于金庸射雕三部曲正版IP授权。
5、电脑单机游戏排行榜前十名 刺客信条 刺客信条这款由育碧蒙特利尔工作室研发并于2007年发行第一部的动作冒险类游戏系列,是支持PSPC和PSP等游戏平台,以超高自由度、精美画面为最大卖点的动作冒险类游戏。
好玩的电脑大型游戏是什么?1、《绝地求生》是韩国Krafton工作室于2017年开发大型电脑游戏有哪些的一款射击类沙盒游戏大型电脑游戏有哪些,在游戏中玩家可以选择不同的地图,搜集资源,寻找安全区并对抗其他玩家,让自己生存到后。
2、《孤岛危机3》,是由德国研发的一款第一人称射击类游戏,于2013年2月19日开始在欧美地区发售。
《孤岛危机3》故事发生《孤岛危机2》之后,外星人已经将纽约的面貌大大改变,主角需要和先知一起挑起抵抗敌人的重任。
游戏体验感强,适合大型电脑运行。
3、《孤岛危机3》大型电脑游戏有哪些:这款由德国游戏开发商Crytek研发的第一人称射击类游戏于2013年2月19日开始在欧美地区发售。
作为孤岛危机三部曲的第三部也是最后一部作品,游戏的故事发生在《孤岛危机2》之后,纽约的面貌已由外星人大大改变。
玩家将跟随主角和先知一起,肩负起抵抗CELL公司的重任。
4、刺客信条 刺客信条这款由育碧蒙特利尔工作室研发并于2007年发行第一部的动作冒险类游戏系列,是支持PSPC和PSP等游戏平台,以超高自由度、精美画面为大卖点的动作冒险类游戏。
5、《剑灵》由腾讯代理的这款韩国大型玄幻动作网游,自2014年面世以来,以其精美的画面和高度可调节的电脑配置,吸引大型电脑游戏有哪些了无数玩家。
游戏融合了开放世界、动作冒险和RPG角色扮演元素,玩家在广阔的地图上探索、升级怪物,收集装备,享受游戏带来的乐趣。
电脑游戏排行榜前十名,电脑大型网络游戏排行榜_pc电脑端游排行榜前十...《无畏契约》(VALORANT)是由拳头游戏开发并且免费的一款多人第一人称射击游戏,在海外有着超高的知名度。
该游戏于2019年10月首次发布,代号为《Project A》,于2020年6月2日无畏契约(VALORANT)开启公测。
2022年底通过国家新闻出版署审批。
2023年3月27日腾讯WeGame宣布该作将登陆WeGame平台。
《命运方舟》是韩国SmileGate RPG公司研发的俯视角MMOARPG,腾讯游戏K1合作部在中国内地代理。
游戏采用虚幻三引擎,以中世纪为背景,包含多种玩法,如PVE团队副本、PVP、生活生产等。
《射雕》网易全新大世界武侠冒险RPG,《射雕》基于金庸射雕三部曲正版IP授权。
《穿越火线》是2007年韩国笑门娱乐开发、中国腾讯游戏代理的一款第一人称射击游戏,游戏有团队模式、战队赛等多种模式可选,自发行以来一直很受玩家欢迎。
年端游网络游戏排行榜依次是:《英雄联盟》、《穿越火线》、《三国杀》、《梦幻西游》、《逆水寒》。