优秀的互联网架构模式,都在这里了
结构简单,容易理解和开发 不同技能的程序员可以分工,负责不同的层,天然适合大多数软件公司的组织架构 每一层都可以独立测试,其他层的接口通过模拟解决 缺点 一旦环境变化,需要代码调整或增加功能时,通常比较麻烦和费时 部署比较麻烦,即使只修改一个小地方,往往需要整个软件重新部署,不容易做持续发布 软件升级时,可能需要整个服务暂停 扩展性差。用户请求大量增加时,必须依次扩展每一层,由于每一层内部是耦合的,扩展会很困难 事件驱动架构 事件(event)是状态发生变化时,软件发出的通知。 事件驱动架构(event-driven architecture)就是通过事件进行通信的软件架构。它分成四个部分。 事件队列(event queue):接收事件的入口 分发器(event mediator):将不同的事件分发到不同的业务逻辑单元 事件通道(event channel):分发器与处理器之间的联系渠道 事件处理器(event processor):实现业务逻辑,处理完成后会发出事件,触发下一步操作 对于简单的项目,事件队列、分发器和事件通道,可以合为一体,整个软件就分成事件代理和事件处理器两部分。 (编辑:ASP站长网) |