首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >常见的架构设计思想或抓手(设计手段)

常见的架构设计思想或抓手(设计手段)

作者头像
孟君
发布2025-11-17 20:00:45
发布2025-11-17 20:00:45
750
举报
列举一些常见的架构设计思想或抓手(设计手段),包括性能优化、可用性、扩展性、可维护性等多个维度的典型手段,便于参考和系统思考:

01、性能优化相关

  1. 缓存机制:本地缓存、分布式缓存(如 Redis)、CDN 缓存
  2. 冷热数据分离:将频繁访问数据和冷数据分开处理
  3. 读写分离:主从数据库、读库写库分离
  4. 分库分表:解决单表数据量大和访问压力
  5. 连接池技术:数据库、HTTP 等连接复用
  6. 延迟加载:懒加载策略,减少初始负载
  7. 异步处理:提升响应性能(线程池、任务队列)
  8. 批量处理:减少频繁 I/O(如批量写入数据库)
  9. 预计算(预聚合):如大屏展示的指标提前计算
  10. 前端静态化/服务端渲染(SSR):减少服务端动态压力
  11. 索引优化:数据库索引、全文索引
  12. 数据压缩:降低传输/存储成本
  13. 短路保护/热点隔离:防止缓存穿透、雪崩
  14. 本地热点缓存:如 Caffeine 限定热数据内存缓存

02、解耦与高内聚

  1. 消息队列(MQ):如 Kafka、RabbitMQ、RocketMQ
  2. 事件驱动架构(EDA):事件通知替代直接调用
  3. 发布/订阅模式:如 MQ 的 topic 模型
  4. 中间件隔离层:如 API 网关、服务代理
  5. 服务注册与发现:如 Nacos、Eureka
  6. 配置中心:统一配置管理(Apollo、Spring Cloud Config)
  7. 接口契约设计(OpenAPI):服务边界清晰

03、高可用与容灾

  1. 服务熔断:如 Hystrix、Sentinel
  2. 限流机制:漏桶、令牌桶
  3. 降级处理:预案结果兜底返回
  4. 幂等设计:避免重复处理(如幂等 token)
  5. 重试机制:幂等 + 网络容错
  6. 服务副本冗余:主备节点、服务多副本
  7. 自动故障转移:如数据库高可用方案(MGR、DRDS)
  8. 灰度发布 / 蓝绿部署:降低上线风险
  9. 监控告警系统:如 Prometheus + Grafana

04、扩展性与弹性伸缩

  1. 微服务架构:服务独立、解耦部署
  2. Serverless / FaaS:按需弹性运行
  3. 分层架构设计:如表现层、服务层、数据层
  4. 水平扩展(Scale-out):支持节点横向扩展
  5. 数据库分片:业务维度分区、哈希分区
  6. 动态配置热更新:无需重启服务
  7. 多活部署:多地域数据同步、请求就近路由

05、扩安全与合规

  1. 接口签名/加密:防止篡改和伪造
  2. 认证授权:JWT、OAuth2.0、RBAC 等
  3. 防重放攻击机制:时间戳 + nonce
  4. 权限隔离机制:多租户、分角色访问
  5. 数据脱敏与加密:用户数据合规处理

06、可维护性与可观测性

  1. 日志采集系统:ELK、Fluentd
  2. 链路追踪系统:SkyWalking、Jaeger、Zipkin
  3. 埋点系统:前端埋点/行为追踪
  4. 自动化运维平台:CI/CD、容器编排(如 K8s)
  5. 领域驱动设计(DDD):代码结构贴合业务模型
  6. 模块化设计:功能模块清晰、复用性强
  7. 代码生成平台:提升标准化与开发效率

07、数据架构/存储设计

  1. 数据湖与数据仓库:离线 + 实时数仓架构
  2. OLAP/OLTP 分离:如 ClickHouse + MySQL
  3. 多模型数据库选型:NoSQL、GraphDB、TSDB
  4. 日志与指标分离处理:采集链路解耦
  5. 延迟队列处理:定时任务或未来事件调度
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-10-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 孟君的编程札记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档