我将创建一个电报机器人来同时(每秒)处理 15 万用户。
我将使用 TDLib(因为我确实想面对 Telegram Bot API 每秒约 30 条消息的限制)。
以前我总是使用 Telegram Bot Webhook。我注册了 webhook 以指向我的服务器。我的服务器处理来自 Telegram 的请求并向用户发送消息。我的服务器上没有任何负载。最大加载为每秒 10 或 30 个用户。
现在我将使用 TDLib。所以通过架构进行交互。
交互一、Telegram Webhook + TDLib
它不起作用,因为在 nginx 的日志中,我看到 TDLib 运行时 nginx 没有收到任何 webhook 请求。
交互2. TDLib的几个实例
有用。每个实例都可以发送消息并获取更新。但我担心网络流量,因为每个实例都会获得所有更新。
交互 3. 一个 TDLib 实例(当前选择)
TDLib 的一个实例获取所有更新并将其发送到队列(我们将其称为in.queue)。
我将编写一个程序来处理来自队列in.queue的更新。
队列更新的处理是创建一个响应命令并将其发布到另一个队列(out.queue)。
TDLib 实例监听out.queue并应用命令。
但我想知道在部署到产品之前如何测试我的机器人。
是否有可能以某种方式模拟这种加载(同时有 15 万用户)来测试我的架构?