# 架构师技能树

## 系统架构能力

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

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

### 接入层架构设计
- 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
- 中间件
- 消息总线

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

架构师技能树skill-map的更多相关文章

  1. 2010“架构师接龙”问答--杨卫华VS赵劼(转)

    add by zhj:虽然是几年前的文章,但还是很有参考价值的 原文:http://blog.zhaojie.me/2010/05/programmer-magazine-2010-5-archite ...

  2. 系统架构师JD

    #################################################################################################### ...

  3. 大数据架构师基础:hadoop家族,Cloudera产品系列等各种技术

    大数据我们都知道hadoop,可是还会各种各样的技术进入我们的视野:Spark,Storm,impala,让我们都反映不过来.为了能够更好的架构大数据项目,这里整理一下,供技术人员,项目经理,架构师选 ...

  4. Java进阶之路——从初级程序员到架构师,从小工到专家

    原创文章 怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到 ...

  5. Java 架构师眼中的 HTTP 协议

    HTTP 协议的内容比较多,本文我们将分六部分来介绍. HTTP 协议的基本内容 什么是 HTTP 协议 首先我们来看协议是什么?协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守有规则的文 ...

  6. 架构师系列文:通过Spring Cloud组件Hystrix合并请求

    在前文里,我们讲述了通过Hystrix进行容错处理的方式,这里我们将讲述通过Hystrix合并请求的方式 哪怕一个URL请求调用的功能再简单,Web应用服务都至少会开启一个线程来提供服务,换句话说,有 ...

  7. 撩课-Web架构师养成系列第一篇

    前言 Web架构师养成系列共15篇,每周更新一篇,主要分享.探讨目前大前端领域(前端.后端.移动端)企业中正在用的各种成熟的.新的技术.部分文章也会分析一些框架的底层实现,让我们做到知其然知其所以然. ...

  8. 转头条:阿里p7架构师:三年经验应该具备什么样的技能?

    问:工作中,有时候实现一个功能,会去看有没有现成的轮子可用.对于重复造轮子与改造轮子有什么看法? 答:一定会的,其实这也是一个提高技术能力的方法,比如今天想做个日期转换的功能,JDK8有日期的新特性就 ...

  9. 架构师素养及从小菜进阶架构(CTO)的书籍【转】

    CTO要了解无线技术/搜索/大数据/数据库等. -- 通常定义架构有几个层次,这包括业务架构.产品架构.应用架构和技术架构: 1.业务架构:描述一个企业围绕一个行业做了哪些业务,例如支付行业的收单.退 ...

随机推荐

  1. [HDU3117]Fibonacci Numbers

    题目:Fibonacci Numbers 链接:http://acm.hdu.edu.cn/showproblem.php?pid=3117 分析: 1)后四位可以用矩阵快速幂解决.$T= \left ...

  2. Maven之搭建本地私服(nexus)仓库

    摘要:现在越来越多的项目都在使用Maven管理项目,尤其是在大型的项目团队中使用Maven能带来更加多的好处,私服的好处我相信大家都明白,在这里我就不多说了,它最重要的作用就是可以让项目团队成员更加方 ...

  3. linux知识总结与问题总结

    一直以来经常听到LINUX,但是自己学习的也不深,也没有花时间来梳理一下自己的理解.趁着新年这段时间,好好梳理一下. 在理解LINUX前,先简单理解一下 一:操作系统这个概念. 操作系统就是与电脑中的 ...

  4. SQL语言分类DDL、DML、DQL、TCL、DCL

    关系型数据库的SQL语句都可以分为4大类: 1. DDL(数据定义语言)     DDL 主要是指如下的四种SQL 语句,以 CREATE.DROP.ALRET开头和 TRUNCATE TABLE 语 ...

  5. ! Failed at the chromedriver@2.35.0 install script.

    npm install 过程中报错 解决方法 运行 npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/d ...

  6. Python中的装饰器,迭代器,生成器

    1. 装饰器 装饰器他人的器具,本身可以是任意可调用对象,被装饰者也可以是任意可调用对象. 强调装饰器的原则:1 不修改被装饰对象的源代码 2 不修改被装饰对象的调用方式 装饰器的目标:在遵循1和2的 ...

  7. mysql中@ROW的使用

    一.从test02表中查询每个uid最早登录的前2天 表如下图所示: select * from (select uid,day, @ROW := END rn, @uuid:=uid from (s ...

  8. HMTL5滑动块研究

    滑动块图片 html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> &l ...

  9. HDU 3622 Bomb Game(2-sat)

    Bomb Game Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  10. 用户积分排行榜功能-Redis实现

    一.排行榜功能简介 排行榜功能是一个很普遍的需求.使用 Redis 中有序集合(SortedSet)的特性来实现排行榜是又好又快的选择. 一般排行榜都是有实效性的,比如交通数据流中的路口/路段的车流量 ...