常用资料索引
分布式系统架构
论文
日志:构建分布式系统基石。
- The Log: What every software engineer should know about real-time data's unifying abstraction
- CAP
- BASE
- Gossip
事务 & 锁
微服务架构
微服务
服务注册与发现
理论与模式:
- 服务注册发现与调度
- Client Side Discovery
- Server Side Discovery
- Self-Registration Pattern
- Third-Party Registration Pattern
- Service Discovery for NGINX Plus Using Consul APIs
- Service Discovery for NGINX Plus with etcd
- Service Discovery for NGINX Plus with ZooKeeper
- Service Discovery for NGINX Plus Using DNS SRV Records from Consul
工具及解决方案:
服务调用
服务调用框架,内含熔断降级逻辑。Hystrix已是成熟的方案,Vert.x中也有一套简单实现。
消息系统
消息协议
- MsgPack
- ProtoBuffer
- FlatBuffer
- kryo
- avro
- json-dsl-platform
- BSON
- XMPP(用于会话聊天)
- MTProto(用于会话聊天)
Kafka
- Kafka剖析(一):Kafka背景及架构介绍
- Kafka设计解析(二):Kafka High Availability (上)
- Kafka设计解析(三):Kafka High Availability (下)
- Kafka设计解析(四):Kafka Consumer解析
- Kafka设计解析(五):Kafka Benchmark
Kafka 作者描述其出现背景,解决的核心问题以及核心理念。
- The Log: What every software engineer should know about real-time data's unifying abstraction
- The Log:每个程序员都应该知道有关实时数据的统一抽象(1)概念
- The Log:每个程序员都应该知道有关实时数据的统一抽象(2) 数据集成
- The Log:每个程序员都应该知道有关实时数据的统一抽象(3)日志与实时流处理
- The Log:每个程序员都应该知道有关实时数据的统一抽象(4)系统构建
RabbitMQ
压测工具
ab简单常用,Siege可以随机从一些URLs随机选择进行测试,可能会更偏向实际系统吞吐。
程序 & 范式
Reactive Programming
- Reactive Streams
- Reactive Manifesto
- RxJava
- Observer Pattern
- Iterator Pattern
- Reactive Extensions
- Functional Reactive Programming
Coding
《代码整洁之道》,《重构》
存储
Cassandra
Cassandra数据模型设计
中译:
Redis
《Redis开发与运维》案头著作