Mongodb 扩展symfony/mongo应用程序
感谢阅读Mongodb 扩展symfony/mongo应用程序,mongodb,symfony,rabbitmq,scaling,Mongodb,Symfony,Rabbitmq,Scaling,感谢阅读 我需要有关扩展实际堆栈的技术专业知识 用php编写的主应用程序(symfony 3) rabbit mq作为后端系统,以避免延迟(消息由php cli脚本处理,再次使用symfony) 蒙戈数据库 1个主服务器,承载所有内容 我的应用程序类似于mailchimp,sendInblue,它是一个电子邮件自动化工具 客户可以在我们的系统(api)中上传自己的联系人数据库 客户端可以将电子邮件配置为发送到特定时间 客户可以定义一些规则来确定是否应该向特定联系人发送电子邮件 它与400
我需要有关扩展实际堆栈的技术专业知识
- 用php编写的主应用程序(symfony 3)
- rabbit mq作为后端系统,以避免延迟(消息由php cli脚本处理,再次使用symfony)
- 蒙戈数据库
- 1个主服务器,承载所有内容
- 客户可以在我们的系统(api)中上传自己的联系人数据库
- 客户端可以将电子邮件配置为发送到特定时间李>
- 客户可以定义一些规则来确定是否应该向特定联系人发送电子邮件李>
- 我可以用doctrine+mongodb处理数十亿行文档吗
- 我期望面对哪些性能问题
- 我知道我可以通过切分在多个系统中分发数据集,还有其他方法吗
- 在这种情况下,php代码是否需要(完全?)重构以进行扩展
- 假设我要求我的管理系统升级系统以处理数十亿行,我需要在代码中考虑这一点吗
我的实际实现是这样的:
- 我有400万客户需要在上午9点到晚上21点之间进行评估
- cron每分钟向rabbitmq发送6000个联系人id
- php进程(symfony控制台脚本)始终在运行,并等待处理新的联系人id
- 从mongodb获取联系文档
- 评估规则
- 如果规则正确,请发送电子邮件
由于速度不够快,我在supervisord中设置了6个运行进程 但我不能把60个并行php进程快10倍,对吗? 如何扩展这样一个系统?
您是否会以不同的方式实现此功能,如果是,如何实现 最后一个重要的问题是,考虑到所有这些,我能期望迁移到nodejs堆栈的好处吗 非常感谢