currently reading articles under note-book

《大型网站技术架构》读书笔记

泛而不深。

概述

大型网站

挑战

高可用

高性能:高并发、异构运营商网络

高可扩展:需求变更频繁,渐进式发展

高安全性

海量数据

发展历程

单机

应用与DB分离

+缓存集群

应用层:单机->分布式

DB读写分离

CDN、反向代理从前端基于缓存提速

DB、文件系统:单机->分布式

检索:NoSQL、搜索引擎

纵向拆分:业务拆分

横向拆分:分布式服务

架构模式(一些常见概念)

分层(横向)

分割(纵向)

分布式:提升性能或可用性,但引入更高的复杂度:CAP问题

分布式静态资源:CDN……

分布式服务

分布式存储:NoSQL……

分布式计算

集群:可伸......

《Java并发编程实战》读书笔记

Java Concurrency in Practice的中文版,虽然翻译过来的书名很土,但内容还是很不错的,豆瓣9+。

取消与关闭

取消策略,实质是一种线程间单工通信的策略,除了要定义发送取消请求的协议(how,例如调用自定义的函数或thread.interrupt()),还需要定义被取消线程如何处理取消请求,包括处理的时刻(when,例如何时检测中断状态改变),以及处理的方式(what,例如推迟处理、释放资源、暂停或重启服务)。具体地,基于Java的线程中断机制定义的取消策略,可以称为中断策略。

Java的线程中断策略

中断实际上并未在规范中与取消关联起......

《大数据挑战与NoSQL数据库技术》读书笔记

概论

大数据DBMS分类

并行数据库

水平划分+SQL查询分区执行

缺:低伸缩、低容错(事务级别的容错,导致整个任务重新执行)

NoSQL ( Not only SQL, NoREL)

简单数据模型

元数据与应用数据分离:一致性需求不同

弱一致性:最终一致性、时间轴一致性

优:低复杂性、高吞吐、高伸缩、避免ORM

缺:缺乏数学基础、不支持ACID、功能简单导致应用层工作量较大、无统一的查询模型

NewSQL

优化RDBMS实现大数据时的高性能,RDBMS的性能问题包括:

通信:ODBC/JDBC开销大

日志:磁盘IO

锁:表锁

闩(短期锁):一些数据结构的共享

缓冲区:......