web常用服务架构
架构风格就是一种项目的设计模式。常见的架构风格有基于客户端与服务端的、基于组件模型的(EJB)、分层架构(MVC)、面向服务架构(SOA)等。
一、单体架构
单体架构也称为单体系统或单体应用,就是一种把系统中所有功能、模块耦合在一个应用中的架构方式。
单体架构特点:
打包成一个独立单元,以一个进程的方式运行。
单体架构优点:
项目易于管理,部署简单
单体架构缺点:
测试成本高、可伸缩性差、可靠性差、迭代困难、跨语言程度差、团队协作困难
二、RPC架构
RPC(Remote Procedure Call):远程过程调用,一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术协议。
代表技术:
Thrift、Hessian等等。
三、SOA架构
SOA(Service Oriented Architecture):面向服务架构
ESB(Enterprise Service Bus):企业服务总线,服务中介。主要是提供了一个服务于服务之间的交互。
ESB包含的功能:
负载均衡、流量控制、加密处理、服务的监控、异常处理、监控告急等等。
代表技术:
Mule、WSO2
四、微服务架构
微服务就是一个轻量级的服务治理方案。一个大型的复杂软件应用,由一个或多个微服务组成,系统中的各个服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注完成一件任务并很好的完成任务。
代表技术:
SpringCloud、dubbo、dubbox
微服务特点:
系统是由多个服务构成、每个服务可以单独独立部署、每个服务之间是松耦合的,服务内部是高内聚的,外部是低耦合的,高内聚就是每个服务只关注完成一个功能。
微服务优点:
测试容易、可伸缩性强、可靠性强、跨语言程度更加灵活、团队协作容易、系统迭代容易。
微服务缺点:
运维成本高,部署数量较多、接口兼容多版本、分布式系统的复杂性、分布式事物。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2018-06-05 面试如何回答优化数据库
2018-06-05 Windows定时任务没有执行
2018-06-05 程序员面试非技术性问题汇总