多线程RTC服务器和数据库连接池

时间:2013-10-31 12:36:39

标签: multithreading delphi connection pool realthinclient

你的建议是什么?

将TRTCHttpServer放置到主窗体或与其他服务器组件的数据模块一起使用会更好吗?在演示应用程序中,有两种实现方式。组件将设置为多线程属性TRUE。据我所知,如果以主窗体分隔,则在客户端连接时,每个线程都会创建数据模块。这是真的吗?

另外,如果我想为DB连接(TZConnection)制作池算法,应该放在哪里?在带有其他服务器组件和DBAware组件的数据模块中,还是在单独的数据模块中?池算法将如下所示:

DB Connection pool 服务器应该具有数据库连接池并且是多线程的。它可以通过RTC组件实现。它将作为3层架构的第二层。第三层是通过ZeosLib连接的MySQL。

感谢您的回答。

PS:我已经搜索过任何其他建议,但我无法说清楚。请帮忙。

1 个答案:

答案 0 :(得分:1)

我猜你有几个问题......

  1. AFAIK RTC使用线程池,以获得更好的可伸缩性和更少的资源使用。因此,您不能假设每个客户端都有一个线程。

  2. 始终首选将您的逻辑放在数据模块中,而且永远不要放在主窗体中:不要混用UI和服务器 - 例如,托管服务器是有意义的在服务中,在生产中。

  3. 如果您使用的是ZeosLib,您正在谈论的连接池与ZDBC连接池无关。