消息队列高手课
异步与同步模型最大的区别是:
- 同步模型会阻塞线程等待资源
- 异步模型不会阻塞线程,它是等资源准备好后,再通知业务代码来完成后续的资源处理逻辑。这种异步设计的方法,可以很好地解决 IO 等待的问题。
IO 密集型系统 vs 计算密集型系统:
- IO 密集型系统大部分时间都在执行 IO 操作,这个 IO 操作主要包括网络 IO 和磁盘 IO,以及与计算机连接的一些外围设备的访问。
- 计算密集型系统,大部分时间都是在使用 CPU 执行计算操作。
我们开发的绝大多数业务系统,都是 IO 密集型系统。
Netty vs NIO:
- Netty 自动地解决了线程控制、缓存管理、连接管理这些问题,用户只需要实现对应的 Handler 来处理收到的数据即可。
- NIO 是更加底层的 API,它提供了 Selector 机制,用单个线程同时管理多个连接,解决了多路复用这个异步网络通信的核心问题。
后端技术面试 38 讲
程序员的好坏
- 一方面体现在编程能力上
- 另一方面,体现在程序设计方面
在软件设计开发这个领域,好的设计和坏的设计最大的差别就体现在应对需求变更的能力上。而好的程序员和差的程序员的一个重要区别,就是对待需求变更的态度:
- 差的程序员害怕需求变更,因为每次针对需求变更而开发的代码都会导致无尽的 bug;
- 好的程序员则欢迎需求变更,因为他们一开始就针对需求变更进行了软件设计,如果没有需求变更,他们优秀的设计就没有了用武之地,产生一拳落空的感觉。这两种不同态度的背后,是设计能力的差异。
应对需求变更最好的办法就是一开始的设计就是针对需求变更的,并在开发过程中根据真实的需求变更不断重构代码,保持代码对需求变更的灵活性。
高并发架构实战课
高并发系统架构的方法
分布式应用
分布式缓存
分布式消息队列
分布式消息队列是解决突发的高并发写操作问题和实现更简单的集群伸缩的一种常用技术方案。消息队列架构主要包含三个角色:消息生产者、消息队列、消息消费者。
分布式关系数据库
关系数据库本身并不支持伸缩性,但是关系数据库又是存储数据最传统的手段。为了解决关系数据库存储海量数据以及提供高并发读写的问题,人们提出了将数据进行分片,再将不同分片写入到不同数据库服务器的方法。
分布式微服务
微服务的核心思想是将单体架构中庞大的业务逻辑拆分成一些更小、更低耦合的服务,然后通过服务间的调用完成业务的处理。
其他
- 大数据
- 分布式文件
- 区块链
- 搜索引擎
- NoSQL
- CDN
- 反向代理
- ……
系统并发指标
- 目标用户数
- 系统用户数
- 活跃用户数
- 在线用户数
- 并发用户数
并发用户数是架构设计时主要关注的指标。
我们为什么睡觉
深度睡眠强度的上升和下降有助于引导这段走向成熟的旅程安全度过青春期的不稳定高峰,随后进入成年期。
深度睡眠才是大脑成熟的驱动力。
额叶前端是理性思考和关键决策发生的位置,这是接受睡眠成熟改造的最后一个大脑区域,这也是为什么理性在青少年中最后才会出现。
许多主要的精神障碍,如精神分裂、抑郁狂躁型忧郁症、重度抑郁症和多动症,如今被认为是发育异常的疾病,因为它们通常出现在儿童时期和青春期。
在那些很容易患上精神分裂症的年轻人,以及青少年和青年精神分裂症患者中,深度非快速眼动睡眠只有正常人的 1/3 至 1/2。
在青春期,视交叉上核的时间设置会逐步向后移动:这种变化无关文化和地理差异,在所有青少年中都很常见。
想到自己从初中开始要后半夜才能睡着,这样看来青春期习惯晚睡晚起是有科学依据的。
为什么青春期的大脑首先要调晚昼夜节律,熬夜、晚起,最终又在成年后恢复到稍早些的睡眠——清醒节奏?
青春期发育的核心目标,是从依赖父母向自我独立的转变,始终在学习如何处理与同龄群体的关系和交流复杂性。或许,大自然帮助青少年脱离父母的一种方式,就是把自己的昼夜节律向后推,超过他们的成年父母。这种巧妙的生物学解决方案有选择性地将青少年的时间向后推移几个小时,使他们可以独立地进行活动——也可以与同龄伙伴集体活动。这并不是永久地脱离父母的照顾,而是一种安全的尝试,即把即将成年的人从父母的眼皮底下短暂地分开。当然这也有风险,但这种转变是非常必要的。学会独立的青少年展开翅膀,从父母的巢中第一次单独飞出去的时候,其实并不是白天,而是夜间,这要归功于向后移动的昼夜节律。
“不要让一个孩子需要咖啡因”
现在学校的初高中的学生已经在喝咖啡了。
老年人只需要较少的睡眠,这就是一个谣传。老年人需要和中年人一样多的睡眠,只不过不能产生那么多所需的睡眠。
深度非快速眼动睡眠的下降在二十几岁末尾和三十岁出头就会出现。
这也许是我们常说的人一过 30 岁各种身体问题就出现了的原因?
很多年龄相关的身心健康疾病都与睡眠障碍有关。
老年人由于膀胱衰弱夜间会更更频繁地去卫生间,导致睡眠碎片化。
进而导致睡眠效率降低。
任何个体,无论年龄多大,如果睡眠被长期打乱,都会表现出身体疾病、心理健康不稳定、警觉性降低,以及记忆力受损等症状。
年纪较大的人在夜间去洗手间时,绊倒、跌倒和骨折的风险会更高。摔伤和骨折都会显著提高患病率,并可能加速老年人的死亡。
老年人睡眠安全小贴士:
- 有方便开关的床头照明灯
- 在卫生间和走廊上使用较昏暗或运动感应的夜灯照亮路径
- 清除通往卫生间路上的障碍物和地毯,以防绊倒
- 在床边准备一部可以快速拨通紧急号码的电话