【云原生 | 28】Docker运行分布式任务处理平台Celery
2023-09-14 09:09:03 时间
作者简介:🏅云计算领域优质创作者🏅新星计划第三季python赛道第一名🏅 阿里云ACE认证高级工程师🏅
✒️个人主页:小鹏linux
💊个人社区:小鹏linux(个人社区)欢迎您的加入!
目录
1. 关于Celery
Celery是一个简单、灵活、高可用、高性能的开源(BSD许可)分布式任务处理系统,专注于实时处理的任务队列管理,同时也支持任务调度。Celery基于Python实现,跟包括Django、Pyramid、Pylons、Flask、 Tornado等Web框架都无缝集成,有庞大的用户与贡献者社区。Celery可以单机运行,也可以在多台机器上运行,甚至可以跨越数据中心运行。
|
Celery 官网:http://www.celeryproject.org/ Celery 官方文档英文版:http://docs.celeryproject.org/en/latest/index.html Celery 官方文档中文版:http://docs.jinkan.org/docs/celery/ Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时也支持任务调度 |
Celery支持不同的并发和序列化的手段
并发:Prefork, Eventlet, gevent, threads/single threaded
序列化:pickle, json, yaml, msgpack. zlib, bzip2 compression, Cryptographic message signing 等等
2. Celery的架构图
3. 在linux中安装 Celery
通过pip安装 |
# 本机Python环境为Python3.7.4
pip install celery
# 验证安装 查看版本
celery --version
---console---
5.2.3 (dawn-chorus)
使用redis作为backend和broker,需要本机安装redis,并启动redis-server,还需要安装Python第三方模块redis |
pip install redis
4. 在windows安装Celery
由于官方不支持windows安装和使用,需要借助Python第三方模块 |
pip install celery
pip install eventlet
# 验证安装 查看版本
celery --version
---console---
5.2.3 (dawn-chorus)
5. 在Docker中部署Celery
启动一个celery worker,即RabbitMQ Broker: |
$ docker run --link some-rabbit:rabbit --name some-celery -d celery:latest
检查集群状态: |
$ docker run --link some-rabbit:rabbit --rm celery celery status
启动一个celery worker,即Redis Broker: |
$ docker run --link some-redis:redis -e CELERY_BROKER_URL=redis://redis --name some-celery -d celery
检查集群状态: |
$ docker run --link some-redis:redis -e CELERY_BROKER_URL=redis://redis --rm celery celery status
如果用户使用的框架已有Celery库,那么使用起来会更方便。
下面是Python中调用Celery的hello world程序:
|
from celery import Celery
app = Celery('hello', broker='amqp://guest@localhost//')
@app.task
def hello():
return 'hello world'
👑👑👑结束语👑👑👑
相关文章
- Docker常见的几个问题处理
- 使用docker buildx打包发布多平台镜像
- zabbix监控docker容器
- 常用的docker命令
- 为什么不推荐Docker文件挂载?
- Docker 离线安装_docker官方中文文档
- docker 离线安装_Docker安装
- 面试官:Docker 有几种网络模式?5 年工作经验都表示答不上来。。
- Docker 和 K8s流程
- 【架构师(第四十七篇)】 服务端开发之认识 Docker
- 【Docker】基于Rancher快速部署docker容器管理平台
- Docker启动容器命令(docker start 容器名称)
- Docker高级篇:docker网络的四种类型
- 「 【Docker】docker的基础使用介绍(小白如何使用docker) 」
- 【好玩儿的Docker项目】10分钟部署一个类似知乎的开源问答平台——Answer
- 【Docker 系列】docker 学习 三
- 【Docker 系列】docker 学习六,探究一下数据卷容器
- Docker安装Kafka(docker-compose)、EFAK监控
- 【云原生 • Docker】cAdvisor+Prometheus+Grafana 10分钟搞定Docker容器监控平台
- Docker网络基础知识
- Docker Compose安装详解架构师
- 使用Docker安装Redis,一步到位!(docker安装redis)
- Docker驱动的Redis技术实现(dockerredis)
- 容器常用操作 – 每天5分钟玩转 Docker 容器技术(25)
- Docker与k8s的恩怨情仇(六)—— “容器编排”上演“终结者”大片