架构设计流程详解
李运华
资深技术专家
立即订阅
0 人已学习
课程目录
已完结 5 讲
01 | 架构设计流程(一):识别复杂度
02 | 架构设计流程(二):设计备选方案
03 | 架构设计流程(三):评估和选择备选方案
04 | 架构设计流程(四):详细方案设计
05 | 架构设计终极秘籍:架构设计文档模板
架构设计流程详解
登录|注册

02 | 架构设计流程(二):设计备选方案

李运华 2019-09-06
上一期我讲了架构设计流程第 1 步识别复杂度,确定了系统面临的主要复杂度问题后,方案设计就有了明确的目标,我们就可以开始真正进行架构方案设计了。今天我来讲讲架构设计流程第 2 步:设计备选方案,同样还会结合上期“前浪微博”的场景,谈谈消息队列设计备选方案的实战。

架构设计第 2 步:设计备选方案

架构师的工作并不神秘,成熟的架构师需要对已经存在的技术非常熟悉,对已经经过验证的架构模式烂熟于心,然后根据自己对业务的理解,挑选合适的架构模式进行组合,再对组合后的方案进行修改和调整。
虽然软件技术经过几十年的发展,新技术层出不穷,但是经过时间考验,已经被各种场景验证过的成熟技术其实更多。例如,高可用的主备方案、集群方案,高性能的负载均衡、多路复用,可扩展的分层、插件化等技术,绝大部分时候我们有了明确的目标后,按图索骥就能够找到可选的解决方案。
只有当这种方式完全无法满足需求的时候,才会考虑进行方案的创新,而事实上方案的创新绝大部分情况下也都是基于已有的成熟技术。
NoSQL:Key-Value 的存储和数据库的索引其实是类似的,Memcache 只是把数据库的索引独立出来做成了一个缓存系统。
Hadoop 大文件存储方案,基础其实是集群方案 + 数据复制方案。
Docker 虚拟化,基础是 LXC(Linux Containers)。
LevelDB 的文件存储结构是 Skip List。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《架构设计流程详解》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(4)

  • 逆光倾城
    根据不同方案要有明显差异的原则,方案四应该不能再选取消息队列类的吧?是否可以考虑使用redis。1、用户消息可以使用高速的redis内存数据结构,2、redis的发布订阅机制,可以用于消息的传递,3、redis支持持久化,也可以使用定时任务同步redis与数据库。
    2019-09-11
    1
    6
  • 科春
    主备方案不是集群方案中的一种么?
    2019-09-11
    2
    1
  • Geek_steven_wang
    1、比较下ActiveMQ、RabbitMQ、RockerMQ
    2、用redis做为查询缓存,提高性能,用mysql做为存储保障可用性
    2019-11-30
  • 乐天
    方案一选用的开源的Kafka,同样作为开源消息队列中间件,为什么没比较下ActiveMQ、RabbitMQ、RockerMQ呢?是作为方案四,还是在方案一中已经删选过了呢?
    2019-09-11
    1
收起评论
4
返回
顶部