想要成为架构师,需要掌握哪些技能?

bdqnwqk1年前基础12

IT行业以“技”服人,架构师是技术大牛,一个技术团队的核心,需同时兼具技术的广度与深度。一个能担负起企业级应用的架构师,脑海里常出现的词会是这些:负载均衡、集群、分布式、高并发、高可用、易管理等等。

粗略说来,架构师需要掌握的十四个主要技术能力如下:

一、集合框架(源码)

ListArrayListLinkedListSet:HashSet、TreeSetMap:TreeMap、ConcurrentHashMapQueue:ConcurrentLinkedQueueStackCollection的synchronized等方法二、工具类

Google guava(推荐)Apache common lang/BeanUtils/Collctions/IOJSONfastjsongsonjackson三、框架

Spring:IOC、AOP、常用注解SpringMVCMybatisShiroNetty四、安全

单项散列算法:MD5、SHA对称加密:DES非对称加密:RSA、HTTPS五、JVM

Java虚拟机(Hotspot实现)类加载机制内存模型GC:回收算法、垃圾收集器调优工具:jstack、jmap、jconsole

六、并发编程

Executor框架Fork/joinhappen-before数据结构:ConcurrentHashMap线程池:参数设置、原理、拒绝策略线程状态Lock/synchronized原子操作类并发工具类:CountDownLatch、Semaphore、CyclicBarrier、ExchangerIO、BIO、AIO、NIO七、数据

NoSQL:MongoDB

分布式缓存:Memcached、Redis(推荐)

关系数据库

MySQL引擎InnoDB(支持事务)分库分表CobarMycat八、SQL优化

索引主键索引组合索引explain存储过程SQL注入:使用#而不使用$

九、事务隔离级别(ACID)

原子性一致性隔离性持久性十、锁

表锁行锁悲观锁数据库设计

十一、搜索引擎

Luecene

Solr

ElasticSearch

十二、大数据

HadoopHbaseSparkStorm/JStorm十三、算法与数据结构

数组链表栈队列树二叉树B Tree/B+ Tree红黑树哈希十四、分布式系统

从集中到分布式分布式Session:Session复制、Session绑定、Session服务器(靠谱)分布式缓存:Redis、一致性Hash算法数据库:读写分离、主从热备、分库分表、一致性分布式事务、CAP、BASE、2PC/3PC分布式锁Redisson负载均衡、硬件、F5、软件、LVS、Nginx消息队列:RabbitMQ、ZeroMQ、ActiveMQ、Kafka(推荐)服务化:服务注册与发现、Zookeeper架构微服务Spring BootDubboRPCSOA虚拟化Docker以上,是架构师必备的主要技术能力。以下,是架构师进阶专题合集,将关键词【架构】私信给优知学院,立即秒收~

反正都划到这儿,点个赞呗~

反正都划到这儿,点个赞呗~