Huihoo.org - Open Source Middleware Foundation

 Last Modified: 2003.04.04

JFox小组2003.03.31讨论 - JFox核心设计第一次讨论


(by huihoo.org founder_chen整理)

注:founder_chen为JFox项目组的核心成员和组织者,他组织了这次讨论。

讨论总结:
1.如何计算服务器的负载
2.实例池的实现与管理
...
zth_cn对大家说: hi(10:03)

zth_cn对大家说: hello tisom(10:03)

tisom对大家说: hi , everyone , moring(10:03)

founder_chen对大家说: 你在sourceforge.net的帐户好用了吗(10:04)

tisom对大家说: 大家好(10:04)

founder_chen对大家说: hi, tisom,你好(10:04)

tisom对founder_chen说: 你好(10:04)

zth_cn对大家说: 好了,谢谢了(10:04)

tisom对founder_chen说: 你们在聊什么呢(10:04)

zth_cn对大家说: 我刚来,今天讨论些什么问题了?(10:05)

founder_chen对大家说: 还没开始,tisom(10:06)

tisom对founder_chen说: 随便谈谈任何技术话题(10:06)

founder_chen对大家说: www.huihoo.com上写的是JFox的核心设计(10:06)

tisom对大家说: HA, 如何?(10:06)

founder_chen对大家说: 我也是刚出差回来,:)(10:06)

founder_chen对大家说: 好,开始吧(10:07)

zth_cn对tisom说: tisom,我有个问题:怎么计算服务器的负载?(10:07)

founder_chen对大家说: tisom,请问JFox中的EJB的CMP你是采用什么方式实现的?(10:07)

zth_cn对tisom说: 还有你认为哪些可以作为负载?(10:08)

tisom对大家说: 我想过,可以按照每个服务的负载(10:08)

tisom对大家说: 简单的讲,是计算应用服务的负载(10:08)

th_cn对tisom说: 那些定义为负载?(10:09)

founder_chen对大家说: 通过什么来度量负载呢?(10:09)

tisom对大家说: 实现上,应该是一个计算公式(10:09)

tisom对大家说: 公式里面要考虑 CPU/RAM/Services等等(10:10)

zth_cn对tisom说: 是这样,但是services怎么定义?(10:10)

tisom对大家说: 是应用的服务(10:11)

founder_chen对大家说: 负载因子的权重如何分配?(10:11)

zth_cn对tisom说: 怎么计算?例如:连接数,服务时间等等(10:12)

tisom对大家说: 和应用有关,j2ee服务应该有这样一个接口来实现对应用服务开发者对负载的要求(10:12)

tisom对大家说: 这些东西,就是问题的关键所在。(10:12)

zth_cn对tisom说: 对,怎么通过试验来确定负载因之?(10:13)

tisom对大家说: 它应该根据系统的状况,是可配置的(10:13)

tisom对大家说: 这个公式是来自于用户,而不是开发人员(10:13)

founder_chen对大家说: EJB容器是如何来管理资源池的?(10:14)

zth_cn对tisom说: 对,主要是参数的获得(10:14)

tisom对大家说: 回答:tisom,请问JFox中的EJB的CMP你是采用什么方式实现的?(10:14)

tisom对大家说: 动态代理,上次好象说过了(10:15)

founder_chen对大家说: okay(10:15)

zth_cn对tisom说: tisom,现在的开发的瓶颈是什么?(10:15)

tisom对大家说: 协同开发(10:17)

founder_chen对大家说: 动态代理用在管理容器的吗,那持久性如何做的(10:17)

zth_cn对tisom说: 我的jbuild调试的工程,还是有问题,不能完全成功运行(10:17)

zth_cn对tisom说: 那你怎么划分各个开发模块?(10:17)

tisom对大家说: 你说的是钝化和激活,是吧?(10:18)

tisom对大家说: 实际上,激活的意思是,instance 保存在container中,这很好理解是吧(10:19)

zth_cn对tisom说: 恩,pool中的instance的数量,怎么管理?(10:19)

founder_chen对大家说: 不是,我觉得CMP完成了很多object到db schema的映射(10:20)

tisom对大家说: 钝化就是,从内寸中,将instance去掉,将其写入硬盘中的文件。(10:20)

zth_cn对tisom说: 是,cmp主要是o/r映射问题吧(10:20)

tisom对大家说: 所谓映射,也是人去做的。和select** ,结果保存在recordset中没有什么区别(10:20)

founder_chen对大家说: 当我们在写CMP的时候,很多的SQL都由服务器来生成,很少的SQL代码(10:21)

dfdfswsw进入聊天室.(10:21)

founder_chen对大家说: 在CMP的实现中由提供类似于DB cache的功能吗(10:22)

tisom对大家说: 没有(10:23)

dfdfswsw对大家说: 今天主要讨论ejb container 的cmp吗?(10:24)

