在Java程序员行业中,成为架构师是很多程序员的目标,但是进阶架构师,并非一蹴而就,需要系统化、阶段性地学习。下面,我来盘点那些Java架构师必备的词汇和知识点。
01高可用
负载均衡(负载均衡算法)
反向代理
服务隔离
服务限流
服务降级(自动优雅降级)
失效转移
超时重试(代理超时、容器超时、前端超时、中间件超时、数据库超时、NoSql超时)
回滚机制(上线回滚、数据库版本回滚、事务回滚)
02高并发
应用缓存
HTTP缓存
多级缓存
分布式缓存
连接池
异步并发
03分布式事务
二阶段提交(强一致)
三阶段提交(强一致)
消息中间件(最终一致性),推荐阿里的 RocketMQ。
04队列
任务队列
消息队列
请求队列
05扩容
单体垂直扩容
单体水平扩容
应用拆分
数据库拆分
数据库分库分表
数据异构
分布式任务
06网络安全
SQL注入
XSS攻击
CSRF攻击
拒绝服务(DoS,Denial of Service)攻击
架构师必备工具
01操作系统
Linux(必备)、某软的
02负载均衡
DNS、F5、LVS、Nginx、OpenResty、HAproxy、负载均衡SLB
03分布式框架
Dubbo、Motan、Spring-Could
04数据库中间件
DRDS、Mycat、360 Atlas、Cobar (不维护了)
05消息队列
RabbitMQ、ZeroMQ、Redis、ActiveMQ、Kafka
06注册中心
Zookeeper、Redis
07缓存
Redis、Oscache、Memcache、Ehcache
08集成部署
Docker、Jenkins、Git、Maven
09存储
OSS、NFS、FastDFS、MogileFS
10数据库
MySQL、Redis、MongoDB、PostgreSQL、Memcache、HBase
11网络
专用网络VPC、弹性公网 IP、CDN
学习方向:
01、maven的使用
maven的使用入门
maven私服的搭建及部署
maven坐标分析/父控设置
02、git版本管理及jenkins自动化构建
git使用入门培训
git常用命令分析和使用
jenkins环境搭建及插件配置
git+jenkins实现自动化构建
03、NoSql专题-redis高性能缓存
redis使用入门
redis常用命令及客户端的使用
redis高可用集群搭建
04、NoSql专题-mongodb
mongodb使用入门
mongodb高可用集群搭建
mongodb常用命令及客户端的使用
05、分布式专题-zookeeper+dubbo服务协调
zookeeper安装部署及命令分析
zookeeper客户端的使用
zookeeper实现原理分析
dubbo的使用入门及配置分析
zookeeper+dubbo实现服务注册和发现
06、分布式专题-消息中间件
activeMq-jms规范及使用
activeMq消息分发机制分析
kafka实现原理剖析
kafka的数据传输事务性及实践练习
07、分布式缓存分析对比
memcache的原理分析及使用
memcache和redis的横向对比分析
分布式接口技术
webservice/RMI/restful的使用
09、高并发专题-数据库层面优化
分库分表的原理及规则讲解
数据库主备及高可用
10、性能调优专题-jvm调优
JVM原理剖析
jvm内存模型及垃圾回收器的分析
11、性能调优专题-容器性能优化
nginx性能优化
tomcat性能优化
12、性能调优专题-数据库优化
mysql常见优化手段分析及实践
13、高性能容器的使用
nginx使用入门
nginx负载均衡/反向代理实现
14、微服务架构技术栈分析
springboot的使用
15、分布式协调服务zookeeper
zookeeper集群及相关概念分析
zookeeper java api的使用及实践
16、从集中式到分布式架构
分布式架构的演进过程
分布式架构的基石-TCP/UDP
17、分布式通信协议
分布式通信协议-HTTP及RESTful
分布式通信协议-webservice详解
分布式通信协议-RMI
分布式通信协议-序列化技术
18、分布式服务治理
dubbo控制台及监控中心的安装部署
dubbo常用配置分析
dubbo实战演练
19、NIO技术之-Netty
NIO基本概念及BIO、AIO的对比分析
NIO核心设计思想剖析(Buffer/Channel..)
Netty产生的背景及优缺点分析
Netty实现IM聊天系统
20、分布式缓存技术-Redis
redis的安装及数据类型分析
Redis客户端的使用
Redis高可用方案实战
Redis+Lua脚本实现原子操作
21、高性能之道-MongoDB
MongoDB高可用部署
MongoDB动态查询及索引剖析
MongoDB集成spring应用
22、数据库高性能之道-Mysql
分库分表深入分析
Mysql主从模型配置/Mycat的使用
23、分布式通信技术
JMS基本概念和模型
ActiveMQ结合Spring开发
ActiveMQ静态网络和动态网络链接
Kafka的高可用方案及原理分析
24、SOA架构及微服务架构
什么是SOA架构/为什么需要SOA
领域驱动设计方法/典型SOA架构设计
spring boot深入剖析
spring boot+dubbo企业实战
25、Docker虚拟化技术
Docker虚拟化技术(镜像/仓库/容器)
Docker整合spring boot
Docker服务编排
26、导流技术
Nginx反向代理、负载均衡
Nginx进程模型分析
Nginx+keepalived高可用方案
27、微服务技术
spring boot(mvc)
spring boot(REST)
spring boot(验证)
28、spring cloud
spring cloud config client
spring cloud config server
spring cloud netflix eureka
spring cloud netflix ribbon
spring cloud hystrix
spring cloud feign
spring cloud stream
spring cloud bus
spring cloud sleuth
29、分布式消息技术-kafka
kafka高可用集群及介绍
kafka底层实现原理分析
30、分布式缓存-redis
redis的数据类型分析
redis高可用集群方案
lua脚本在redis中的应用
31、高性能之道-MongoDB
MongoDB的基本原理
MongoDB常用命令及客户端使用
手写基于MongoDB的ORM框架
MongoDB高可用解决方案
32、数据库高性能-Mysql
分库分表深入分析及主从模型
数据库中间件Mycat介绍
33、性能优化专题
从测试的角度解读如何衡量性能
了解Linux系统
34、虚拟机-JVM
内存模型、运行时数据
垃圾回收、GC日志
调优实战
35、容器优化-Tomcat
tomcat架构分析
线程模型分析
tomcat调优实战
36、Mysql数据库调优
Mysql底层存储分析
面试技巧之SQL执行计划及优化手段
本文希望能够对大家有帮助,如果说想进一步接触学习可以加群
专注于Java架构师技术分享,领取架构师晋级资料
(Java架构师交流企鹅裙*/*:479389161 )