架构模式 节选自《闻缺陷则喜》(此书可免费下载)

简介: 架构模式 节选自《闻缺陷则喜》(此书可免费下载)

架构模式很多,仅举三例。


分层架构

经典三层架构最优场景,数据库管理软件(增删查改),大部分企业软件都是这类。经典三层架构自顶向下由用户界面层、业务逻辑层与数据访问层组成。《领域驱动设计》中的分层架构:用户界面层、应用层(给调用者提供完整的业务用例)、领域层、基础设施层。


分层依据:一,顶层更面向业务和用户,底层更面向通用和硬件。二,面对变化。三,同层处于同一抽象层次。


注意:如果某一层大部分函数只是简单调用低层的函数,则此层应该取消。


事件总线架构

三个参与者:事件总线、发布者、订阅者,发布者只能发消息给事件总线,事件总线只能发消息给订阅者。消息也称为事件。此架构非常适合于分布式系统,异构系统也没有影响。一个模块可以同时是发布者和订阅者。


时间总线模块和消息队列模块的区别:前者收集、转发消息,不需要知道有多少个订阅者;后者直接处理消息或转给子模块。消息队列相对消息优点:异步、削峰。消息相对于直接函数调用的优点:解耦。


黑板模式

黑板模式由3个主要组成部分组成:黑板:包含来自解决方案空间的对象的结构化全局内存。知识源:专门的模块和它们自己的表示。控制组件:选择、配置和执行模块。使用场景:语音识别、车辆识别和跟踪、蛋白质结构识别、声纳信号的解释等。这类问题具有如下特点:可以分解成多个子问题,但每个子问题都属于不同的专业领域。要解决子问题,需要使用不同的表示法和范式,往往没有既定策略。


相关文章
|
NoSQL 前端开发 数据库
架构内容 节选自《闻缺陷则喜》(此书可免费下载)
架构内容 节选自《闻缺陷则喜》(此书可免费下载)
|
架构师 人工智能 中间件
如何自底向上推导应用逻辑架构?+如何自顶向下构建架构?(节选)
如何自底向上推导应用逻辑架构? 一、什么是架构? 大概是在11年前左右,在土豆网做广告平台,同时也做视频CDN的相关事情,当时做一个服务,基础架构是lighttpd + squid + tomcat,将静态资源分离到httpd,get请求使用squid缓存,智能路由使用HTTP post请求,并让tomcat提供服务,当时就觉得这就是架构。
11334 0
|
3天前
|
弹性计算 Kubernetes Cloud Native
云原生架构下的微服务设计原则与实践####
本文深入探讨了在云原生环境中,微服务架构的设计原则、关键技术及实践案例。通过剖析传统单体架构面临的挑战,引出微服务作为解决方案的优势,并详细阐述了微服务设计的几大核心原则:单一职责、独立部署、弹性伸缩和服务自治。文章还介绍了容器化技术、Kubernetes等云原生工具如何助力微服务的高效实施,并通过一个实际项目案例,展示了从服务拆分到持续集成/持续部署(CI/CD)流程的完整实现路径,为读者提供了宝贵的实践经验和启发。 ####
|
26天前
|
缓存 监控 API
探索微服务架构中的API网关模式
【10月更文挑战第5天】随着微服务架构的兴起,企业纷纷采用这一模式构建复杂应用。在这种架构下,应用被拆分成若干小型、独立的服务,每个服务围绕特定业务功能构建并通过HTTP协议协作。随着服务数量增加,统一管理这些服务间的交互变得至关重要。API网关作为微服务架构的关键组件,承担起路由请求、聚合数据、处理认证与授权等功能。本文通过一个在线零售平台的具体案例,探讨API网关的优势及其实现细节,展示其在简化客户端集成、提升安全性和性能方面的关键作用。
70 2
|
30天前
|
存储 缓存 监控
探索微服务架构中的API网关模式
【10月更文挑战第1天】探索微服务架构中的API网关模式
80 2
|
2天前
|
缓存 监控 API
探索微服务架构中的API网关模式
随着微服务架构的兴起,API网关成为管理和服务间交互的关键组件。本文通过在线零售公司的案例,探讨了API网关在路由管理、认证授权、限流缓存、日志监控和协议转换等方面的优势,并详细介绍了使用Kong实现API网关的具体步骤。
11 3
|
3天前
|
运维 NoSQL Java
后端架构演进:微服务架构的优缺点与实战案例分析
【10月更文挑战第28天】本文探讨了微服务架构与单体架构的优缺点,并通过实战案例分析了微服务架构在实际应用中的表现。微服务架构具有高内聚、低耦合、独立部署等优势,但也面临分布式系统的复杂性和较高的运维成本。通过某电商平台的实际案例,展示了微服务架构在提升系统性能和团队协作效率方面的显著效果,同时也指出了其带来的挑战。
25 4
|
2天前
|
存储 缓存 监控
探索微服务架构中的API网关模式
探索微服务架构中的API网关模式
13 2
|
2天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
18 1
|
9天前
|
监控 Cloud Native Java
云原生架构下微服务治理策略与实践####
【10月更文挑战第20天】 本文深入探讨了云原生环境下微服务架构的治理策略,通过分析当前技术趋势与挑战,提出了一系列高效、可扩展的微服务治理最佳实践方案。不同于传统摘要概述内容要点,本部分直接聚焦于治理核心——如何在动态多变的分布式系统中实现服务的自动发现、配置管理、流量控制及故障恢复,旨在为开发者提供一套系统性的方法论,助力企业在云端构建更加健壮、灵活的应用程序。 ####
54 10

热门文章

最新文章