珍贵的体验:在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
分享到:
相关推荐
《.NET 15位软件先驱访谈录》是一份珍贵的资料,它汇集了.NET技术领域15位具有深远影响力的专家和开发者的经验与见解。这些先驱们在C#编程语言及其相关框架的发展和应用上做出了重大贡献,他们的洞察力和实践经验...
《传智播客2010版.Net教学课件》是一份珍贵的教育资源,由知名的教育机构传智播客在2010年推出的.Net技术教程。这份课件旨在全面而深入地介绍Microsoft的.Net框架及其相关的编程知识,对于想要学习或提升.Net技术的...
这个项目设计的目标是帮助用户追踪、组织和上传他们的“珍贵鱼获”,我们可以理解为这是一个钓鱼爱好者或者海洋生物记录平台。 【描述】进一步强调了这个项目的核心功能,即提供一个系统来跟踪、管理用户捕获的鱼类...
这个IDE结合了Delphi的强大 Pascal 编程语言与微软的.NET平台,旨在为开发者提供快速创建Windows桌面应用程序的能力。然而,由于市场的变化和技术的发展,Delphi.NET并没有像其传统的Win32版本Delphi那样广泛流行,...
《C#和.NET 2.0 实战源码(全)》是一份珍贵的资源,包含Visual Studio 2005时代的经典编程实践案例。这个压缩包提供的源代码全面覆盖了C#语言以及.NET Framework 2.0的核心概念和技术,为开发者提供了深入学习和...
ASP.NET是微软公司推出的一种用于构建Web应用程序的框架,它基于.NET Framework,为开发者提供了丰富的功能和工具,简化了Web应用的开发...通过学习和实践这些源码,开发者可以全面提升自己在ASP.NET平台上的开发技能。
3. ADO.NET:用于与数据库交互,执行查询、插入、更新和删除操作。 4. HTML/CSS/JavaScript:构建用户界面,利用AJAX实现无刷新交互体验。 5. 安全性:ASP.NET的身份验证和授权机制,确保只有授权用户能访问敏感信息...
在Linux 0.11版本中,你可以看到许多基本操作系统的结构和概念的初步实现,包括: 1. **进程管理**:内核如何创建、调度和管理进程,以及如何处理进程间的通信(IPC)。 2. **内存管理**:如何分配、回收和保护...
.NET Framework 2.0 Sources 是一个极其珍贵的资源,它提供了.NET Framework 2.0版本的核心组件源代码,包括了对系统级库的深入理解,是开发者和研究人员探索.NET平台内部工作原理的重要参考资料。这个压缩包包含了...
这份教程旨在帮助开发者提升在.NET平台上的编程技能,无论是对于初学者还是有经验的开发者,都能从中受益匪浅。 首先,我们要了解.NET框架。它是微软公司推出的一种开发平台,集成了编程语言、类库、开发工具和服务...
7. **教学与研究**:对于初学者,.Net Reflector 源代码是一份珍贵的学习资料,它展示了如何构建一个高效、强大的开发工具,有助于提升编程技巧和软件工程理念。 8. **知识产权问题**:需要注意的是,虽然 .Net ...
《ASP.NET专业项目实例开发》源代码是一份珍贵的学习资源,涵盖了使用ASP.NET技术进行实际项目开发的各种案例。ASP.NET是微软公司推出的一种强大的Web应用程序框架,它为开发者提供了构建动态、数据驱动的Web应用的...
《ASP.NET网站建设专家》随书源码是一份珍贵的学习资源,尤其对于正在探索ASP.NET技术的开发者来说,它提供了一条深入理解并实践这一强大Web开发框架的道路。ASP.NET是微软公司推出的一种用于构建动态网站、Web应用...
《ASP.NET项目开发实战密码》源代码是一份珍贵的学习资源,专门为那些想要深入理解并实践ASP.NET技术的开发者准备。这本书的源代码涵盖了ASP.NET框架的多种应用和开发技巧,帮助读者通过实际操作来掌握ASP.NET项目的...
《ASP.NET网站开发四酷全书(源码)》是一份珍贵的学习资源,它涵盖了使用.NET框架2.0版本和C#编程语言进行网站开发的知识点。这份源码集主要包含了一个新闻系统的完整实现,旨在帮助开发者深入理解ASP.NET技术在...
《Visual C#.NET数据库开发经典案例解析源码》是一份专为C#.NET开发者准备的珍贵资源,旨在通过具体的案例帮助读者深入理解如何利用C#.NET进行数据库开发。这个压缩包包含了多个示例项目的源代码,是学习和提升C#...
这份笔记源于作者在加拿大达内科技的培训经历,旨在与学习者共享珍贵的学习心得,由于其价值不菲,故作者期待较高的评分反馈。 .NET框架是微软公司推出的一种应用程序开发平台,它提供了丰富的类库和工具,用于构建...
珍贵资料:一文读懂中国基础货币演变.doc
总的来说,《Inside Microsoft .NET IL Assembler》是一本深入.NET底层的珍贵资源,无论你是.NET新手还是经验丰富的开发者,都能从中受益匪浅。通过阅读此书,你将能掌握IL语言的精髓,提高代码质量,甚至可能打开...
《PetShop全版本详解:从2.0到5.0的ASP.NET演进之路》 PetShop是一款经典的ASP.NET教学示例应用,...总的来说,PetShop全版本的集合是一个珍贵的学习资源,它将带你走过ASP.NET的历史长河,领略技术的不断进步和创新。