后端开发者的5个队列系统
|
确认电子邮件,并显示回复页面。如果你连接的邮件服务器已关闭,则网页无法打开,而影响用户体验。想象一下当获得的大量支持请求的情况下,最好将电子邮件发送任务推送到作业队列。 并行执行 许多开发人员,特别是那些主要编写简单,流量较低的应用的开发人员,习惯于使用cron作业进行后台处理。例如,假设有一个cron作业,它编译分析报告并通过电子邮件发送给用户,并且系统每分钟可以处理100个报告。一旦应用增长并且平均每分钟开始获得超过100个请求,处理效率将越来越滞后,那么将永远无法完成所有工作。 在队列系统中,可以通过设置多个工作人员来避免这种情况,每个工作人员可以选择一个工作(每个工作包含100个报告)并且并行工作以更快地完成任务。 故障恢复 作为Web开发人员,我们会认为服务器和使用的API将始终连接,而现实情况则不同。网络中断非常普遍,我们所依赖的优秀API可能因基础设施问题而崩溃。因此,回到上面的报告举例,如果生成报告的部分内容要求你连接到API,并且该连接已关闭了2分钟,那么200个报告失败的情况会怎样? 需要指出的是,队列系统的学习确实十分耗费精力,它学习曲线陡峭,应用和部署的复杂性增加,队列的作业无法始终以100%的精度控制。所以,该如何选择趁手的队列系统?以下将推荐五个适合后端开发人员的队列系统。 Redis
Redis是键值存储系统,以前它只存储,更新和检索数据字符串,而不了解数据结构。但今天Redis拥有高效且非常有用的数据结构,如列表,有序集,甚至是Pub-Sub系统,这使得它非常适合于队列实现。 (编辑:宣城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

