珍贵的体验:在Linux平台发挥.Net的强大威力
2011年7月10日 下03时56分45秒
最近跟爱立信合作了一个项目,要做一个分布式的系统,其中服务端由我领头来开发,用什么技术不限,但就是有一条:所有的服务器、客户端,全都是Linux的。
大胆地采用了Mono,有了Mono这个好东西,就可以在Linux平台发挥.Net的强大威力了。
仅仅2周就把项目做出来了,而且做出来的结果是:客户非常非常满意,据说远远超出了客户的期望。公司上下皆大欢喜。
下一步这套系统,基于多方合作共同开发的需要,也许将继续采纳我的这套.Net架构,也许将全面porting到Python。
但是这套.Net架构确实是一个非常好的案例。
服务器端完全设计成分布式的。有几个角色:Controller、Log Server、Agent Server,这几个角色的服务可以完全装在一台机器上,也可以分开,每个角色独立装载一台服务器上,也可以由一个服务器群来实现其中一个角色。比如说,Log Server不够用了,没关系,现买一台1U的服务器,装上Linux系统,部署上这套程序,然后Controller就能自动发现这台新的Log Server,并且把别的Log Server处理不过来的任务安排给这台新的Log Server。其余的角色也都是这样,可以从1台扩展到N台,有一个简单的算法来按照每台Server的资源利用率自动分配任务,保证合理地利用这些Server。
B/S和C/S的架构共存于这套系统中。Web Server采用Apache,.Net引擎采用Mono 2.10,OS采用Debian Linux 6.0,数据库采用Postgresql 9.0.3,主要用C#语言实现,部分由Python语言实现。大量采用了PL/SQL来进行数据库端开发。大量采用JSON来进行系统之间的对象传递。
无论B/S的部分还是C/S的部分,其实都是用HTTP来通讯,而且尽可能做成RESTful Web Service。
Mono提供了在Linux上运行.Net的环境。之前我也曾经在苹果的Macintosh OS X 10.6上试用过Mono,表现良好。但是这回在Linux的实际项目上正式采用Mono,对我以及对其他人,还是头一次。经过两周的奋战,总之,还好,有个别地方不顺利,不顺利的地方主要牵扯到文件操作,但是别的地方比如数据库操作都是和Windows下的表现完全一致的。至于文件操作这部分,当时没敢多花时间,所以用Python写了个小服务,然后通过HTTP Post这种方式来调用这个服务。别的地方挑大梁的都是.Net/C#。
至于当时用Mono运行.Net遇到的小小的不顺利的几个地方,打算项目结束后我来作一番调研。我相信这些地方都会解决的。而且昨天我去codeplex和codeproject上面查了一下现有的Mono案例,发现资源还是挺丰富的。
所有这些东西由我带着两个人耗时2周完成,其中一名是ASP.Net程序员,完全没接触过Linux环境,另一名是Python程序员,基本上没怎么接触过Windows。我在项目里做的事很杂,架构基本上是我一个人做的,然后分配任务、设计接口,当临时的系统管理员和DBA,现学PL/SQL,用PL/SQL写了大约1千多行的存储过程,然后还为小模块写测试工具,给大家部署开发和测试环境,部署svn,然后还承担了大约60%的具体的开发任务。充当了一个Dev Lead的角色,还充当了一个PM的角色。
前天结束了这个项目,然后爱立信过来了一大帮人来看,都很满意。公司也很高兴,给我们几个放了一天假,今天过来上班。
这个项目对我来说真是印象深刻。
原文链接:http://www.leadbbs.com/a/a.asp?B=205&ID=2869830&Aupflag=1&Anum=1
分享到:
相关推荐
theLandingSite:ac#,asp.net,mssql和bootstrap项目可跟踪,组织和上传您最珍贵的鱼获
珍贵资料:一文读懂中国基础货币演变.doc
该系统不仅满足了毕业生在离校后与同学保持联系的需求,还为他们提供了一个共享回忆、交流心得的平台。同时,该系统采用模块化设计,便于二次开发和定制,可满足不同学校的特定需求。 **功能特点** 1. **用户管理*...
这是我参加微软.NET程序员高级培训时给发的教程资料,很珍贵希望和有需要的朋友分享!
OtVDM是运行在Win10上类似于Linux上使用的Wine程序,在安装了OtVDM的Win10主机上运行16位Win3.1/Win3.2/Pwin3.2程序如同运行64位Win10程序一样,原有珍贵而又稀缺的旧软件可以跑在Win10上。如果是新开发软件就不用它...
这个仓库重新整理了我Linux 4.x内核rootkit的珍贵收藏。 您会发现我编写的一些rootkit和我为最新版本Linux内核改编的其他可公开获得的rootkit。 这些rootkit绝不是真实的rootkit。 它们已被最小化,仅应用于教育...
珍贵资料,微软培训理念,详细的介绍了ASP.NET的起源,发展和微软在其中的重要作用
珍贵资料,微软培训理念,详细的介绍了ASP.NET的起源,发展和微软在其中的重要作用
珍贵资料,微软培训理念,详细的介绍了ASP.NET的起源,发展和微软在其中的重要作用
珍贵资料,微软培训理念,详细的介绍了ASP.NET的起源,发展和微软在其中的重要作用
珍贵资料,微软培训理念,详细的介绍了ASP.NET的起源,发展和微软在其中的重要作用
珍贵资料,微软培训理念,详细的介绍了ASP.NET的起源,发展和微软在其中的重要作用
珍贵资料,微软培训理念,详细的介绍了ASP.NET的起源,发展和微软在其中的重要作用
《深度探索linux操作系统:系统构建和原理解析》是探索linux操作系统原理的里程碑之作,在众多的同类书中独树一帜。它颠覆和摒弃了传统的从阅读linux内核源代码着手学习linux操作系统原理的方式,而是基于实践,以从...
ps素材 人物 動物,風影 .葉子.海洋.各種各樣.請參考
linux创始人linus写的一份早期介绍linux内核文章,不大好找了。
《深度探索Linux操作系统:系统构建和原理解析》 [1] 是探索Linux操作系统原理的里程碑之作,在众多的同类书中独树一帜。它颠覆和摒弃了传统的从阅读Linux内核源代码着手学习Linux操作系统原理的方式,而是基于实践...
珍贵的人:与周先生的小事
作者多年积累总结的嵌入式Linux开发技巧和提示,无论对初学者还是有经验的开发人员,都弥足珍贵。这一版不仅对原有章节进行了全面的修订、更新和改进,还新增了udev、USB和开源构建系统等内容。
搜索引擎方面资料。很多是前辈的经验总结,来之不易,有需要的朋友可以使用,算是很珍贵的资源了