想要成为架构师,需要掌握哪些技能?
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以上,是架构师必备的主要技术能力。以下,是架构师进阶专题合集,将关键词【架构】私信给优知学院,立即秒收~
反正都划到这儿,点个赞呗~
反正都划到这儿,点个赞呗~