《深入理解计算机系统》
发布于
book

万丈高楼平地起,计算机系统就像程序员金字塔的地基。理解了计算机系统的构造原理,在写程序的道路上才能越走越远

道理很早就懂,一直没下定决心好好钻研,或许觉得日常工作中根本用不到这些,又或许是每次拿起书看到那些复杂的底层架构,看到存储器,寄存器,CPU,总线等等这些概念就头大

分布式数据库
发布于
db

业务场景变化带来业务量激增导致高性能需求

小额支付的流行:

以前超市十几块钱东西刷卡,收银员白眼

现在大街小巷的商户摊贩都支持扫码支付,没人跟你叽歪

隔离级别
发布于
db

Transaction

Jim Gray进入数据库领域时,RDBMS基本理论已成熟,但各大厂遇到一系列技术问题

  • 数据库规模
  • 数据库结构复杂
  • 更多用户共享数据库情况下,如何保障 Integrity、Security、Concurrency,Recovery
cap
发布于
concurrent

分布式系统的事务一致性是一个技术难题

OLTP系统领域,很多业务场景都会面临事务一致性方面的需求,最经典转账的案例

传统企业开发,系统往往是以单体应用形式存在,没有横跨多个数据库

通常只需借助开发平台中特有数据访问技术和框架(Spring、JDBC、ADO.NET),结合rdbms自带事务管理机制来实现事务性的需求(ACID)

互联网平台往往由一系列分布式系统构成,开发语言平台和技术栈也相对比较杂,尤其微服务架构盛行,看起来简单的功能,内部可能需要调用多个“服务”并操作多个数据库或分片来实现,情况复杂很多

单一技术手段和解决方案,无法应对和满足这些复杂的场景

java nio
发布于
java nio io

网上资料很多以IO五种模型为基础讲解NIO

  • 五种模型又涉及很多概念:同步/异步/阻塞/非阻塞/多路复用而不同的人又有不同的理解方式

  • select/epoll/poll/pselectfd这些关键字,没有相关基础的人看起来简直是天书

导致初学时认为nio远不可及