消息队列
2015-11-24 16:42
246 查看
整个网站采用的算是一种分布式的异步架构体系,中间采用RabbitMQ作为异步通讯服务器,通过上层28台PHP App Server做成的LVS集群对下层2台集群的 RabbitMQ 消息系统进行调用,这里消息系统主要用来发送运行日志,电子邮件通知,系统消息,用户图片上传,每天大约需要处理 500.000条消息,这样的架构体系可以对系统的运行性能有所改善.
一般有3个原因:
第一是:加强了系统的可扩展性,
第二是:提高系统资源的使用率,
第三是:降低系统运行中瞬间的瓶颈。
比如在系统繁忙的时间里,每分钟有1000个用户进行登录,这意味着我们将有1000个并发的用户请求需要对缓存/数据库表的更新,但是现在有了消息队列的架构,我们可以运行他们每个顺序相反。如果我们需要更多的处理速度,我们可以添加更多的消费者到消息队列,还可以加入更多的机器到MQ消息群集中,不需要修改以前任何的配置或部署任何新的代码。网站表示系统将来会向异步式架构发展,将更多的业务放入RabbitMQ 系统队列中进行处理。
一般有3个原因:
第一是:加强了系统的可扩展性,
第二是:提高系统资源的使用率,
第三是:降低系统运行中瞬间的瓶颈。
比如在系统繁忙的时间里,每分钟有1000个用户进行登录,这意味着我们将有1000个并发的用户请求需要对缓存/数据库表的更新,但是现在有了消息队列的架构,我们可以运行他们每个顺序相反。如果我们需要更多的处理速度,我们可以添加更多的消费者到消息队列,还可以加入更多的机器到MQ消息群集中,不需要修改以前任何的配置或部署任何新的代码。网站表示系统将来会向异步式架构发展,将更多的业务放入RabbitMQ 系统队列中进行处理。
NET下RabbitMQ实践[示例篇]
/article/4598265.html相关文章推荐
- 动态生成DropDownList 并取值
- UNIX编程——互斥锁和条件变量
- JAVA程序员最常犯的10个错误
- addSubView会使内存计数+1
- Java去除掉HTML里面所有标签,
- Android 自动弹出输入框
- mysql 5.7 ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executi
- 快速导入数据库命令
- 另一种 模板模式
- 多媒体开发之直播---直播架构
- GitLab/Git在AndroidStudio上的配置和简单使用
- bzoj-3876 支线剧情
- 飞鸽使用的通信协议是什么(未完待续)
- android谷歌官方自带SwipeRefreshLayout实现下拉刷新
- 建房子之前先挖地基 - Java BlockingQueue理解
- c++类的定义《一》
- IIS部署WCF
- 模板模式
- 数据类型/强制类型转换 和运算符---标识符规则/关键字 a++和++a区别
- jquery设置个滚动条位置,使页面回到顶端