awesome-backend-architecture
涵盖后端java知识、常用技术框架、数据库、开源中间件、微服务、系统架构、线上问题定位/处理、团队管理、一线互联网公司架构案例等。
基础知识
- Java基础知识
- Java并发编程
- 数据结构与算法
进阶篇
- JDK源码阅读
- 框架知识
- JVM/类加载机制
- 设计模式
高级篇
- 性能优化
- 线上问题定位
常用框架&第三方库
-
Spring 全家桶
-
Web框架
-
ORM 框架
-
Http 网络请求
- OkHttp【强烈推荐】
- AsyncHttpClient
- Apache HttpClient 【不推荐】
-
JSON library
- jackson
- Google Gson
- Alibaba fastjson【近期安全漏洞比较多】
- Square Moshi
-
数据库连接池
- Alibaba druid 【强烈推荐】
- HikariCP 【强烈推荐,Spring Boot 2.x默认数据源】
- Tomcat JNDI Datasource
- c3p0【不推荐】
- DBCP【不推荐】
-
日期&时间处理
-
Java 序列化框架
-
本地缓存
-
分布式缓存
-
缓存框架
-
任务调度框架
-
字节码操作
-
Netflix OSS
-
Zookeeper客户端库
-
NIO框架
- Netty【强烈推荐】
- Apache MINA
-
Bean 属性拷贝
-
Web 容器
-
工具类
-
模版引擎
-
日志
-
单元测试
-
依赖管理&构建工具
-
版本控制
中间件
-
RPC框架
-
MQ消息
-
数据库Sharding
-
服务注册&发现
-
配置中心
- 携程 apollo 【强烈推荐】
- 百度 disconf
- 阿里巴巴 Nacos
-
流量控制 & 熔断降级
- Hystrix【停止更新】
- resilience4j【Spring官方推荐】
- 阿里巴巴 Sentinel
- 三者功能特性对比
-
分布式任务调度
- Elastic-Job【已经捐给Apache了,由shardingsphere团队维护】
- xxl-job
- TBSchedule
-
分布式ID生成器
-
分布式事务框架
-
APM
-
分布式链路追踪
-
分布式文件系统
-
数据库binlog解析
RDBMS
MySQL
- MySQL 索引
PostgreSQL
- PG
NoSQL
NoSQL(NoSQL = Not Only SQL)
分布式
数据一致性、服务治理、服务降级
分布式事务
2PC、3PC、CAP、BASE、 可靠消息最终一致性、最大努力通知、TCC
微服务
SOA、康威定律
Spring Boot Spring Cloud Docker & Kubernets ServiceMesh
-
服务注册&发现
-
分布式协调&选主
-
应用监控