承接【网站建设、量身定做管理软件及小型应用软件开发】,专业软件设计师为您服务。(本人现住地:武汉)联系方式:(QQ)280318792 电话:13477007785

twzheng's cppblog

『站在风口浪尖紧握住鼠标旋转!』

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  124 随笔 :: 74 文章 :: 217 评论 :: 0 Trackbacks

ESFramework

     摘要: 前面的两篇文章我们已经介绍了Tcp连接池和Tcp连接池管理器,并且引入了ITcpPool接口,这个接口可以将单个连接池和一组连接池统一起来,使它们有相同的外部使用方式。现在我们需要考虑的问题是,当消息分派器分派一个接收到的请求时,如果这个请求需要被FS上的某个功能插件处理,那么消息分派器是如何将这个消息分派到对应的FS上去的?  阅读全文
posted @ 2007-04-14 22:38 谭文政 阅读(50) | 评论 (0)  编辑

     摘要: AddPool方法和RemovePool方法表明可以动态的添加/移除Tcp连接池。注意接口中的SetPerformance方法,这个方法将被FS管理器调用,用于把从Remoting接收到的FS的性能数据通知给ITcpPoolsManager,然后ITcpPoolsManager再把这些数据提交给ITcpPoolScheduler记录,当需要进行调度的时候,ITcpPoolScheduler从这些记录中进行分析计算并找到负载最小的FS。TcpPoolSchedulerTypeString属性用于向连接池管理器提供调度者的实际类型,管理器将会通过反射创建调度者的实例。  阅读全文
posted @ 2007-04-14 22:35 谭文政 阅读(87) | 评论 (0)  编辑

     摘要: 凡是带有“池”的,比如数据库连接池、对象池、缓冲区池(后面可以看到IBuffPool)等等,都是为了避免资源的反复创建/销毁所带来的开销。需要为哪些资源对象建立“池”了?这些资源对象通常符合下面几个特性:
(1)在应用中需要反复的被创建/销毁。
(2)创建/销毁的开销比较大
(3)应用中给定时刻,对该资源对象的数量要求比较大
(4)资源对象最好是无状态的(Stateless),这样方便直接复用  阅读全文
posted @ 2007-04-14 22:17 谭文政 阅读(74) | 评论 (0)  编辑