# 架构师技能树

## 系统架构能力

### 基本理论
- 扩展性设计
- 可用性设计
- 可靠性设计
- 一致性设计
- 负载均衡设计
- 过载保护设计

### 协议设计
- 二进制协议
- 文本协议

### 接入层架构设计
- DNS轮询
- 动静态分离
- 静态化
- 反向代理
- LVS
- F5
- CDN

### 逻辑层架构设计
- 连接池
- 串行化技术
- 影子master架构
- 批量写入
- 配置中心
- 去中心化
- 通讯机制
* 同步
+ RPC
+ RMI
* 异步
+ MQ
+ Cron
- 数据层架构设计
* 缓存优化
+ 高可用
+ 允许cache miss
* DAO&ORM
* 双主架构
* 主从同步
* 读写分离

## 架构性能优化

### 代码级别
- 关联代码优化
- cache对齐
- 分支预测
- copy on write
- 内联优化

### 工具优化
- OProfile
- Gprof
- JDK工具

### 系统优化
- cache
- 延迟计算
- 数据预读
- 异步
- 轮询与通知
- 内存池
- 模块化

## 工程架构能力

### 开发语言
- 站点开发
- 服务开发
- 脚本处理

### 设计模式
### 数据结构与算法
### 开发工具
### 调试工具

### 测试工具
- 单元测试
- 接口测试
- 性能测试
- 集成测试

### 运维与监控
- 监控
* 系统监控
* 日志监控
* 流量监控
* 接口监控
* 数据库监控
- 告警
- 日志

### 应用技术
- 硬件知识
* cpu
* mem
* disk
* net
- 第三方库
- 数据结构与算法
- 操作系统
* linux
- 接入层
* nginx
* apache
* lighttpd
* tomcat
- 框架
* SpringMvc
* Dubbo
* Thrift
- 缓存
* Redis
* Memcache
- 存储
* mysql
* mongodb
- 中间件
- 消息总线

## 架构师软素质
- 沟通能力
- 解决问题能力
- 学习能力
- 创新能力
- 项目管理能力

最新文章

  1. Excel取消超级链接
  2. windows加入path路径
  3. tomcat启动闪退
  4. Visual studio C#语言输出调试信息到Output窗口方法
  5. python 遍历删除日志
  6. 322. Coin Change
  7. 接上一篇博客(解决-Dmaven.multiModuleProjectDirectory system property is not set. Check $M2_HOME environment variable and mvn script match. )
  8. 剑指offier第10题
  9. 利用ant的javac任务来编译java程序
  10. require和require_once的区别
  11. android开发过程中遇到的坑
  12. Linux (centos7) 防火墙命令
  13. sqlserver 无法获得数据库独占权
  14. hdu 4549 M斐波拉契 (矩阵快速幂 + 费马小定理)
  15. 如何挂载另一个lvm硬盘
  16. centos 网卡名称修改
  17. Core - Provide an easy way to store administrator and user model differences in a custom store (e.g., in a database)
  18. mysql 修改语句及耗时
  19. Socket相关函数(2)- sendto(), recvfrom() UDP模型
  20. checkbox选中的问题(Ajax.BeginForm)

热门文章

  1. redis哨兵-5
  2. 【SpingBoot】 测试如何使用SpringBoot搭建一个简单后台1
  3. python导入自定义模块和包
  4. PAT_A1073#Scientific Notation
  5. Percona XtraDB Cluster集群5.7 开启SSL认证
  6. md5加密报错解决方法(TypeError: Unicode-objects must be encoded before hashing)
  7. QT简介及下载
  8. 【mySQL】left join、right join和join的区别
  9. sql优化 分字段统计查询
  10. C++标准库的初探