【问题标题】:Professional Advice: Messaging Solution专业建议:消息解决方案
【发布时间】:2011-07-24 07:58:42
【问题描述】:

我正在为批量 SMS 解决方案编写一个应用程序。我喜欢用 Java、Perl 或 PHP 编写应用程序。

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

我确实有网络凭据,即:

  • IP
  • 端口
  • 用户名
  • 密码

用于 SMPP 连接。

我正在查看以下内容:

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

请指出我的概念是否符合预期或是否有更好的解决方案。

【问题讨论】:

  • 什么垃圾邮件?我指的是批量短信。客户愿意使用我的系统发送 20 - 50,000 条短信
  • 你能告诉我区别吗?
  • 你是说群发的概念错了吗?我有一个短信的工作解决方案。我知道一家提供这种解决方案的公司。他们也发送垃圾邮件吗?我的意思是clickatell等有这样的服务。这违法吗?
  • 不,当您获得用户同意时,这并不违法。但是,当您说“用户上传 csv”时,它闻起来像垃圾邮件。
  • 不,我指的是与我们达成协议的客户。你能协助最初的帖子吗

标签: java php perl bulksms


【解决方案1】:

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

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

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

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

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

【讨论】:

  • 感谢您的评论。我必须想办法实现你提到的守护进程。我不知道从哪里开始:D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-20
  • 2015-08-20
  • 1970-01-01
相关资源
最近更新 更多