文档章节

用Django+MySQL+Celery+RabbitMQ实现一个分布式测试系统

mac_zhao
 mac_zhao
发布于 2014/09/29 11:34
字数 350
阅读 217
收藏 3

最近做了一个分布式的测试系统,目前实现了主要的架构和MVP(minimum viable product)版本的基本功能。在架构设计、数据库设计、具体实现等方面,(算是目前我做的架构最复杂的测试系统)还是花了2-3周的时间,终于MVP 版本算是出来了(今后根据需求和精力再考虑丰富更多的功能)。

使用Python开发,界面部分目前还没做;架构上使用到的东西,主要使用了:Django+DjangoRestFramework+MySQL+Celery+RabbitMQ。
如下图:

architecture diagram of test execution API

architecture diagram of test execution API

(此图在:http://www.processon.com/view/link/53a6e2440cf266a8fabce8b0)
应该来说,该系统的可扩展性还是比较好的,任务都是异步处理,而且可以实现分布式的worker来同时处理RabbitMQ中的消息。今后,如果调用量到了很大的数量级,还可以好好优化和水平扩展更多的worker。

在搭建该系统的过程中,由于以前都没在项目中实际用到这些技术,所以还是走了各种弯路,踩过一些坑。不细说了,参考资料中的网页链接或许值得一读。

参考资料:

http://mathematism.com/2010/02/16/message-queues-django-and-celery-quick-start/

http://maemual.net/?p=543

http://ashin.sinaapp.com/article/137/

© 著作权归作者所有

共有 人打赏支持
mac_zhao
粉丝 41
博文 249
码字总数 304671
作品 0
普陀
程序员
使用zookeeper实现分布式共享锁

分布式系统中经常需要协调多进程,多个jvm,或者多台机器之间的同步问题,得益于zookeeper,实现了一个分布式的共享锁,方便在多台服务器之间竞争资源时,来协调各系统之间的协作和同步。 pa...

学良
2013/06/05
0
10
分布式锁与实现(一)基于Redis实现

目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、...

rechardchensir
10/08
0
2
分布式锁与实现(一)——基于Redis实现

概述 目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consisten...

飓风2000
09/12
0
0
堆叠式的文件系统--MTFS

MTFS(MulTi File System)是一个基于副本的可靠性增强系统。它通过维持文件的多个副本,提高分布式存储系统的可靠性。 MTFS是一个堆叠式的(stackable)文件系统,它本身不提供数据的存储能...

pkuelelixi
2012/07/17
841
0
redis分布式锁

关于分布式锁的概念网上太多了,这里就不罗嗦了。对于开发者来说,最关心的应该是什么情况下使用分布式锁。 使用分布式锁,一般要满足以下几个条件: · 分布式系统(关键是分布式) · 共享资...

明舞
2015/10/16
5.7K
3

没有更多内容

加载失败,请刷新页面

加载更多

wordpress 汉化

在 wp-config.php 添加 define('WPLANG','zh_CN'); 在后台,更新 now ,即可。

james_laughing
22分钟前
0
0
Android JNI开发系列(十一) JNI 访问父类的构造方法和父类实例方法

JNI 访问父类的构造方法和父类实例方法 构造方法和父类实例方法 先看一段Java代码, Java package org.professor.jni.animal;import android.util.Log;public class Animal {protecte...

蔡小鹏
28分钟前
1
0
腾讯投资最高1.75亿美元正式进军菲律宾移动支付市场

菲律宾长途电话公司(PLDT)公司今日宣布,中国互联网巨头腾讯和私募股权公司KKR将获得该公司旗下金融科技公司Voyager Innovations的少数股权。 PLDT在一份声明中称:“腾讯和KKR最多将分别收...

linuxCool
55分钟前
2
0
正则介绍及grep/egrep用法

10月16日任务 9.1 正则介绍_grep上 9.2 grep中 9.3 grep下 扩展 把一个目录下,过滤所有*.php文档中含有eval的行 grep -r --include="*.php" 'eval' /data 正则介绍 正则就是一串有规律的字符...

hhpuppy
今天
3
0
J2Cache 中使用 Lettuce 替代 Jedis 管理 Redis 连接

一直以来 J2Cache 都是使用 Jedis 连接 Redis 服务的。Jedis 是一个很老牌的 Redis 的 Java 开发包,使用很稳定,作者维护很勤勉,社区上能搜到的文章也非常非常多。算是使用范围最广的 Redi...

红薯
今天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部