关于Web应用的架构问题=================================================

rockets311 2014-10-22 09:45:56
要做一个相对功能比较多的系统,是否应该把有的功能拆为一个个单独的Project,这些Projec都相当于一个组件。但是这些Project之间怎么能很好的整合呢?它们之间用什么样的通讯机制比较好呢?希望有经验的朋友不吝赐教,没经验的朋友积极讨论,不胜感激!!!
...全文
1919 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
拆分之后,可能立刻就会增加10甚至200毫秒的性能延迟。所以拆分一般来说应该在两个方面考虑: 1. 异步业务逻辑看上去更优美更清晰。当前的业务并不急着要结果,因此完全可以异步执行。 2. 或者不是异步逻辑,但是系统的CPU实在是支持不了了。 否则,不要拆分。
试着去做 2015-04-09
  • 打赏
  • 举报
回复
这种依赖性太强,很容易让人晕掉的...如果在前期严格按照功能来划分模块还好,一旦划分不是很明确,后期维护挺麻烦的
rockets311 2015-04-07
  • 打赏
  • 举报
回复
yang448246711 2015-04-06
  • 打赏
  • 举报
回复
我们公司就是用的这种模式的。分多个模块,各个模块之间依赖关联,
像这样子。刚进公司的时候搭个工程都搭得要死。不过比较方便。本机部署启动的时候。如果只要测试某个模块中的东西。只需要加载某个模块就行。
_Nick_ 2015-04-01
  • 打赏
  • 举报
回复
项目和服务的拆分,导致交叉依赖问题,建议业务越高的项目只能向下依赖,通知服务间的调用可以使用zookeeper管理
猿人林克 2014-11-23
  • 打赏
  • 举报
回复
另外,我搞过很多osgi的项目,开发效率会提高,尤其是需要重启的时候,只需要重启某个模块即可,不用整个都重启,开发团队人越多越能体现这个架构的优势。 我做的类似项目整个应用重启一次大约5-10分钟,对于开发来说非常耗时。
猿人林克 2014-11-23
  • 打赏
  • 举报
回复
楼主的项目要是非要这么做的话,现在已经有相当成熟的osgi技术了,很多大型企业的web项目都是这么搞的,不过一般都是基于osgi的比较成熟的框架,你要是想重新搞的话路还很长。 具体来说osgi就是实现了模块化,不同功能不同的project,可以吧所有jar包都放在一个project里,然后每个大模块一个project,相互之间通过暴露和引用关联,要这么做需要找一个熟悉业务和框架的架构师来好好设计下,不然以后可能会出现project重复依赖等等架构层面的问题。 所以不建议任何少于50人团队、而且没有自己成熟osgi框架的项目来做这个工作,得不偿失,完全没必要。
a_king 2014-11-19
  • 打赏
  • 举报
回复
按照你的说法,简单点的就用WEBSERVICE,如一个大的功能,涉及到与其他系统交互的,或者采用多线程的技术。这多少能解决点问题,再复杂的,恕我能力有限,其他的只限于知道,但是没有实现过。
geodetic 2014-11-12
  • 打赏
  • 举报
回复
各组件系统间可以通过RPC交互,推荐用netty作为通讯框架,用protobuf作为通讯对象载体,经我们实践,这个体系性能、可维护性上都很优秀。
乌漆嘛黑的夜 2014-11-08
  • 打赏
  • 举报
回复
用sso集成,通讯用ws,还有DB
时间辜负了谁 2014-11-06
  • 打赏
  • 举报
回复
还没有做这么大的项目,期待中。。。
zihua2005 2014-10-28
  • 打赏
  • 举报
回复
没听企业设计模式中说么 能不用分布式就尽量不用阿,组件化是否真的有必要啊?如果确实要拆分,是根据什么拆分要能清楚,是按照业务还是什么你根据自己的情况,我习惯从底层向上拆分,即把数据库作拆分建模;拆分后没问题就可以 封装不同的model层了,公共的业务抽象出来并作为公共模块,调用方式 尽量选择轻量级的框架,java rmi hessisn等;前台其实可以用portal方式整合,把所有菜单和工程建立对应关系,这种方式注意单点的实现,我们公司用的是cas来实现单点.这些是我工作中遇到的 希望可以给你点帮助,也希望有人提出更好的方案改进
  • 打赏
  • 举报
回复
功能多的需要 拆分为多个子项目也是对的, 大家公用的组件是一个项目,其他项目各自业务上独立,如果彼此间有通讯,则考虑接口实现的方式: 比如:直接数据库通讯 还是 通过hessian 这种第三方框架来实现基于服务层的接口.
唐家文 2014-10-23
  • 打赏
  • 举报
回复
以下是我的一些经验总结,希望对你有点帮助: http://blog.csdn.net/kmtong/article/details/39052199
rockets311 2014-10-23
  • 打赏
  • 举报
回复
人工置顶
本人资源全部免费,更多资源,请加关注!! ==================================== 作者:(美国)麦克唐纳(Matthew MacDonald) 译者:施宏斌 马煜 Matthew MacDonald,曾荣获微软最有价值专家称号,并通过了微软的MCSD认证,是一位知名作家、教育家。他在编程方面作出了许多重要贡献,撰写了多本有关.NET编程的经典书籍。除本书外,Matthew的著作还包括Pro Pro .NET 20 Windows Formsand Custom Controls(Apress),Pro ,NET 2.0 Windows Formsand Custom Controls in VB2005(Aptress)和Pro WPF Windows Presentation Foundation in .NET3.0(Apress)。 ===================================================== 欢迎阅读《ASP.NET3.5从入门到精通(C#2008版)》!《ASP.NET3.5从入门到精通(C#2008版)》提供了最新、最全面的ASP.NET入门知识。ASP.NET是一个开发现代Web应用程序的架构。使用ASP.NET可以开发出安全、极速并具有高度可扩展性的Web应用程序。ASP.NET的最大优势在于,它包含了大量现成的功能,比如网站导航、数据绑定、主题和用户管理等。使用ASP.NET平台,可以创建从小型动态个人网站到大规模电子商务网站的任何类型的Web应用程序。 《ASP.NET3.5从入门到精通(C#2008版)》假定读者只具有基本的C#语言知识,因此在《ASP.NET3.5从入门到精通(C#2008版)》的开始部分将对C#进行简要的介绍,具有较多C#编程经验的人也可以将这些基础性的介绍作为一个快速的回顾。在《ASP.NET3.5从入门到精通(C#2008版)》的ASP.NET探索之旅中,将介绍设计可靠Web应用程序所需的关键原则,包括数据库、ASP.NET安全和执行性能等方面的问题。《ASP.NET3.5从入门到精通(C#2008版)》还将从头开始介绍面向对象程序设计以及Web窗体的代码分离开发,一切示例都将从实战角度出发,而不是纸上谈兵的肤浅介绍。 经过《ASP.NET3.5从入门到精通(C#2008版)》的学习,您将精通网站开发的核心技术,并掌握成为一个专业ASP.NET开发人员的必备知识。 欢迎来到ASP.NET3.5的世界!

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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