首页
学习
活动
专区
圈层
工具
发布
综合排序最热优先最新优先
时间不限
架构实战】CQRS架构模式实战
一、CQRS概述CQRS(CommandQueryResponsibilitySegregation,命令查询职责分离)是一种架构模式:核心思想:命令(Command):修改数据的操作查询(Query) 读写负载不均衡读写数据结构差异大需要独立的读写优化二、CQRS核心概念1.基本模型展开代码语言:TXTAI代码解释┌─────────────────────────────────────────────────────────────┐│CQRS架构 -查询端使用投影构建视图模型CQRS+EventSourcing:-命令端存储事件-查询端订阅事件构建投影CQRS+微服务:-每个服务独立使用CQRS-通过事件总线同步数据八、总结CQRS是一种强大的架构模式 :命令端:专注业务逻辑,保证一致性查询端:专注读取性能,支持灵活查询数据同步:同步或异步,根据场景选择适用场景:读写负载不均、复杂业务、需要高并发最佳实践:优先考虑简单架构根据实际需求决定是否使用CQRS
紫风
2026-05-20
3300
标签:
架构实战】六边形架构与整洁架构实战
一、架构演进概述随着业务复杂度增加,软件架构也在不断演进:架构演进历程:分层架构→六边形架构→整洁架构→微服务架构核心目标:实现高内聚、低耦合架构质量评估:独立性:框架、数据库、UI的可替换性可测试性: 业务逻辑可独立测试可维护性:代码易于理解和修改二、六边形架构(HexagonalArchitecture)1.核心理念展开代码语言:TXTAI代码解释六边形架构,又称端口与适配器(PortsandAdapters 1.六边形vs整洁架构维度六边形架构整洁架构核心理念端口与适配器依赖规则层次划分端口/适配器/应用/领域实体/用例/接口适配器/框架适用场景轻量级应用复杂企业应用学习曲线较平缓较陡峭灵活性高非常高2.分层架构对比维度传统三层六边形整洁架构可测试性差好非常好可维护性一般好非常好耦合度高低最低复杂度低中高五 、实战选择1.何时使用六边形展开代码语言:TXTAI代码解释适合场景:-微服务内部设计-需要与多个外部系统交互-希望保持业务逻辑的纯粹性-团队对DDD有一定了解2.何时使用整洁架构展开代码语言:TXTAI :六边形架构:适合微服务、对接多外部系统整洁架构:适合复杂业务、需要高可测试性核心原则:业务逻辑与外部依赖解耦实施建议:从六边形架构开始随着业务复杂度增加演进到整洁架构重视领域模型的设计保持架构的持续演进个人观点
紫风
2026-05-20
3700
标签:
CQRS架构实战
1.CQRS架构图 2.什么是CQRS 这里只通过Udi Dahan的《Clarified CQRS》文章中的一张图片简要介绍一下: UI上有两种类型的操作:命令和查询,例如显示销量最好的5个产品就属于查询 CQRS架构的优点 CQ两端架构分离、相互不受束缚,各自独立设计、扩展 C端通常结合DDD,解决复杂的业务逻辑;Q端轻量级查询,多种不同的查询视图通过订阅事件来更新 C端通过分布式消息队列水平扩展, 天然支持削峰 EDA架构,整个系统各个部分松耦合,可扩展性好 架构层面做到无并发,实现Command的高吞吐 技术架构和业务代码完全分离,程序员不用关心技术问题 更方便的分工合作 CQRS架构的缺点
IT云清
2021-12-06
1.1K0
标签:
架构实战】BFF架构:Backend For Frontends
一、BFF概述BFF(BackendForFrontend,后端前置服务)是一种专为前端服务的后端架构模式:核心理念:为每种前端设备提供定制化的API服务聚合多个后端服务的数据处理接口协议的转换解决的问题 :移动端和PC端接口需求不同减少前端与多个后端服务的通信聚合来自多个微服务的数据保护前端免受后端变化的影响二、BFF架构设计1.架构图展开代码语言:TXTAI代码解释┌───────────────── ────────────────────────────────────────────────┐│BFF架构│├────────────────────────────────────────────
紫风
2026-05-21
3600
标签:
『互联网架构』软件架构-实战Hystrix实战(96)
(一)Hystrix 介绍 官网 https://github.com/Netflix/Hystrix 学习直接看 https://github.com/Netflix/Hystrix/wiki (二
IT架构圈
2019-07-05
6780
标签:
架构实战】全链路压测实战架构优化
:数据库连接池耗尽现象:大量请求超时排查:查看连接池监控解决:优化慢查询、增加连接池、读写分离案例2:FullGC频繁排查:jstat-gcutilpid100010解决:增大堆内存、优化对象创建六、架构优化实践 1.数据库优化连接池配置(HikariCP):最大连接数:50最小空闲连接:20连接超时:3秒SQL优化:添加适当索引避免全表扫描使用分页查询2.缓存优化多级缓存架构:L1:本地缓存(Caffeine)
紫风
2026-04-01
5360
标签:
架构实战】消息队列 Kafka 架构分析
orders├──Partition0(Leader:Broker-1)├──Partition1(Leader:Broker-2)└──Partition2(Leader:Broker-3)三、Kafka架构设计分区机制并行处理 replication-factor13.生产消息展开代码语言:BashAI代码解释bin/kafka-console-producer.sh--topicorders\--bootstrap-serverlocalhost:9092五、实战应用场景场景 理解其架构原理,对系统设计和性能优化至关重要。思考题:在你的项目中,哪些场景适合使用Kafka?有没有遇到过消息丢失或重复的问题?个人观点,仅供参考
紫风
2026-04-02
3250
标签:
架构实战】GitOps持续交付架构(ArgoCDFlux)
一、GitOps概述GitOps是以Git为单一事实来源的运维模式:核心原则:声明式配置Git为唯一真理自动同步可追溯二、ArgoCD架构1.架构图展开代码语言:TXTAI代码解释┌────────── https://kubernetes.default.svcnamespace:productionsyncPolicy:automated:prune:trueselfHeal:true三、Flux架构 1.架构展开代码语言:TXTAI代码解释GitRepository││reconcile▼┌──────────────┐│FluxCLI│└──────┬───────┘││watch▼┌────── /deploy/prodprune:truevalidation:client四、ArgoCDvsFlux对比特性ArgoCDFlux架构Controller+API多ControllerUI丰富简单社区活跃活跃
紫风
2026-05-19
3240
标签:
架构实战】缓存架构 Redis 集群部署
二、单机Redis的瓶颈单机Redis虽然性能优异,但存在以下问题:容量限制:受单机内存限制可用性风险:单点故障导致整个缓存层瘫痪性能瓶颈:无法水平扩展三、Redis集群架构1.Redis主从复制展开代码语言 选择合适的架构(主从/Sentinel/Cluster)需要根据业务规模和可用性要求来决定。思考题:在你的项目中,为什么选择了当前的Redis架构?有没有遇到过集群相关的问题?个人观点,仅供参考
紫风
2026-04-02
3210
标签:
微前端架构实战
微前端架构实战 如何实现多个应用之间的资源共享? 之前比较多的处理方式是npm包形式抽离和引用,比如多个应用项目之间,可能有某业务逻辑模块或者其他是可复用的,便抽离出来以npm包的形式进行管理和使用。 可以理解微前端是一种将多个可独立交付的小型前端应用聚合为一个整体的架构风格。 这种架构目前有多种方案,都有利弊之处,但只要适用当前业务场景的就是好方案。 微前端并没有技术栈的约束。每一套微前端方案的设计,都是基于实际需求出发。 使用微前端架构就可以解决问题,在保留原有项目的同时,可以完全使用新的框架开发新的需求,然后再使用微前端架构将旧的项目和新的项目进行整合。 独立部署与发布 在目前的单页应用架构中,使用组件构建用户界面,应用中的每个组件或功能开发完成或者bug修复完成后,每次都需要对整个产品重新进行构建和发布,任务耗时操作上也比较繁琐。
西岭老湿
2021-04-26
5K0
标签:
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档