分布式数据库
发布于
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远不可及

封装
发布于
lang pattern

封装原则倡导通过隐藏抽象的实现细节隐藏变化等,实现关注点分离和信息隐藏

容器进化史
发布于
docker

容器技术和虚拟机,都是 资源隔离的虚拟化技术

graph LR
    A[UNIX chroot] --> B(FreeBSD Jails)
    B --> C[Linux VServer,Solaris Containers]
    C --> D[OpenVZ]
    D --> E[Google cgroups]
    E --> F[LXC]
    F --> G[Docker]