给个应用服务器的例子

xiandaliu 2009-11-23 03:31:36
谁能给个.net下的应用服务器的例子,谢谢。
先大概描述一下:
独立的应用服务,配合web应用进行以下操作:
1 数据存储和读取,从web应用传来数据,存储到数据库中,或根据web请求从数据库中获取数据。数据库层使用nhibernat等ORMAPPING工具。
2 消息队列,存储消息及消息处理结果,记录日志。可以使用MQ。
3 多线程业务处理。

参考:
常用的.NET应用服务器方案有:
A) 使用IIS驻留ASP.NET Web Service
B) 使用.NET Remoting提供远程对象
C) 使用Enterprise Services (COM+)提供跨进程对象调用

这三种方式中,采用TCP/Binary通道的.NET Remoting是三个方案中性能最好的,而采用ASP.NET Web Service则能提供更多的跨平台特性。在性能对比上,ASP.NET Web Service大约是TCP/Binary .NET Remoting的60%左右(和传递的数据有关),这中间的差异来自于网络传输上,ASP.NET Web Service会花费较多时间在大对象的数据串行化(Serialization)上。二进制格式的Remoting实现也提供了对象级(包括单件—— singleton特性)的支持,在性能要求占主导地位的方案中较多采用。

面对这个情况,最好的解决方法是在实现的时候提供一个更加灵活的架构来随时调整策略而让调整的代价保持在最小。也就是说,把系统的核心逻辑实现为一个对象群,然后通过facet方式以最小的努力适配到不同的调用接口上。当然,最初是以SOA的方式发布WEB服务给客户端调用,以尽量实现可移植的环境。如果发现这种模式成为了系统中的性能瓶颈,则改为TCP/Binary .NET Remoting的方式发布对象。

总的来说,应用服务器的架构是一个演化模型,可以随着需求和实际负载的变化实行平滑过渡。当应用服务器的横向扩展也无法应付更大的负载的时候,实际的性能瓶颈已经转移到了系统的其它地方,比如磁盘访问或接入带宽等。
...全文
87 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiandaliu 2009-11-23
  • 打赏
  • 举报
回复
需要再研究研究,估计可以和java的产品PK一下了,谢谢
xiandaliu 2009-11-23
  • 打赏
  • 举报
回复
WCF,这个很不错,我要研究一下,谢啦...
huing 2009-11-23
  • 打赏
  • 举报
回复
wcf
problc 2009-11-23
  • 打赏
  • 举报
回复
mark
viena 2009-11-23
  • 打赏
  • 举报
回复
IIS + ASP.NET 本身就是.net应用服务器

不明白为啥一定要跨机器远程调用~
cicigl 2009-11-23
  • 打赏
  • 举报
回复
upup
majinlong7 2009-11-23
  • 打赏
  • 举报
回复
帮顶

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