Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 芹菜配Redis与单独配Redis_Java_Python_Rabbitmq_Celery_Messaging - Fatal编程技术网

Java 芹菜配Redis与单独配Redis

Java 芹菜配Redis与单独配Redis,java,python,rabbitmq,celery,messaging,Java,Python,Rabbitmq,Celery,Messaging,我很难理解使用芹菜的好处是什么。我知道你可以用芹菜搭配Redis、RabbitMQ等,但是,为什么我不直接为那些消息队列服务获取客户端,而不是坐在它前面呢?使用芹菜的好处是,我们主要需要编写任务处理代码,芹菜框架负责处理向任务处理者交付的任务。通过运行更多并发性更高的芹菜工人(更多的处理线程/进程),扩展任务处理也很容易。我们甚至不需要编写将任务提交到队列和使用队列中的任务的代码。 此外,它还内置了为任何任务队列添加/删除使用者的功能。该框架支持任务重试、故障处理、结果累积等。它有许多特性,帮助

我很难理解使用芹菜的好处是什么。我知道你可以用芹菜搭配Redis、RabbitMQ等,但是,为什么我不直接为那些消息队列服务获取客户端,而不是坐在它前面呢?

使用芹菜的好处是,我们主要需要编写任务处理代码,芹菜框架负责处理向任务处理者交付的任务。通过运行更多并发性更高的芹菜工人(更多的处理线程/进程),扩展任务处理也很容易。我们甚至不需要编写将任务提交到队列和使用队列中的任务的代码。 此外,它还内置了为任何任务队列添加/删除使用者的功能。该框架支持任务重试、故障处理、结果累积等。它有许多特性,帮助我们只专注于实现任务处理逻辑

打个比方,实现一个在Hadoop上运行的MapReduce程序并不是一项非常复杂的任务。如果数据很小,我们可以编写一个简单的Python脚本来实现map-reduce逻辑,这将优于Hadoop map-reduce作业处理相同的数据。但是,当数据非常庞大时,我们必须在机器之间划分数据,我们需要在机器之间运行多个进程并协调它们的执行。复杂性在于在多台机器上运行多个映射器实例,然后还原任务,收集输入并将输入分发给映射器,将映射器的输出传输到适当的还原器,监视进度,重新启动失败的任务,检测作业完成情况等。
但是因为我们有Hadoop,所以我们不需要太在意执行分布式作业的潜在复杂性。同样,芹菜也有助于我们主要关注任务执行逻辑。

它的好处取决于您使用它的方式,因此它可能根本没有任何好处。如果您正在构建一个小型系统,那么芹菜可能对您没有用处。它对于具有多个节点的大型系统非常有用。此问题不适合此站点。好的、客观合理的答案将取决于所解决问题的具体细节,但你已经向可能存在的问题的整个宇宙打开了领域,这使得你的问题过于宽泛和基于观点。可能存在问题A和问题B,其中问题A可以通过cron job+Redis更好地解决,而问题B将真正受益于使用芹菜+Redis。是否使用芹菜实际上取决于问题解决的细节。