《PHP精粹:编写高效PHP代码》——3.2节面向服务的架构

简介:

本节书摘来自华章社区《PHP精粹:编写高效PHP代码》一书中的第3章,第3.2节面向服务的架构,作者:(美)  Davey Shafik,更多章节内容可以访问云栖社区“华章社区”公众号查看

3.2 面向服务的架构
SOA(Service-Oriented Architecture,面向服务的架构)是在各种PHP应用程序中日益得到普及的方法。它是基于一个服务层的系统,提供系统需要的所有功能,但这个服务提供的是应用层,并未链接到表现层。这样,多种系统就可以使用这个相同模块化、可重复使用的功能了。
例如,你可以写一个服务层,接着website和几个移动设备应用程序都来使用服务层,同时我们允许第三方对它集成。
这个系统架构可能最终看起来如图3.1所示。


117da946a637f12caa42637c8bc307e6d5645462

SOA方法允许我们使用、测试,以及强化(harden)应用服务层的代码,并且轻松地在其他地方使用它。当代码被强化,即表明代码已经使用了一段时间,因此我们对它的性能和稳定性拥有足够的信心。既然有了整齐、模块化的健壮性服务层,我们便可将代码用于应用程序的基础,而且人们日益视之为最优方法。
你到底如何构造系统有待探讨,还有SOA方法的大量完美实现,同样值得探讨。通常,MVC方法应用于服务层,我们也看到本章的一些示例中使用了这种方式。顶层的项目将使用不同构建方式,这样工作使我们可以轻易在不同的平台上构建各种不同的独立元素。
也许SOA方法的最大优势在于它是模块化的方法,它非常适合我们正在构建的庞大而复杂的系统。以这种方式构建的系统易于缩放,你可以在系统的不同部分根据系统的负荷以不同的比率缩放它们。当我们发展应用平台到云操作系统时,SOA理所当然在今后的应用中帮助我们。
现在我们继续向前看看使用Web服务的一些技术细节。

相关文章
|
1月前
|
运维 网络协议 安全
长连接网关技术专题(十):百度基于Go的千万级统一长连接服务架构实践
本文将介绍百度基于golang实现的统一长连接服务,从统一长连接功能实现和性能优化等角度,描述了其在设计、开发和维护过程中面临的问题和挑战,并重点介绍了解决相关问题和挑战的方案和实践经验。
74 1
|
1月前
|
网络协议 Linux
Linux DNS服务详解——DNS主从架构配置
Linux DNS服务详解——DNS主从架构配置
407 4
|
2月前
|
监控 负载均衡 Dubbo
|
2月前
|
存储 数据可视化 数据管理
基于阿里云服务的数据平台架构实践
本文主要介绍基于阿里云大数据组件服务,对企业进行大数据平台建设的架构实践。
701 0
|
2月前
|
缓存 安全 API
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
公司对外开放的OpenAPI-Server服务,作为核心内部系统与外部系统之间的重要通讯枢纽,每天处理数百万次的API调用、亿级别的消息推送以及TB/PB级别的数据同步。经过多年流量的持续增长,该服务体系依然稳固可靠,展现出强大的负载能力。
55 9
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
|
1月前
|
监控 持续交付 开发者
深入探讨后端服务的微服务架构设计与实践
【2月更文挑战第10天】随着互联网应用的不断发展,微服务架构作为一种灵活、高效的解决方案在后端服务开发中备受关注。本文将深入探讨微服务架构设计与实践,从服务拆分、通信机制到部署管理等方面进行详细剖析,旨在帮助开发者更好地理解和运用微服务架构。
25 2
|
2月前
|
机器学习/深度学习 测试技术 Ruby
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
125 2
|
25天前
|
程序员 Python
类的设计奥秘:从代码到架构的科普全解
类的设计奥秘:从代码到架构的科普全解
12 2
|
25天前
|
运维 Linux Apache
LAMP架构调优(十)——Apache禁止指定目录PHP解析与错误页面优化
LAMP架构调优(十)——Apache禁止指定目录PHP解析与错误页面优化
197 2
|
30天前
|
PHP 开发者 UED
PHP 中的异常处理:提高代码健壮性的关键
【2月更文挑战第28天】在 PHP 开发中,异常处理是确保应用程序稳定性和可靠性的重要环节。本文将深入探讨 PHP 异常的概念、类型及其处理机制,并通过实例演示如何有效地捕获和处理异常,以增强代码的健壮性和用户体验。