# 架构师技能树

## 系统架构能力

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

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

### 接入层架构设计
- 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. 状压 DP:[USACO06NOV] Corn Fields,[USACO13NOV] No Change

    [USACO06NOV] Corn Fields (试题来源:Link ) 题目描述 Farmer John has purchased a lush new rectangular pasture ...

  2. mysql 一条sql完成saveOrUpdate 存在即更新

    关键字 on duplicate key update <pre name="code" class="sql"> insert into tabl ...

  3. js中forEach,for in,for of循环的用法

    from:https://www.cnblogs.com/amujoe/p/8875053.html 一.一般的遍历数组的方法: var array = [1,2,3,4,5,6,7]; for (v ...

  4. (63)C# 不安全代码unsafe

    unsafe fixed stackalloc void*

  5. English-Words with 'ir'

    hire thirty thirteen third sir birthday shirt stir circle dirty skirt affirm affirmation affirmable ...

  6. Flink水印机制(watermark)

    Flink流处理时间方式 EventTime 时间发生的时间,例如:点击网站上的某个链接的时间 IngestionTime 某个Flink节点的source operator接收到数据的时间,例如:某 ...

  7. JS 获取json key和value

    var json= { "Type": "Coding", "Height":100 }; for (var key in json) { ...

  8. Python笔记(七)_全局变量与局部变量

    全局变量与局部变量:在函数外部或内部定义的变量 1. 函数内部的变量名首次出现,且在=号左边 不管这个变量在全局域中有没有定义该变量名,都被视为一个局部变量 例1: >>>num=1 ...

  9. day 101 天

    一.新建项目 +安装bootstrap 安装bootstrap组件 二.Vue-route的使用 1. router.js配置文件 2. vue文件 3. Header.js文件

  10. MySQL开启SSL认证,以及简单优化

    1.1 MySQL开启SSL认证 #生成一个 CA 私钥 [root@db01 ssl]# openssl genrsa 2048 > ca-key.pem Generating RSA pri ...