【CDP-云设计模式】第8章,1.队列链表模式(Queuing Chain Pattern)
来源:互联网 发布:海马助手mac版 编辑:程序博客网 时间:2024/05/22 14:41
1.要解决的问题
如果对运行在多个系统上的相关进程(例如,在图像处理过程中,上传、存储、图像转码、创建缩略图等等顺序操作)执行顺序处理,往往会因为系统间联系过于紧密而造成性能瓶颈。当出现故障时,这种紧密的联系同样会使恢复操作变得复杂。所以,考虑到性能和维护的需要,应尽可能地使系统实现松耦合。
2.云模式的说明
您可以在系统间使用队列来实现松散耦合,然后通过交换消息来转换工作。这可以实现系统的异步连接。这种方法可以增加接收和处理消息的虚拟服务器数量,必要时,通过并行处理来轻松解决瓶颈问题。即使其中某台虚拟服务器出现故障,未处理的消息仍会保存在队列中,这样当虚拟机恢复时即可重新开始处理。
虽然可以不借助云技术来使用这种模式,但是AWS云已经提供了这种队列服务,考虑到云技术能弹性地提供虚拟服务器的特性,这种模式的使用较以往会变得容易得多。
3.实施
使用Amazon简单队列服务(SQS),从EC2实例中的一个进程转换为另一个EC2实例中的另一个进程。SQS是AWS的队列服务。EC2中的处理过程如下:接收一项工作(消息) –> 处理工作 –> 传递工作(消息) –>重复。
依据工作的性质,您可以在多个EC2实例中运行这些进程。
4.配置
5.好处
您可以使用异步处理来快速返回响应。
您可以通过简单进程(EC2实例)的松散耦合来构造系统。
您仅需通过增加或减少工作进程中的EC2实例数量来满足性能和服务需求。
即使EC2实例出现故障,消息(工作)仍会留在队列服务中,使得进程能够在EC2实例恢复后立刻继续执行,打造一个面对故障也能稳如泰山的系统。
6.注意事项
在一些进程必须严格按照顺序执行的系统中,您需要注意,在SQS中,不能完全保证队列中的消息的执行顺序。
7.其他
您可以将本模式与优先队列模式相结合使用。
您可以使用Amazon的简单工作流(SWF)来相对轻松地支持复杂的工作流,而不是仅仅使用简单队列。
- 【CDP-云设计模式】第8章,1.队列链表模式(Queuing Chain Pattern)
- 【CDP-云设计模式】第8章,2.优先级队列模式(Priority Queue Pattern)
- 【CDP-云设计模式】第2章,1.快照模式(Snapshot Pattern)
- 【CDP-云设计模式】第3章,1.多服务器模式(Multi-Server Pattern)
- 【CDP-云设计模式】第4章,1.横向扩展模式(Scale Out Pattern)
- 【CDP-云设计模式】第5章,1.网络存储模式(Web Storage Pattern)
- 【CDP-云设计模式】第6章,1.写代理模式(Write Proxy Pattern)
- 【CDP-云设计模式】第7章,1.数据库复制模式(DB Replication Pattern)
- 【CDP-云设计模式】第9章,1.引导程序模式(Bootstrap Pattern)
- 【CDP-云设计模式】第8章,3.工作观察者模式(Job Observer Pattern)
- 【CDP-云设计模式】第2章,2.印章模式(Stamp Pattern)
- 【CDP-云设计模式】第2章,3.纵向扩展模式(Scale Up Pattern)
- 【CDP-云设计模式】第3章,2.多数据中心模式(Multi-Datacenter Pattern)
- 【CDP-云设计模式】第3章,3.浮动IP模式(Floating IP Pattern)
- 【CDP-云设计模式】第4章,2.克隆服务器模式(Clone Server Pattern)
- 【CDP-云设计模式】第4章,3.NFS共享模式(NFS Sharing Pattern)
- 【CDP-云设计模式】第4章,4.NFS复制模式(NFS Replica Pattern)
- 【CDP-云设计模式】第4章,5.状态共享模式(State Sharing Pattern)
- 运算符
- 有向图的存储
- tjut 4722
- 计算机的组成及其功能
- 笔试面试网络知识总结
- 【CDP-云设计模式】第8章,1.队列链表模式(Queuing Chain Pattern)
- 如何有效地阅读文献并做笔记
- UVALive 7327 Digit Division
- Hust oj 1987 逃课的孩子(Map)
- Hibernate的映射文件
- 视图短函数
- Leetcode DataBase
- svm基本原理
- 立体图