随笔分类 -  系统设计

摘要:以数据库为中心的架构:数据库在最核心,然后基于数据库扩张,由里往外分别是:数据接入层、业务逻辑层、用户界面。 以领域为中心的架构:业务领域在最核心,外围分别是应用、展现层。 而数据库则以持久化的概念代替,持久层可以是传统数据库,也可以NoSQL、甚至是内存、消息队列、文本文件等。另外还有一个基础设施 阅读全文
posted @ 2020-04-08 11:09 漠孤烟 阅读(500) 评论(0) 推荐(0) 编辑
摘要:从战略到战术,领域驱动设计(Domain Driven Design,DDD)给出了诸多关于软件架构、设计、建模与编码的方法和模式,以用于应对业务复杂度。然而,许多开发人员对于 DDD 的价值仍然心存疑惑,相反,对于它的难以理解、难以学习倒是确信不疑,甚至有人惊呼 DDD 是「反人类地难懂」。这真是 阅读全文
posted @ 2020-01-15 20:20 漠孤烟 阅读(383) 评论(0) 推荐(0) 编辑
摘要:BIO (Blocking I/O):同步阻塞I/O模式。 NIO (New I/O):同步非阻塞模式。 AIO (Asynchronous I/O):异步非阻塞I/O模型。 先看阻塞和非阻塞的区别,以烧水为例: 阻塞VS非阻塞:人是否坐在水壶前面一直等。 同步VS异步:水壶是不是在水烧开之后主动通 阅读全文
posted @ 2020-01-15 11:12 漠孤烟 阅读(214) 评论(0) 推荐(0) 编辑
摘要:前言 设计一个缓存系统,不得不要考虑的问题就是:缓存穿透、缓存击穿与失效时的雪崩效应。 缓存穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时被动写的,并且出于容错考虑,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。 在流量大时 阅读全文
posted @ 2020-01-07 12:44 漠孤烟 阅读(311) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示