founder_chen对大家说: EJB容器中的pool是如何做的,类似于ConnectionPool?(10:25)

founder_chen对大家说: dfdfswsw,讨论JFox核心设计,都可以(10:26)

zth_cn对founder_chen说: 那种pool?instance pool?(10:26)

tisom对大家说: 是的(10:26)

zth_cn对founder_chen说: 我觉得就是一个stack(10:26)

tisom对大家说: instance pool(10:26)

zth_cn对founder_chen说: 生成一个EnterpriseContext并且关联一个instance,然后放到stack中,(10:27)

zth_cn对tisom说: 你怎么看?(10:28)

founder_chen对大家说: instance pool,能说得具体一些吗,我知道一些object pool是预先new一些object放到内存中(10:28)

tisom对大家说: jfox-ejb中的对象的管理使用的是jmx,几乎重要的对象的instance都是由jmx来管理的。(10:28)

tisom对大家说: jmx是jfox-ejb的kenel(10:29)

zth_cn对tisom说: sorry,不是指的bean instance pool吗?(10:29)

founder_chen对zth_cn说: instance 是预先分配好的,还是在run-time时生成的(10:29)

tisom对大家说: 那要看是什么类型的ejb(10:30)

tisom对大家说: example: stateless ejb(10:30)

zth_cn对tisom说: 讨论的是什么instance?(10:30)

zth_cn对tisom说: stateless是预先create,(10:30)

tisom对大家说: 实例是在create stateless ejb时就生成了(10:30)

zth_cn对tisom说: 但是stateful,是在client的create方法是才创建的(10:31)

zth_cn对tisom说: jboss中stateless是在部署时就生成了(10:31)

tisom对大家说: 对,because , stateful 是有状态的。(10:31)

zth_cn对大家说: 对(10:31)

founder_chen对zth_cn说: 那instance的多少就像刚才提到的,是可配置的吧(10:32)

zth_cn对founder_chen说: 但是我没看到配置文件,所有很疑惑(10:34)

founder_chen对zth_cn说: 你是指JFox中吗?(10:35)

zth_cn对founder_chen说: 不是的,jfox的源码,我还没仔细的分析,呵呵(10:36)

zth_cn对tisom说: 你能写一个jfox的jbuilder工程步骤吗?(10:36)

founder_chen对大家说: ejb实例在本地保存的时候采用的是序列化吧,当destory一个实例的时候,如何从文件删除该实例?(10:38)

tisom对大家说: ok(10:38)

zth_cn对tisom说: 呵呵(10:38)

tisom对大家说: 系统重新启动时,回删除上次运行的钝化文件(10:40)

tisom对大家说: 我公司还有点事情,我退了。(10:41)

tisom对大家说: Bye(10:42)

tisom对大家说: everyone , see all U next time.(10:42)

zth_cn对tisom说: ok(10:42)

founder_chen对大家说: see u , tisom(10:42)

tisom离开了聊天室.(10:42)

founder_chen对大家说: hi , zth_cn, 你在sourceforge.net上的帐户已经加入jfox组了(10:43)

zth_cn对founder_chen说: en,已经加入了(10:44)

founder_chen对大家说: ?,没人了吗?(10:45)

zth_cn对founder_chen说: 但是我也wincvs(10:45)

zth_cn对founder_chen说: wincvs check out是总有问题(10:45)

founder_chen对zth_cn说: 在加上SSH就可以了,对于MDB在容器中如何管理,你由什么看法(10:46)

founder_chen对zth_cn说: 回头我给你发一篇如何配置的文章,okay(10:46)

zth_cn对founder_chen说: 好的(10:47)

founder_chen对zth_cn说: 刚才tisom说序列化的对象删除在系统重启的时候才被删除,那要是长期运行,本地的文件不就会越来越大,(10:48)

founder_chen对zth_cn说: 服务器的性能还能保证吗?(10:48)

zth_cn对founder_chen说: 我觉得和实现有关,如果容器实现的remove方法中删除,也可以(10:50)

founder_chen对zth_cn说: 通常App Server是要保持24*7运行的,系统是应该由一定的回收删除策略,像GC一样,(10:52)

zth_cn对founder_chen说: 对,(10:52)

founder_chen对zth_cn说: EJB模型中安全机制我不太明白,你能说说吗(10:54)

founder_chen对zth_cn说: 例如它不提倡用户在EJB中管理自己的线程(10:55)

zth_cn对founder_chen说: 下来我们在email中讨论吧,安全很多东西(10:55)

founder_chen对zth_cn说: 好的,要不今天就到这吧,下次我们再讨论,希望能有更多的人参加(10:56)

founder_chen对zth_cn说: 谢谢各位!(10:56)

zth_cn对founder_chen说: ok(10:57)

zth_cn离开了聊天室.(10:57)