架构师能力模型
架构方法论
需求
系统上下文图
关键功能需求
非功能性需求
逻辑架构
架构概览
架构决策
功能模型
部署模型
数据模型
物理架构
基础知识
架构模式,设计模式
面向对象设计
设计模式
企业应用架构模式
存储知识
机械硬盘
SSD
RAID
网络知识
交换机
路由器
防火墙
负载均衡器
网络拓朴结构
网线
无线网络
网络协议
操作系统知识
硬件平台与OS的关系
主要OS介绍:Windows系列、Linux、AIX、HP-UX、Solaris、FreeBSD、Android、iOS、Windows Phone
商业操作系统的价格体系
操作系统与编程语言的关系
32位与64位问题
进程
线程
数据库知识
数据库的分类
主流商业数据库比较
主流开源数据库比较
主流数据库的集群实现
数据库的备份方式
数据库的性能问题
NoSQL数据库
分布式数据库
内存数据库
中间件知识
中间件的概念与分类
常见J2EE服务器
J2EE规范
Oracle WebLogic
IBM WebSphere
Redhat JBoss
Tomcat
常见消息中间件
消息使用的两种模式:点对点、发布/订阅
IBM MQ
MSMQ
Active MQ
虚拟化与云计算
虚拟化的概念
虚拟化的优势
云计算的概念
虚拟化主要厂商及产品介绍
VMware
Citrix
Microsoft
Redhat
Oracle
KVM
云管理平台介绍
VMware vCloud Director
OpenStack
CloudStack
安全知识
系统安全的要求:保密性、完整性、可用性、可控性
系统安全的三个层次:网络、主机、应用
常见的安全威胁及对策:病毒、密码猜测攻击、DOS、网络侦听、缓冲区溢出、SQL注入等等
安全相关技术:加密、哈希、数字签名、安全通信、身份验证、授权
安全应用程序设计原则
代码保护
安全相关程序库介绍
平台体系
开发平台
java
多线程
NIO
nodejs
erlang/golang/scala
python/ruby
基础技能
调优
hardware
CPU
核数
频率
内存
通道
频率
机械硬盘
接口
SATA
SAS
转速
10000
15000
RAID
RAID模式
1
0
10
5
RAID卡性能
RAID卡驱动
网卡
速率
千兆
万兆
数目
驱动
OS kernel
Middleware/VM
memory
thread pool
GC
原则
CPU/内存比网络/硬盘快无数倍
并行做比串行做快n倍
异步做比同步做响应更快
手段
pooling
async
multi thread/process
cache
facade
前端
CDN
浏览器缓存
多domain
http压缩
合并http请求
css
js
image
数据库
分区
分表
分库
应用问题排查
内存泄漏导致的问题
多线程并发导致的问题
系统分析
linux
top
ps
iostat
vmstat
sar
nmon
java
JProfile
JVisualVM
IBM ISA
常见架构设计问题
典型网站架构
技术选型指南
数据库集群技术
高可用方案
高性能方案
并行计算
分布式计算
缓存技术
分层架构
架构实践
接入层
CDN
智能DNS
mysql
cobar
canal
otter
RPC
dubbo
apache thrift
全文搜索
lucene
solr
elasticsearch
sphinx
NOSQL
mongodb
neo4j
hbase
K/V缓存
tair
memcached
redis
leveldb
tokyo cabinet
负载均衡
LVS
Nginx
HAProxy
高可用
Heartbeat
Keepalived
消息队列
ActiveMQ/RabbitMQ
Kafka/metaQ
监控
zabbix
hyperic
nagios
分布式文件系统
fastdfs
hdfs
swift
分布式调度
tbschedule
分布式协调服务
zookeeper
架构师关心的事
典型用例场景,非功能性需求,需求的演化/变化趋势,技术风险
系统边界,外部接口,数据流
子系统,模块,组件,领域模型的识别与设计
性能,可用性,稳定性,冗余,可扩展性,可管理性
同步/异步,分布式,并发,IPC,RPC
操作系统,中间件,第三方软件的功能,特性
服务器,CPU,内存,网络,IO设备