异步服务器设计框架 AMPS
fmms
13年前
<p><span style="line-height:25px;font-family:'Century Gothic', 微软雅黑;font-size:19px;">AMPS一个中间件,它提供了一个框架,用于构建任何一个事件驱动的,异步处理的应用。</span><span style="line-height:25px;font-family:'Century Gothic', 微软雅黑;font-size:19px;">与传统的基于线程的实现,AMPS允许单线程的方法,执行高并发应用程序。</span></p> <p style="font-family:'Century Gothic', 微软雅黑;">AMPS is a middleware that provides a framework to write any software application as an event driven, <strong>asynchronous</strong> process . Unlike conventional thread based implementations, AMPS allows highly concurrent applications to run as a single thread of execution. </p> <p style="font-family:'Century Gothic', 微软雅黑;"><span style="line-height:25px;font-size:19px;"><span style="background-color:#ffffff;">AMPS实现要求,应用被设计成有限状态机的模型,状态的改变是基于事件的,每个状态的改变都要求有事件处理程序</span></span><span style="line-height:25px;font-size:19px;"><span style="background-color:#ffffff;">。</span><span>一旦这样的设想,实现能提供多重好处。</span></span></p> <p style="font-family:'Century Gothic', 微软雅黑;">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. </p> <p><span style="line-height:24px;font-size:16px;"><span>本编程模型的好处有:<br /> </span></span></p> <ul> <li><span style="background-color:#ffffff;">所有的执行都是不需要锁的。</span><span style="background-color:#ffffff;">没有锁,没有互斥,不需要请求信号。</span></li> <li>所有事件处理程序都是确定的。</li> <li>自然支持对称多处理,非对称多处理和多核心系统。</li> <li>程序是云就绪的.</li> <li>没有线程间上下文切换或者等待锁的系统开销。</li> <li>代码是在线程所产生的耦合效应应用的深入细微的错误自由。</li> <li>代码避免了基于线程的应用由于深度耦合而产生的bug.</li> </ul> <p>Some of the benefits of this programming model are:</p> <ul style="font-family:'Century Gothic', 微软雅黑;" type="disc"> <li style="font-family:'Century Gothic', 微软雅黑;">All execution is lock free. No locks, no mutexes, no semaphores required ever.</li> <li style="font-family:'Century Gothic', 微软雅黑;">All event handlers are deterministic</li> <li style="font-family:'Century Gothic', 微软雅黑;">Natural support for Symmetric multi-processing, Asymmetric multi processing and multi-core systems.</li> <li style="font-family:'Century Gothic', 微软雅黑;">Applications are cloud ready</li> <li style="font-family:'Century Gothic', 微软雅黑;">No system overhead in context switching between threads or waiting for locks.</li> <li style="font-family:'Century Gothic', 微软雅黑;">Code is free of subtle bugs arising out of deep coupling effects in thread based applications.</li> </ul> <table style="width:100%;font-family:'Century Gothic',微软雅黑;font-size:11px;" class="ke-zeroborder" border="0" cellspacing="0" cellpadding="4"> <tbody> <tr style="font-family:'Century Gothic', 微软雅黑;"> <td style="font-family:'Century Gothic', 微软雅黑;color:#890f0d;font-size:14px;font-weight:bold;" class="Heading">Products developed on AMPS(基于AMPS开发的产品)</td> </tr> <tr style="font-family:'Century Gothic', 微软雅黑;"> <td style="text-align:justify;font-family:'Century Gothic', 微软雅黑;" class="txt"> <ul style="font-family:'Century Gothic', 微软雅黑;"> <li style="font-family:'Century Gothic', 微软雅黑;"><a style="font-family:'Century Gothic', 微软雅黑;" href="/misc/goto?guid=4959500977227573097" target="_blank">Augur Service Delivery Platform</a></li> <li style="font-family:'Century Gothic', 微软雅黑;"><a style="font-family:'Century Gothic', 微软雅黑;" href="/misc/goto?guid=4959500977317315036" target="_blank">Softswitch</a></li> <li style="font-family:'Century Gothic', 微软雅黑;"><a style="font-family:'Century Gothic', 微软雅黑;" href="/misc/goto?guid=4959500977391189600" target="_blank">Media Server</a></li> <li style="font-family:'Century Gothic', 微软雅黑;"><a style="font-family:'Century Gothic', 微软雅黑;" href="/misc/goto?guid=4959500977479199910" target="_blank">Home Subscriber Server</a></li> <li style="font-family:'Century Gothic', 微软雅黑;"><a style="font-family:'Century Gothic', 微软雅黑;" href="/misc/goto?guid=4959500977552650663" target="_blank">Diameter AAA Server</a></li> <li style="font-family:'Century Gothic', 微软雅黑;"><a style="font-family:'Century Gothic', 微软雅黑;" href="/misc/goto?guid=4959500977638297068" target="_blank">Radius Server</a></li> <li style="font-family:'Century Gothic', 微软雅黑;"><a style="font-family:'Century Gothic', 微软雅黑;" href="/misc/goto?guid=4959500977722298812" target="_blank">IMS Online Charging System</a></li> <li style="font-family:'Century Gothic', 微软雅黑;"><a style="font-family:'Century Gothic', 微软雅黑;" href="/misc/goto?guid=4959500977795864504" target="_blank">IMS Offline Charging System</a></li> <li style="font-family:'Century Gothic', 微软雅黑;"><a style="font-family:'Century Gothic', 微软雅黑;" href="/misc/goto?guid=4959500977882081520" target="_blank">Session Border Controller</a></li> <li style="font-family:'Century Gothic', 微软雅黑;"><a style="font-family:'Century Gothic', 微软雅黑;" href="/misc/goto?guid=4959500977952008656" target="_blank">Least Cost Router</a></li> </ul> </td> </tr> </tbody> </table> <p><strong>项目主页:</strong><a href="http://www.open-open.com/lib/view/home/1326808113702" target="_blank">http://www.open-open.com/lib/view/home/1326808113702</a></p>