异步服务器设计框架 AMPS
本文导语: AMPS一个中间件,它提供了一个框架,用于构建任何一个事件驱动的,异步处理的应用。与传统的基于线程的实现,AMPS允许单线程的方法,执行高并发应用程序。 AMPS implementations require that the application be modelled as a FSM (Finite State ...
AMPS一个中间件,它提供了一个框架,用于构建任何一个事件驱动的,异步处理的应用。与传统的基于线程的实现,AMPS允许单线程的方法,执行高并发应用程序。
AMPS is a middleware that provides a framework to write any software application as an event driven, asynchronous process . Unlike conventional thread based implementations, AMPS allows highly concurrent applications to run as a single thread of execution.
AMPS实现要求,应用被设计成有限状态机的模型,状态的改变是基于事件的,每个状态的改变都要求有事件处理程序。一旦这样的设想,实现能提供多重好处。
AMPS implementations require that the application be modelled as a FSM (Finite State Machine) that changes state based on ‘events’. ‘Event handlers’ are written for each state change. Once envisioned in this way, implementations provide multiple benefits.
本编程模型的好处有:
- 所有的执行都是不需要锁的。没有锁,没有互斥,不需要请求信号。
- 所有事件处理程序都是确定的。
- 自然支持对称多处理,非对称多处理和多核心系统。
- 程序是云就绪的.
- 没有线程间上下文切换或者等待锁的系统开销。
- 代码是在线程所产生的耦合效应应用的深入细微的错误自由。
- 代码避免了基于线程的应用由于深度耦合而产生的bug.
Some of the benefits of this programming model are:
- All execution is lock free. No locks, no mutexes, no semaphores required ever.
- All event handlers are deterministic
- Natural support for Symmetric multi-processing, Asymmetric multi processing and multi-core systems.
- Applications are cloud ready
- No system overhead in context switching between threads or waiting for locks.
- Code is free of subtle bugs arising out of deep coupling effects in thread based applications.