一个完美的架构师需要具有以下几特点:
知识广度:需要知道主流技术为什么诞生,能解决什么问题?如果同一种业务用不用的技术来实现,会有什么哪些优缺点?比如:流行的ORM框架Mybatis和hibernate,他们之间的优缺点是什么?要有清晰的认识会能在技术造型时做出正确的决定。
最后,如果大家如果在自学遇到困难,想找一个java的学习环境,可以加入我们的java学习圈
抽象能力:对业务和技术进行抽象。业务抽象就是对需求进行分析后,能够建立完美的实体类以及他们之间的联系。技术抽象是对整体架构进行一个分层, 层之间的交互。这至关重要,如果技术抽象能力不足,这会导致整个系统的架构不灵活,难以维护和扩展。
知识的深度:至少是某个领域的专家,比如消息队列,activeMQ熟悉其源码,知道其实现。
优秀的学习能力:对新的技术和前沿性的技术进行学习,使用它来解决工作中的业务问题。
一、阅读源码
深入的Java学习,经典源码阅读不可少:
常见的设计模式,编码必备
Spring5,做应用必不可少的最新框架
MyBatis,玩数据库必不可少的组件
二、分布式架构
随着业务越来越复杂,数据量越来越大,并发量越来越大,单体的架构模式显然再也无法对应,作为Java后端架构师,高并发+可用+海量数据的分布式架构体系,是必不可少的:
分布式架构原理
分布式架构策略
分布式中间件
分布式架构实战
三、微服务技术体系
服务分层,微服务架构是架构升级的必由之路,Java技术体系, 和微服务相关的技术有哪需要深入学习呢?
微服务框架
Spring Cloud
Docker与虚拟化
微服务架构
四、性能优化
作为后端Java技术专家,解决性能问题才真正体现一个架构师的功力。只有深入学习JVM底层原理,Mysq|底层优化以及Tomcat调优,做到知其然,知其所以然:
性能指标体系
JVM调优
Web调优
DB调优
五、典型业务实战
阅读完Java源码,学习完分布式与微服务架构体系,掌握了性能调优的方法,仅仅做一个ppt架构师怎么行?
户中心,单点登录怎么玩.
商品,店铺怎么玩
订单,支付怎么玩
通知,推送怎么玩
数据分析怎么玩
唯有通过实战,才能站上华山之巅。
掌握Java编程语言,包含io/nio/socket/multi threads/collection/concurrency等功能的使用;
熟练掌握jym (sun hotspot和ibm j9)内存模型、gc垃圾回收调优等技能;
精通JVM,JMM,MVC架构,熟练使用struts2。
熟练使用spring、struts、 ibatis构建应 用系统。
熟练使用Servlet,jsp, freemark等前端技术。
熟练使用axis搭建基于SOAP协议的WebService服务接口。
熟练使用MAVEN构建项目工程。
熟练使用tomcat等web服务。
熟练使用mysq|等关系型数据库,熟悉mysq|集群搭建。
熟练使用redis等NOSQL技术。
熟悉tcp、httpt协议。
熟悉nginx、haproxy等配置 。
熟悉javascript、ajax等技术。
熟悉主流分布式文件系统FastDFS等。
熟悉JMS,可熟练使用ActiveMQ。
底层计算机理解内存管理/数据挖掘系统
可靠性和可用性如何理解
jsp和sever lap对比
数据库到界面,字符集转化
基栈
jvm优化cup高的时候如果分析和监控
java curb突出细节问题
分布式缓存文档如何分流
迁移数据库垂直分割
高并发如何处理前端高并发应用层
LB设计load balance
负载均衡
防网络攻击
数据日志事件监控后通知
数据库事务实现的底层机制.
字符串空格输入的网络攻击
Quartz框架的底层原理
数据库同步中不通过数据库引|擎直接读日志等方式同步数据
网友评论