让网站运营更简单
让搜索引擎更喜欢的网站
立即咨询
福利,定制网站送小程序, 名额有限,先到先得
关注小编不迷路,小编带你上高速~案例:平台:NET,spring.net+NHibernate+SQL SERVER 2008开发模式:MVC模式三层都有A方开发,A方的查询业务基本上依赖于SP,SP由B方方面开发。
表现:B方对需求的理解不完善,导致SP经常改动但是SP的每次改动了之后,A方开发应用程序的程序人员却不知道,除非A方程序员去调试以前已经开发好的程序,不然很难发现B方修改了存储过程存储过程的修改,带来的不仅是页面表现层的数据绑定的问题,在模型层的domain和dto很有可能都要随之改动。
即使B方修改了SP第一时间通知A方,A方修改相应的模型层对象,重新构造层与层之间的访问参数以及返回类型也是相当费时的事情问题:该项目目前的开发方式和现状,效率相当低下数据库与SP是基础,SP的修改直接影响上层建筑。
而SP的控制权在B方,由B方完全控制业务A方需要做领域业务,但只能按照B方的文档来开发,甚至都不用知道业务分析:主要是项目管理组织的问题两个团队无法协调B方变更带来A方的变更是必然,问题在于A根本不知道B方的变更。
加之双方没有持续集成,很可能变更了很久才知道,修改的时候B对A也无法给支持,时间长了可能B自己也忘了技术上,业务的变动必然带来领域模型的变动A方其实只是充当一系列存储过程的外观这个系统的领域模型其实是用数据库表和存储过程表示的。
实际上,谁控制了业务谁就控制了领域模型 建议:两个团队组合成一个团队(虚拟的,相当于远程协同开发),要共享需求任务列表每次变更需要双方在工作前进行协调,确认各自需要调整的地方和需要消耗的时间 案例:背景:在ATM和银行主机之间,通常有个前置机器,主要用来做一些预处理工作,传统的金融平台大多采用c来处理,现在想接入网银,想改用j2ee来架构,也为以后的sop(标准操作程序 )做准备。
ng+hibenate做业务层,而ATM的接入采用application同样接入到到Spring的业务层。
由于交易量较大,必须1分钟处理1000笔交易(单ATM),这样的架构是否合适?分析:关键看前置要做哪些工作,是否有复杂的业务逻辑,对于这样实时性比较高的系统,少用框架Spring+hibernate一般实时性都较差。
Spring会产生大量垃圾,频繁启动垃圾回收机制,系统的响应就得暂停,Spring的动态代理Proxy对象是每个请求信号都会产生的,1分钟处理1000笔交易,那么一分钟内至少1000个Proxy对象,还有其他附带对象,内存可能不能支持。
比较好的策略:分析系统在应付如此大访问量下的瓶颈所在如果确实需要业务组件,多台机器组成的分布式EJB系统可能更适合这样的系统:ATM机需要很长的Session存活期,Spring对Session的管理是 默认一次调用会开启一个session,调用结束时关闭,如果保持一个Session一直不断Open,又占用内存,一分钟内如果非常多的ATM客户端接过来,对内存消耗太大。
EJB的Stateful对Session可以在规定内存内进行管理如果系统没有数据库,只是一个broker,转接者,使用JMS比多线程强,不宜用多线程 千山万水总是情,点个关注行不行,最后真诚的感谢大家的观看哦~
喜欢的话或者对您有帮助的话麻烦动动您的小手点个赞吆!
本文图文来源于网络,版权属于原作者或网站,内容为作者观点,内容版权归原作者所有、本站不对文章中的任何观点负责,内容只用于提供信息阅读,无任何商业用途。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站(文章、图片、音频、视频)有涉嫌抄袭侵权/违法违规的内容,请联系管理员,一经查实,将立刻删除、维护您的正当权益。
扫一扫,关注我们