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

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

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

如下图:

5346ad601e490a05a4c55af30f31ff43.png

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/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值