目录
JavaCore
多线程
对象的内存布局与Synchronized原理
线程的内存模型
Volatile底层实现原理
Netty
Cas & Atomic & LongAdder
Aqs
ReentrantLock
读写锁
【高并发】Java并发性能优化-双缓冲机制,缓冲分片机制 + 分段加锁机制
ConcurrentHashMap
【嗅探底层】你知道Synchronized作用是同步加锁,可你知道它在JVM中是如何实现的吗?
强软弱虚引用
JVM
架构设计
【高并发】内存双缓冲 + 批量刷磁盘
【高并发】如何优化你的缓存架构?
【高并发】高并发数据库架构
【高并发】如何设计其高并发架构?
中间件
【高并发】如何保持消息发布者不丢失数据
【原理】Reactor多路复用
【原理】select、poll和epoll
为什么要引入消息中间件?
引入消息中间件有什么缺点?
消息中间件在你们项目里是如何落地的?
消息中间件集群崩溃,如何保证百万生产数据不丢失?
如何保证消息中间件全链路数据100%不丢失(1)
如何保证消息中间件全链路数据100%不丢失(2)ack机制
消息中间件如何实现消费吞吐量的百倍优化?解决消息积压 prefetch count
消息中间件该如何实现高可用架构?
消息中间件如何实现每秒几十万的高并发写入? Kafka 的一些架构设计原理,零拷贝技术,页缓存技术,磁盘顺序写
写入消息中间件的数据,如何保证不丢失?写入Kafka的消息如何不丢失
如果让你设计一个消息中间件,如何将其网络通信性能优化10倍以上?batch机制 + request 机制
简历写了会Kafka,面试官90%会让你讲讲acks参数对消息持久化的影响
不了解这些“高级货”,活该你面试当炮灰。。。CopyOnWrite
Kafka如何通过精妙的架构设计优化JVM GC问题?内存缓冲池的机制,不回收的堆外内存
面试突击
分布式消息队列
【面试题】 为什么使用消息队列?消息队列有什么优点和缺点?
Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点?
【面试题】 如何保证消息队列的高可用?
【面试题】 如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?
【面试题】 如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?
【面试题】 - 如何保证消息的顺序性?
【面试题】 - 如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?有几百万消息持续积压几小时,说说怎么解决?
【面试题】 - 如果让你写一个消息队列,该如何进行架构设计?说一下你的思路。
搜索引擎
lucene 和 es 的前世今生
【面试题】 - es 的分布式架构原理能说一下么(es 是如何实现分布式的啊)?
【面试题】 - es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解吗?
【面试题】 - es 在数据量很大的情况下(数十亿级别)如何提高查询效率啊?
【面试题】 - es 生产集群的部署架构是什么?每个索引的数据量大概有多少?每个索引大概有多少个分片?
分布式缓存
【面试题】 - 项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果?
【面试题】 - redis 和 memcached 有什么区别?redis 的线程模型是什么?为什么 redis 单线程却能支撑高并发?
【面试题】 - redis 都有哪些数据类型?分别在哪些场景下使用比较合适?
【面试题】 - redis 的过期策略都有哪些?内存淘汰机制都有哪些?手写一下 LRU 代码实现?
【面试题】 如何保证 redis 的高并发和高可用?redis 的主从复制原理能介绍一下么?redis 的哨兵原理能介绍一下么?
Redis 主从架构
Redis 哨兵集群实现高可用
【面试题】 - redis 的持久化有哪几种方式?不同的持久化机制都有什么优缺点?持久化机制具体底层是如何实现的?
【面试题】 - redis 集群模式的工作原理能说一下么?在集群模式下,redis 的 key 是如何寻址的?分布式寻址都有哪些算法?了解一致性 hash 算法吗?
【面试题】 了解什么是 redis 的雪崩、穿透和击穿?redis 崩溃之后会怎么样?系统该如何应对这种情况?如何处理 redis 的穿透?
【面试题】 - 如何保证缓存与数据库的双写一致性?
【面试题】 - redis 的并发竞争问题是什么?如何解决这个问题?了解 redis 事务的 CAS 方案吗?
【面试题】 - 生产环境中的 redis 是怎么部署的?
分库分表
【面试题】 - 为什么要分库分表(设计高并发系统的时候,数据库层面该如何设计)?用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?你们具体是如何对数据库如何进行垂直拆分或水平拆分的?
【面试题】 - 现在有一个未分库分表的系统,未来要分库分表,如何设计才可以让系统从未分库分表动态切换到分库分表上?
【面试题】 - 如何设计可以动态扩容缩容的分库分表方案?
【面试题】 - 分库分表之后,id 主键如何处理?
【面试题】 - 你们有没有做 MySQL 读写分离?如何实现 MySQL 的读写分离?MySQL 主从复制原理的是啥?如何解决 MySQL 主从同步的延时问题?
elasticsearch
微服务
Spring Cloud底层原理
微服务注册中心如何承载大型系统的千万级访问?Eureka核心原理,多级缓存机制
Spring Cloud 参数优化实战
微服务架构如何保障双11狂欢下的99.99%高可用 Hystrix参数设置 线程池配置
注册中心不开源了怎么办?Eureka不好用了
如何优化Spring Cloud微服务注册中心架构?Consul架构原理
分布式
TCC分布式事务的实现原理!
最终一致性分布式事务如何保障实际生产中99.99%高可用?分布式事务的高可用
Redis 分布式锁的实现原理
分布式锁高并发优化实践
ZooKeeper分布式锁的实现原理
分布式系统容错架构设计
分布式搜索引擎的架构原理 ElasticSearch
分布式系统的唯一id生成算法你了解吗?snowflake算法
什么是分布式计算系统!
到底啥是分布式系统开发经验?
线上经验总结
扎心!线上服务宕机时,如何保证数据100%不丢失?
一次JVM FullGC的背后,竟隐藏着惊心动魄的线上生产事故!Quorum机制
【来自一线的血泪总结】你的系统上线时是否踩过这些坑?
老司机生产实践经验:线上系统的 JVM 内存是越大越好吗?
操作系统
IO流
系统IO与网络IO概要
算法
Quorum算法。数据不丢失算法
大数据技术栈
Hadoop
兄弟,用大白话告诉你小白都能看懂的Hadoop架构原理
Hadoop如何给文件上锁-契约机制
大规模集群下 Hadoop NameNode 如何承载每秒上千次的高并发访问
Hadoop如何将TB级大文件的上传性能优化上百倍?
看 Hadoop 底层算法如何优雅的将大规模集群性能提升 10 倍以上?【同上】
Spark
Spark如何处理数据倾斜
Spark广播变量【优化】
Spark性能优化原则【优化】【美团技术团队】
机器学习
Word2vec
N-gram
BERT
GPT2.0
PageRank
TextRank
TF-IDF
LFM
ALS
布隆过滤器
领导选举
倒排索引
评价推荐模型的好坏
Flink
超神文档
集群搭建
Standalone YarnHA
subtask划分及任务调度
协议
Raft 强一致协议
推荐系统
MySql
优化
MySQL底层实现机制
Mysql insert原理
Mysql 事务原理
组合索引原理
索引-部门技术分享
算法
图
迪杰斯特拉算法【最短路径算法之一】
堆
加强堆
亿级流量架构
【架构演进】亿级流量系统架构之如何支撑百亿级数据的存储与计算
【架构演进】亿级流量系统架构之如何设计高容错分布式计算系统
【架构演进】亿级流量系统架构之如何设计承载百亿流量的高性能架构
【架构演进】亿级流量系统架构之如何设计每秒十万查询的高并发架构
【架构演进】亿级流量系统架构之如何设计全链路99.99%高可用架构
如何在上万并发场景下设计可扩展架构(上)?
亿级流量系统架构之如何在上万并发场景下设计可扩展架构(中)?
亿级流量系统架构之如何在上万并发场景下设计可扩展架构(下)?
亿级流量架构第二弹:你的系统真的无懈可击吗?
亿级流量系统架构之如何保证百亿流量下的数据一致性(上)
亿级流量系统架构之如何保证百亿流量下的数据一致性(中)?
亿级流量系统架构之如何保证百亿流量下的数据一致性(下)?
亿级流量电商详情页系统实战
面试官
互联网公司的面试官是如何360°无死角考察候选人的?(上篇)
互联网公司的面试官是如何360°无死角考察候选人的?(下篇)
面试经验
记一位朋友斩获 BAT 技术专家 Offer 的面试经历
职业发展
英语差的程序员如何才能无障碍阅读官方文档?
中小公司的Java工程师应该如何逆袭冲进BAT?
【码农打怪升级之路】行走江湖,你需要解锁哪些技能包?
三四十岁的大龄程序员,应该如何保持自己的职场竞争力?
如何阅读一个开源项目的源码?
https://www.cnblogs.com/aobing/p/12906927.html
https://www.cnblogs.com/jiangyang/p/11422732.html
https://blog.csdn.net/qq_26222859/article/details/53786134
https://blog.csdn.net/wenxindiaolong061/article/details/79744513
https://blog.csdn.net/qq_38905818/article/details/105831893
https://zhuanlan.zhihu.com/p/133851347
https://shishan100.gitee.io/docs/#/./docs/page/page1【石衫笔记】
https://www.sohu.com/a/272879207_463994
https://shishan100.gitee.io/docs/#/./docs/page/page2
https://shishan100.gitee.io/docs/#/./docs/page/page3
https://shishan100.gitee.io/docs/#/./docs/page/page4
https://shishan100.gitee.io/docs/#/./docs/page/page5
https://shishan100.gitee.io/docs/#/./docs/page/page8
https://blog.csdn.net/weixin_43185598/article/details/87938882
为什么要自旋,重量级锁
https://shishan100.gitee.io/docs/#/./docs/jvm/page1
https://shishan100.gitee.io/docs/#/./docs/page/page6
https://shishan100.gitee.io/docs/#/./docs/page/page9
https://shishan100.gitee.io/docs/#/./docs/page/page10
https://shishan100.gitee.io/docs/#/./docs/page/page11
https://shishan100.gitee.io/docs/#/./docs/page/page7
https://shishan100.gitee.io/docs/#/./docs/page/page11
https://www.cnblogs.com/natian-ws/p/10785649.html
https://blog.csdn.net/davidsguo008/article/details/73556811
https://www.cnblogs.com/anker/p/3265058.html【精】
深度理解select、poll和epoll
https://blog.csdn.net/davidsguo008/article/details/73556811
https://shishan100.gitee.io/docs/#/./docs/middleware/page1
https://shishan100.gitee.io/docs/#/./docs/middleware/page2
https://shishan100.gitee.io/docs/#/./docs/middleware/page3
https://shishan100.gitee.io/docs/#/./docs/middleware/page4
https://shishan100.gitee.io/docs/#/./docs/middleware/page6
https://shishan100.gitee.io/docs/#/./docs/middleware/page7
https://shishan100.gitee.io/docs/#/./docs/middleware/page8
https://shishan100.gitee.io/docs/#/./docs/middleware/page9
https://shishan100.gitee.io/docs/#/./docs/middleware/page10
https://shishan100.gitee.io/docs/#/./docs/middleware/page11
https://shishan100.gitee.io/docs/#/./docs/middleware/page12
https://shishan100.gitee.io/docs/#/./docs/middleware/page13
https://shishan100.gitee.io/docs/#/./docs/middleware/page14
https://shishan100.gitee.io/docs/#/./docs/middleware/page15
为什么使用消息队列?,消息队列有什么优点和缺点?,Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景?
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/why-mq
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/how-to-ensure-high-availability-of-message-queues
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/how-to-ensure-that-messages-are-not-repeatedly-consumed
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/how-to-ensure-the-reliable-transmission-of-messages
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/how-to-ensure-the-order-of-messages
https://shishan100.gitee.io/docs/#/./docs/big-data/page2
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/mq-design
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/es-introduction
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/es-architecture
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/es-write-query-search
性能优化的杀手锏——filesystem cache,数据预热,冷热分离,document 模型设计,分页性能优化
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/es-optimizing-query-performance
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/es-production-cluster
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/why-cache
redis线程模型
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/redis-single-thread-model
https://mp.csdn.net/editor/html/113243963
定期删除+惰性删除。内存淘汰机制,手写一个 LRU 算法
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/redis-expiration-policies-and-lru
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/how-to-ensure-high-concurrency-and-high-availability-of-redis
redis replication 的核心机制,redis 主从复制的核心原理,主从复制的断点续传,无磁盘化复制,过期 key 处理,复制的完整流程,全量复制,增量复制,heartbeat,异步复制,redis 如何才能做到高可用
https://shishan100.gitee.io/docs/#/docs/high-concurrency/redis-master-slave
https://shishan100.gitee.io/docs/#/docs/high-concurrency/redis-sentinel
redis 持久化的两种方式,RDB 优缺点,AOF 优缺点
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/redis-persistence
节点间的内部通信机制,基本通信原理,gossip 协议,ping 消息深入,hash 算法,一致性 hash 算法,redis cluster 的 hash slot 算法,redis cluster 的高可用与主备切换原理,
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/redis-cluster
缓存雪崩,缓存穿透,缓存击穿
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/redis-caching-avalanche-and-caching-penetration
Cache Aside Pattern,最初级的缓存不一致问题及解决方案,比较复杂的数据不一致问题分析,
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/redis-consistence
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/redis-cas
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/redis-production-environment
为什么要分库分表?(设计高并发系统的时候,数据库层面该如何设计?),用过哪些分库分表中间件?不同的分库分表中间件都有什么优点和缺点?,你们具体是如何对数据库如何进行垂直拆分或水平拆分的?
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/database-shard
停机迁移方案,双写迁移方案
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/database-shard-method
停机扩容(不推荐),优化后的方案
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/database-shard-dynamic-expand
基于数据库的实现方案,数据库自增 id,设置数据库 sequence 或者表自增字段步长,UUID,获取系统当前时间,snowflake 算法
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/database-shard-global-id-generate
如何实现 MySQL 的读写分离?,MySQL 主从复制原理的是啥?MySQL 主从同步延时问题(精华)
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/mysql-read-write-separation
https://shishan100.gitee.io/docs/#/./docs/distributed-system/distributed-system-interview
系统拆分,缓存,MQ,分库分表,读写分离,ElasticSearch
https://shishan100.gitee.io/docs/#/./docs/high-concurrency/high-concurrency-design
dubbo 工作原理,工作流程,
https://shishan100.gitee.io/docs/#/./docs/distributed-system/dubbo-operating-principle
dubbo 支持不同的通信协议,dubbo 协议,rmi 协议,hessian 协议,http 协议,webservice,dubbo 支持的序列化协议,为什么 PB 的效率是最高的?
https://shishan100.gitee.io/docs/#/./docs/distributed-system/dubbo-serialization-protocol
dubbo 负载均衡策略,dubbo 集群容错策略,dubbo动态代理策略
https://shishan100.gitee.io/docs/#/./docs/distributed-system/dubbo-load-balancing
spi 是啥?,Java spi 思想的体现,dubbo 的 spi 思想,如何自己扩展 dubbo 中的组件
https://shishan100.gitee.io/docs/#/./docs/distributed-system/dubbo-spi
服务治理, 服务访问压力以及时长统计,其它,服务降级,失败重试和超时重试
https://shishan100.gitee.io/docs/#/./docs/distributed-system/dubbo-service-management
幂等
https://shishan100.gitee.io/docs/#/./docs/distributed-system/distributed-system-idempotency
https://shishan100.gitee.io/docs/#/./docs/distributed-system/distributed-system-request-sequence
https://shishan100.gitee.io/docs/#/./docs/distributed-system/dubbo-rpc-design
为什么要将系统进行拆分?如何进行系统拆分?拆分后不用 dubbo 可以吗?
https://shishan100.gitee.io/docs/#/./docs/distributed-system/why-dubbo
分布式协调,分布式锁,元数据/配置信息管理,HA高可用性
https://shishan100.gitee.io/docs/#/./docs/distributed-system/zookeeper-application-scenarios
redis 分布式锁,redis 最普通的分布式锁,RedLock 算法,zk 分布式锁,redis 分布式锁和 zk 分布式锁的对比
https://shishan100.gitee.io/docs/#/./docs/distributed-system/distributed-lock-redis-vs-zookeeper
XA 方案,TCC 方案,本地消息表,可靠消息最终一致性方案,最大努力通知方案,
https://shishan100.gitee.io/docs/#/./docs/distributed-system/distributed-transaction
http://www.bytesoft.org/
完全不用 session,tomcat + redis,spring session + redis,
https://shishan100.gitee.io/docs/#/./docs/distributed-system/distributed-session
Hystrix 是什么?,Hystrix 的历史,Hystrix 的设计原则,Hystrix 更加细节的设计原则
https://shishan100.gitee.io/docs/#/./docs/high-availability/hystrix-introduction
https://zhuanlan.zhihu.com/p/64147696
https://mp.csdn.net/editor/html/115663783【精】
小型电商网站的商品详情页系统架构,大型电商网站的商品详情页系统架构,
https://shishan100.gitee.io/docs/#/./docs/high-availability/e-commerce-website-detail-page-architecture
利用 HystrixCommand 获取单条数据,利用 HystrixObservableCommand 批量获取数据,
https://shishan100.gitee.io/docs/#/./docs/high-availability/hystrix-thread-pool-isolation
信号量机制,线程池与信号量区别,信号量简单 Demo
https://shishan100.gitee.io/docs/#/./docs/high-availability/hystrix-semphore-isolation
execution.isolation.strategy,command key & command group,command thread pool,command key & command group & command thread pool,coreSize,queueSizeRejectionThreshold,execution.isolation.semaphore.maxConcurrentRequests
https://shishan100.gitee.io/docs/#/./docs/high-availability/hystrix-execution-isolation
步骤一:创建 command
步骤二:调用 command 执行方法
步骤三:检查是否开启缓存
步骤四:检查是否开启了断路器
步骤五:检查线程池/队列/信号量是否已满
步骤六:执行 command
步骤七:断路健康检查
步骤八:调用 fallback 降级机制
https://shishan100.gitee.io/docs/#/./docs/high-availability/hystrix-process
https://shishan100.gitee.io/docs/#/./docs/high-availability/hystrix-request-cache
两种最经典的降级机制
步骤一:本地缓存获取数据
步骤二:实现 GetBrandNameCommand
步骤三:CacheController 调用接口
https://shishan100.gitee.io/docs/#/./docs/high-availability/hystrix-fallback
RequestVolumeThreshold
ErrorThresholdPercentage
SleepWindowInMilliseconds
Enabled
ForceOpen
ForceClosed
实例 Demo
断路测试类
测试结果
https://shishan100.gitee.io/docs/#/./docs/high-availability/hystrix-circuit-breaker
线程池隔离技术的设计
Hystrix 应用线程池机制的场景
线程池机制的优点
线程池机制的缺点
接口限流 Demo
https://shishan100.gitee.io/docs/#/./docs/high-availability/hystrix-thread-pool-current-limiting
https://shishan100.gitee.io/docs/#/./docs/high-availability/hystrix-timeout
https://shishan100.gitee.io/docs/#/./docs/distributed-system/distributed-design
https://shishan100.gitee.io/docs/#/./docs/distributed-system/java-interview-season-1-summary
https://shishan100.gitee.io/docs/#/./docs/distributed-system/core-architecture-principle
https://shishan100.gitee.io/docs/#/./docs/distributed-system/dubbo-framework-principle
https://shishan100.gitee.io/docs/#/./docs/distributed-system/dubbo-rock-bottom
https://shishan100.gitee.io/docs/#/./docs/distributed-system/springCloud-study-theory
https://shishan100.gitee.io/docs/#/./docs/distributed-system/registration-center-optimize
服务注册发现的原理
https://shishan100.gitee.io/docs/#/./docs/distributed-system/registration-center-guide
https://shishan100.gitee.io/docs/#/./docs/distributed-system/gateway-high-concurrency
https://shishan100.gitee.io/docs/#/./docs/distributed-system/rocketmq-transaction
https://shishan100.gitee.io/docs/#/./docs/distributed-system/distributed-lock
https://shishan100.gitee.io/docs/#/./docs/distributed-system/redis-distribute-lock
zookeeper实现
https://shishan100.gitee.io/docs/#/./docs/distributed-system/zookeeper-distribute-lock
解决羊群效应
https://shishan100.gitee.io/docs/#/./docs/distributed-system/zookeeper-distribute-lock-optimize
读写原理
https://www.huaweicloud.com/articles/02f76393741c56daa425bc29eae565c3.html
https://blog.csdn.net/jiaojiao521765146514/article/details/83753215
https://shishan100.gitee.io/docs/#/./docs/microservice/page1
https://shishan100.gitee.io/docs/#/./docs/microservice/page2
https://shishan100.gitee.io/docs/#/./docs/microservice/page3
https://shishan100.gitee.io/docs/#/./docs/microservice/page4
https://shishan100.gitee.io/docs/#/./docs/microservice/page5
https://shishan100.gitee.io/docs/#/./docs/microservice/page6
深入分析Zookeeper的Leader 选举实现原理
ZAB协议:
https://www.cnblogs.com/wuzhenzhao/p/9983231.html
Zookeeper选举算法原理
https://blog.csdn.net/yue_2018/article/details/89717010
https://shishan100.gitee.io/docs/#/./docs/distributed/page1
https://shishan100.gitee.io/docs/#/./docs/distributed/page2
https://shishan100.gitee.io/docs/#/./docs/distributed/page3
https://shishan100.gitee.io/docs/#/./docs/distributed/page4
https://shishan100.gitee.io/docs/#/./docs/distributed/page5
https://shishan100.gitee.io/docs/#/./docs/distributed/page6
https://shishan100.gitee.io/docs/#/./docs/distributed/page7
https://shishan100.gitee.io/docs/#/./docs/distributed/page8
https://shishan100.gitee.io/docs/#/./docs/distributed/page9
https://shishan100.gitee.io/docs/#/./docs/distributed/page10
https://shishan100.gitee.io/docs/#/./docs/middleware/page5
https://shishan100.gitee.io/docs/#/./docs/online-experience-summary/page1
https://shishan100.gitee.io/docs/#/./docs/online-experience-summary/page2
内存缓冲 os cache
https://shishan100.gitee.io/docs/#/./docs/online-experience-summary/page3
https://blog.csdn.net/everyonetimeismoney/article/details/113244889
https://juejin.cn/post/6844903993844432909【精】
https://mp.weixin.qq.com/s?__biz=MzU0OTk3ODQ3Ng==&mid=2247483809&idx=1&sn=a8d087c21171bf164fcda389ada9404a&chksm=fba6e9a2ccd160b4e1423c6d142b18849ded66cfdc1477e4d601e44f832d7026b64d80af8db1&scene=21#wechat_redirect
https://shishan100.gitee.io/docs/#/./docs/big-data/page1
性能两大杀手:磁盘写 + 网络写!分段加锁机制 + 内存双缓冲机制,etigslog
https://shishan100.gitee.io/docs/#/./docs/big-data/page2
Chunk 缓冲机制,Packet 数据包机制,内存队列异步发送机制
https://shishan100.gitee.io/docs/#/./docs/big-data/page3
https://shishan100.gitee.io/docs/#/./docs/big-data/page4【同上】
https://blog.csdn.net/kaede1209/article/details/81145560
https://blog.csdn.net/weixin_38750084/article/details/82721319?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromBaidu-1.control
https://blog.csdn.net/leen0304/article/details/78720838
https://tech.meituan.com/2016/04/29/spark-tuning-basic.html
https://zhuanlan.zhihu.com/p/26306795
https://easyai.tech/ai-definition/word2vec/
https://blog.csdn.net/songbinxu/article/details/80209197
https://blog.csdn.net/hguisu/article/details/7996185
http://blog.itpub.net/31562039/viewspace-2286669/
https://blog.csdn.net/everyonetimeismoney/article/details/113114390
https://blog.csdn.net/everyonetimeismoney/article/details/113114390
https://blog.csdn.net/asialee_bird/article/details/81486700
https://blog.csdn.net/everyonetimeismoney/article/details/113249478
https://blog.csdn.net/gfdgfhsds/article/details/104775336
https://blog.csdn.net/everyonetimeismoney/article/details/113249478
https://blog.csdn.net/legotime/article/details/51836030
https://www.cnblogs.com/liyulong1982/p/6013002.html
https://zhuanlan.zhihu.com/p/43263751
https://blog.csdn.net/weixin_43179522/article/details/107951740
https://shishan100.gitee.io/docs/#/./docs/distributed/page7
https://blog.csdn.net/everyonetimeismoney/article/details/113343533
https://blog.csdn.net/everyonetimeismoney/article/details/113405855
https://blog.csdn.net/everyonetimeismoney/article/details/113414993
https://blog.csdn.net/everyonetimeismoney/article/details/113416333
https://blog.csdn.net/everyonetimeismoney/article/details/113422948
https://raft.github.io/
http://thesecretlivesofdata.com/raft/
https://blog.csdn.net/qq_25062299/article/details/98615267
https://segmentfault.com/a/1190000022315340
https://zhuanlan.zhihu.com/p/48327345
https://cloud.tencent.com/developer/article/1770563【单个索引】
https://blog.csdn.net/feichitianxia/article/details/107997795【组合索引】
https://blog.csdn.net/everyonetimeismoney/article/details/115371843
https://mp.weixin.qq.com/s?__biz=MzAxMjY5NDU2Ng==&mid=2651855520&idx=1&sn=5c5ff02dbaa254efbee4ae2ac9b7081d&chksm=80495fe9b73ed6ffe3fe82ca614aebae614616939dacb0209f46d24d4cbfbf4f202b88e8e249&mpshare=1&scene=1&srcid=&sharer_sharetime=1590466279167&sharer_shareid=65022ec60cc63b548026c0fc9296ef1a&exportkey=AexJmBT4O30a2lwQgpzbuX0=&pass_ticket=9PCPqu6rsKZpdo8s34YH%2b8xhr%2bqD0f/3ifpAY1kOkoylEmEHrsErpYOXxKdclsMg#rd
时间点:02:00:00
https://ke.qq.com/webcourse/3067253/103187834#taid=10578422848736629&vid=5285890811763788622
视频
https://ke.qq.com/webcourse/3067253/103187834#taid=10471976379272565&vid=5285890810249398652
代码
https://blog.csdn.net/everyonetimeismoney/article/details/114607953
视频
https://ke.qq.com/webcourse/3067253/103187834#taid=10471980674239861&vid=5285890810611674308
代码
https://blog.csdn.net/everyonetimeismoney/article/details/114608119
滑动时间窗口
https://shishan100.gitee.io/docs/#/./docs/billion-level-traffic-architecture/page1
弹性资源调度,分布式系统高容错机制
https://shishan100.gitee.io/docs/#/./docs/billion-level-traffic-architecture/page2
计算与存储分离,内存计算,MQ削峰以及流量控制,数据的动静分离架构,静态数据做个轻量级的cache
https://shishan100.gitee.io/docs/#/./docs/billion-level-traffic-architecture/page3
分库分表 + 读写分离,冷热数据分离,ES+HBase,实时数据存储引入缓存集群,双写的方式
https://shishan100.gitee.io/docs/#/./docs/billion-level-traffic-architecture/page4
异步转同步 + 限流算法 + 限制性丢弃流量,临时扩容 Slave 集群 + 内存级分片存储 + 小时级数据粒度,计算任务重分配 + 主备切换机制,自研缓存集群查询引擎 + JVM 本地缓存 + 限流机制
收集查询日志 + 离线日志分析 + 缓存高频查询
https://shishan100.gitee.io/docs/#/./docs/billion-level-traffic-architecture/page5
https://shishan100.gitee.io/docs/#/./docs/billion-level-traffic-architecture/page6
手动流量开关配合数据库运维操作,支持多系统同时订阅数据
https://shishan100.gitee.io/docs/#/./docs/billion-level-traffic-architecture/page7
https://shishan100.gitee.io/docs/#/./docs/billion-level-traffic-architecture/page8
https://shishan100.gitee.io/docs/#/./docs/billion-level-traffic-architecture/page9
https://shishan100.gitee.io/docs/#/./docs/billion-level-traffic-architecture/page10
https://shishan100.gitee.io/docs/#/./docs/billion-level-traffic-architecture/page11
https://shishan100.gitee.io/docs/#/./docs/billion-level-traffic-architecture/page12
https://www.yuque.com/docs/share/e8133510-77dd-4ad8-b260-cb2b173d8351#%E3%80%8A%E4%BA%BF%E7%BA%A7%E6%B5%81%E9%87%8F%E7%94%B5%E5%95%86%E8%AF%A6%E6%83%85%E9%A1%B5%E7%B3%BB%E7%BB%9F%E5%AE%9E%E6%88%98%E3%80%8B
https://shishan100.gitee.io/docs/#/./docs/interview-essential/page1
https://shishan100.gitee.io/docs/#/./docs/interview-essential/page2
https://shishan100.gitee.io/docs/#/./docs/interview-essential/page3
https://shishan100.gitee.io/docs/#/./docs/career-development/page1
https://shishan100.gitee.io/docs/#/./docs/career-development/page2
https://shishan100.gitee.io/docs/#/./docs/career-development/page3
https://shishan100.gitee.io/docs/#/./docs/career-development/page4
https://shishan100.gitee.io/docs/#/./docs/career-development/page5