0

我正在整理一个批量 SMS 解决方案的应用程序。我很乐意用 Java、Perl 或 PHP 编写应用程序。

请就处理异步消息传递的最佳媒介提出建议。

我确实有网络凭据,即:

  • 知识产权
  • 港口
  • 用户名
  • 密码
  • ETC

用于 SMPP 连接。

我正在查看以下内容:

  1. 用户从网络上传 CSV 或 XLS 文件
  2. 号码和消息保存在数据库中
  3. 我创建了一个 cron 来定期检查数据库中是否有排队等待发送的消息
  4. 要发送的消息被转发到活动的 MQ(APACHE 的消息传递工具)。
  5. MQ 转发到网络
  6. MQ 从网络接收确认和传递状态并更新数据库。

请指出我的概念是否正常,或者是否有更好的解决方案。

4

1 回答 1

0

您正在谈论 SMS 消息(这是一个异步消息处理系统)的事实使事情有些混乱 - 实际上这并不重要 - 重要的是您正在尝试编写一个异步消息处理系统来做某事

排队和处理消息的现成解决方案没有尽头。以前我使用 BSD lpd 处理少量的 SMS/传真。您同样可以使用 MTA,或专门为 SMS 处理而设计的工具,例如 Kannel。IME,处理提供多种不同 API 的聚合器,事实证明推出我自己的解决方案更有效。

如果您要编写自己的解决方案,请不要使用 cron。

当您的 cron 作业触发时,您是否只接收一条消息并对其进行处理?您是否尝试获取所有可用的消息并进行处理?如果这需要超过 cron 作业之间的间隔怎么办?虽然消息传递子系统(在您的订阅者之前 - 而不是之后)会消除一些复杂性,但它并不能解决所有问题。

正确的方法是使用守护进程作为单线程或计划分片运行。

于 2011-03-28T12:09:14.540 回答