hooyes

我眼中的Java架构师

|2020-05-20

请尊重原创,本文原文地址:https://hooyes.net/p/java-architect

架构师确实是个神奇的职位,在小公司,你可能什么都需要做,使用前端到后端各种技术,这时常被人称为全栈工程师,我倒觉得“全干工程师”更贴切。

在大厂,你可能只负责某个平台的架构或中间件的架构,这时候就是指某一类的架构师。

作为一名对标阿里P7的架构师,我眼中的Java架构师是什么样的呢?

技术能力

技术能力,毋庸置疑肯定是最重要的。没有技术能力就没有架构能力。你需要知道所有主流技术的基本原理、应用场景,及快速解决问题的能力。

所以,架构师必须要有见识,所需知识面肯定是要不断拓展的。你需要清楚在什么样的场景用什么样的技术比较合适,并知道可能存在什么样的风险。需求来了,你脑子一片空白,不知道用什么技术实现这事多可怕。

那技术能力有哪些呢?

代码能力

写代码,读代码,分析代码,这是基本能力。

掌握设计模式

Singleton 单例,Factory 工厂,Proxy 代理,Deletgate 委托,Strategy 策略,Prototype 原型。

熟悉Spring框架

IOC 设计原理,AOP 设计原理,事务处理机制,FactoryBean,MVC 框架,ORM 框架。

并发编程

原子操作,线程通信,消息传递,同步异步,锁,线程池,volatile实现机制。

性能优化

性能基准和衡量,JVM调优,GC。真正理解什么是性能优化,为什么要性能优化?

开发工具

Maven 管理项目、Git 管理源代码、Jenkins 自动布署。

https://hooyes.net/p/java-architect
https://hooyes.net/p/java-architect

架构能力

这个可以表现为抽象能力、整体规划能力、及设计能力。你需要照在业务的角度进行系统分解、技术选型、架构搭建,以及规范制定。架构出来了至少可以满足近几年的发展,或者可以很方便对现有架构进行扩容。

不理解业务你如何进行系统分解,服务划分,及根据不同业务作出不同的架构?

技术都是为业务服务的,不站在业务的角度设计架构,那架构就是空谈。

分布式架构

分布式架构原理,CDN原理。

分布式架构策略,Zookeeper/Dubbo 应用。

分布式中间件,Redis主从复制原理、AOF、RDB,分布式消息通信 ActiveMQ、RabbitMQ、Kafka。

MongoDB企业级集群,数据分片,转存及恢复策略。

Nginx 反向代理及负载均衡。

微服务架构

微框架与微服务,Spring Cloud,Spring Boot,Docker,Kubernetes。

沟通能力

这个看起来不是最重要的,其实也非常重要。作为一个优秀的架构师,你需要清楚的知道客户的需求,需要不断和需求人员进行沟通,以达到客户真正的目的。

实战能力

项目实战这个很重要,也不用多说,

用户认证、第三方登录、购物车、订单、库存管理、客户管理、数据分析等等。

没有实战经验和成果,如何实义优秀?

$ welcome to hooyes.net
[INFO] ------------------------------o-
[INFO] Author : HOOYES
[INFO] Site : https://hooyes.net
[INFO] Page : https://hooyes.net/p/java-architect
[INFO] Last build : 2020-06-22 02:23:21 +0000
[INFO] -0------------------------------
原文地址:https://hooyes.net/p/java-architect
原文地址:https://hooyes.net/p/java-architect

...

Content
...
TOP