2013-10-31 65 views
0

您有什么建议?多线程RTC服务器和数据库连接池

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

另外,如果我想为数据库连接(TZConnection)做一个池算法应该放在哪里?在与其他服务器组件和DBAware组件的数据模块中,还是在单独的数据模块中?池算法将像这样线程化:

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

感谢您的回答。 PS:我已经搜索了任何其他建议,但我无法说清楚。请帮忙。

回答

1

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

  1. AFAIK RTC使用一个线程池,为了更好的可扩展性和更少的资源利用。所以你不能假设你每个客户端都有一个线程。

  2. 它总是首选把你的逻辑在数据模块,并且从来没有在主要形式有:不混合UI和服务器 - 例如,它可能是有意义的主机服务器的服务,对生产。

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