发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA
1 2 下一页 Go 2

JPetStore架构的疑问

         
2004-09-16 16:10
赞助商链接

研究ibatis的JPetStore有一段时间了,公司里也采取
类似的架构做过项目,我觉得是一个非常实用的轻量级
构架,但我觉得似乎有两个问题:
1)service模式,所有的逻辑包装在Service类中,
而Service的实例采用singleton模式获得,不知道
在多用户多并发量的情况下是否适用,比如,一个
较为费时的service的操作,如果一个用户在操作进行
中,另外一个用户同样调用该service实例的该操作,
是不是会阻塞住呢?这里面有多线程机制吗(似乎是
没有提供)。
2)不知道各位有没有用过JPetStore对context的封装
ActionContext类,似乎在多用户同时并发的情况下
sessoin会互相混淆,这个用户会取到其他用户的session.

不知道各位有没有对这两个问题考虑过,我的观点正确否,
有什么办法改进。

2004-09-20 17:13

1.service模式中如果使用事务机制操作数据库,将会存在性能瓶颈,如果只是读取,则不会。但是我个人不建议使用Singleton模式,现在可以用Ioc模式替代,你可以使用Spring的Pool池拦截器来实现Service的多实例化,这是稳妥的好方式。


2.ActionContext我不喜欢,因为是客户端每次请求都要生成,这在大访问量情况下是非常可怕的。

我个人认为:JPetstore是一个无伸缩性、无性能考量的小网站应用系统,它的架构没有特别之处,吸引人的地方是它的 iBATIS 。

2004-09-20 17:30

TSS的讨论不错,相信你看过:

http://www.theserverside.com/news/thread.tss?thread_id=14243

2004-10-10 13:51

>>但是我个人不建议使用Singleton模式,现在可以用Ioc模式替代

Singleton模式的“意图”写着:“用于保证该类型只创建全局唯一的对象。”IoC模式的“意图”写着:“用于在对象之外管理对象之间的依赖关系。”请问“用IoC模式替代Singleton模式”应该如何做?请指教。

>>我个人认为:JPetstore是一个无伸缩性、无性能考量的小网站应用系统,它的架构没有特别之处,吸引人的地方是它的 iBATIS 。

可否请详细介绍一下,JPetstore“无伸缩性、无性能考量”体现在哪里?

2004-10-15 15:08

JPetStore是个相当简洁的示例,只是它的Service层可扩展性和事务的可管理性不够强,有兴趣的话看看MiniSOA改写的JpetStore http://210.52.149.164:10000/alix/

2Go 1 2 下一页

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com