-->

架构资讯

您的当前位置:首页 > 资讯 > 架构思想

php几种常见架构二

2020-12-09 09:22:13  来源:admin 点击:872

5模型-视图-控制器架构(MVC)
图片
 1 上下文 用户界面通常是一个交互性应用程序的最频繁被修改的部分。用户通常希望从不同的视角查看数据,例如柱状图或者饼图。这些表示形式都应该反映数据当前的状态。 2 问题 用户界面功能如何独立于应用程序功能,同时还还对用户输入或底层应用程序数据的更改做出响应?当底层应用程序数据更改时,如何创建、维护和协调用户界面的多个视图? 3 方案 模型 - 视图 - 控制器(model-view-controller,即 MVC)模式将应用程序功能分为以下三种类型的组件:

·      模型,包含应用程序的数据。

·      视图,显示部分底层数据并与用户交互。

·      控制器,在模型和视图之间进行中介并管理状态更改的通知。

 4 弱点 对于简单的用户界面,其复杂性并不值得这么做。模型、视图和控制器抽象可能不适用于某些用户界面工具包。 5 用途 MVC 是网站或移动应用程序开发用户界面常用的一种架构模式。
6事件驱动架构 1 上下文 需要提供计算和信息资源来处理传入的应用程序生成的独立异步事件,这种方式可以随着需求的增加而扩展。 2 问题 构建分布式系统,这个系统可以服务异步到达的事件相关信息,并且能从简单小型扩展到复杂大型。 3 方案 
图片
为事件处理部署独立的事件进程或处理器。到达的事件进入队列。调度程序根据调度策略从队列中拉取事件并将它们分配到合适的事件处理器。 4 弱点 性能和错误恢复可能是问题。 5 用途 使用这个方案的电商应用程序将工作如下:Order Service 创建一个 Order,这个订单处于待定状态,然后发布一个OrderCreated事件。

·      Customer Service 接收到这个事件并尝试为这个 Order 扣除信用。然后发布一个 Credit Reserved 事件或者CreditLimitExceeded(超出信用限额)事件。

·      Order Service 接收到 Customer Service 发送的事件并将订单状态更改为已核准或已取消。

7微服务架构 1 上下文 部署基于服务器的企业应用程序,支持各种浏览器和原生移动客户端。应用程序通过执行业务逻辑、访问数据库、与其它系统交换信息并返回响应来处理客户端请求。这个应用程序可能会暴露一个第三方 API。 2 问题 一体化应用程序会变得过于庞大和复杂,无法得到有效支持和部署来实现最优的分布式资源利用,例如在云环境中。 3 方案 
图片
将应用程序构建成服务套件。每个服务都是独立部署和可扩展的,拥有自己的 API 边界。不同的服务可以用不同的编程语言编写,管理它们自己的数据库,由不同的团队开发。 4 弱点 系统设计必须能容忍服务失败,需要更多的系统监控。服务编排和事件协作开销比较大。当然,我们还需要更多钱。 5 用途 
许多使用场景都可以应用微服务架构,特别是那些涉及大量数据管道的场景。例如,一个微服务系统对关于一个公司的零售店销售的报表系统会比较理想。数据展现过程的每一步都会被一个微服务处理:数据收集、清理、规范化、浓缩、聚合、报告等。


相关文章更多 >

© 2024版权所有 水水网

电话:171780793