架构师之路:一个架构师需要掌握的知识技能

2023-05-16

Java团长  2017-04-15 21:30

没有设计的思想,你就不能成为一名架构师。架构师是一个能撸的了一手好代码,画的了一个漂亮的UML/原型,写的了一篇技术文档,更加能解决好项目关键技术的综合人才。架构师=前端工程师+后端程序员+系统分析师+关键技术解决+各种技术搭配+设计模式+部署调优+其他,可见架构师是多面手,在项目当中起到连接管理与项目成员的重要角色。因此,在通往大神级的架构师的道路上,你需要懂需求、设计、代码、部署、架构、服务器、运维、调优等等。

架构师之路:一个架构师需要掌握的知识技能

简单系统架构图

一个能担负起企业级应用的架构师,脑海里常出现的词会是这些:负载均衡、集群、分布式、高并发、高可用、易管理等等,粗略说来,应具备以下知识技能:

(1)数据层:重点在于集群方案的选择,比如MySQL集群,集群方案很多,需要选择符合业务的方案,比如多主,主备,读写分离等等,是否还需要做高可用,是用lvs,还是zookeeper,是否需要例如mycat类中间件来管理数据库或者做数据分片等等。

(2)服务层:时髦一点,选择dubbo,微服务让团队开发耦合度没有那么高,各自关心各自的模块,都以服务方式发布出去。传统一点用springmvc+restful,在我看来,对于并发不高的系统,没有必要用dubbo。缓存的选择,涉及到文件缓存、数据库缓存,可以用memcached、ehcache、redis。

(3)应用层:框架太多,ssh,ssm,jfinal等等,选择适合项目团队的框架;UI界面,h5很美观,但对于浏览器的兼容就把开发人员搞哭了,可以选择成熟的ext或者easyui。

(4)网络层:多数开发人员都不用涉及,能了解下f5之类的就好。

(5)部署:是否需要用docker来部署,开源docker容器让部署轻量化,很容易就可以扩展一个节点,对于高并发、伸缩性要求高的场景可以使用。docker的出现,完全可以实现一键部署。是否需要负载均衡,可以选择硬负载(就是前面说的f5),也可以用软负载(nginx)。软负载的方案简单一点可以是apache+tomcat,需要考虑session复制,复杂一点选择lvs+haproxy。打包发布,熟练使用maven,能建立自己的maven私服,能指导项目成员使用maven打包发布。

(6)安全:大多数安全在网络层就解决了,但应用的安全不容忽视,比如需要考虑SQL注入,授权认证,这些目前框架都能解决,重点的安全问题来自框架本身,大多数应用选择框架都是开源的,如果团队没有能力修复漏洞只能等更新。

(7)其它方面:测试(自动化测试),版本管理(git or svn),大数据(奇热无比),人工智能(高大上)等等。

有人问,架构师为什么还要写代码?我认为,需要一如既往的写,但写的目标不一样,理论水平和动手能力需要同时提高。深度方面,注重的设计思想和模式;广度方面,对于前沿技术,要不懈的追求和钻研,这样才能在未来技术架构选型做出合理的决策。

欢迎大家关注本人微信公众号,每日分享各种干货!

公众号名称:Java团长

微信号:aishangbianchengba

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

架构师之路:一个架构师需要掌握的知识技能 的相关文章

随机推荐

  • http请求的时候Header加 Authorization值实现方式

    http请求的时候Header加 Authorization值实现方式 REST接口采用 HTTP基本认证的验证方式 xff0c HTTP Header xff08 头 xff09 里加 Authorization 实现方法1 curl请求
  • Nvidia TX2 定制底板USB2.0无法使用解决方案

  • LiDAR 2 机械激光雷达

    实例分析Valeo SCALA I SICK LMS291 Velodyne HDL 64E Livox DJI MID 70几款激光雷达 xff0c 机械激光雷达特点是通过电动执行器带动镜面 xff0c 透镜或者机体旋转进行扫描 Vale
  • 百分比透明度与16进制透明度的对应关系

    转载请注明出处 xff1a From 李诗雨 http blog csdn net cjm2484836553 article details 78025443 不诗意的女程序猿不是好厨师 最近又是对老项目各种修改 xff0c 这期间经常要
  • LiDAR 3 MEMS激光雷达

    与传统机械雷达相比 xff0c MEMS Micro Electro Mechanical Systems 激光雷达使用微型的MEMS mirror反射光线 xff0c 用微机电执行器代替电机 xff0c 有些厂商也称MEMS激光雷达为固态
  • Docker在CentOS上硬盘使用被占满的问题(备忘)

    摘录至 https github com yeasy docker practice blob master image rm md centosrhel 的用户需要注意的事项 在CentOS上 xff0c 遇到过这个问题 没有细究过 正好
  • ZooKeeper集群安装后无法启动ZooKeeper JMX enabled by default

    ZooKeeper做三节点集群 xff0c 启动后报错如下 xff1a root 64 centos conf zkServer sh start ZooKeeper JMX enabled by default Using config
  • Simulink建模:一阶滤波模型

    本文研究一阶滤波算法的Simulink模型及其代码生成 文章目录 1 一阶滤波算法2 Simulink建模2 1 对公式的理解2 2 建模过程2 3 模型配置 3 模型更新及代码生成3 1 模型更新3 2 代码生成 4 总结 1 一阶滤波算
  • CubeMX配置:FreeRTOS及串口配置

    本文通过CubeMX配置F103RCT6的FreeRTOS和串口 文章目录 1 引入2 配置过程2 1 配置时钟过程2 2 配置FreeRTOS过程2 3 配置串口过程 3 生成工程代码4 测试串口5 总结 1 引入 拿到一个STM32控制
  • Simulink建模:PID控制-串级PID

    本文研究串级PID控制的概念 应用场景以及Simulink模型实现 文章目录 1 问题引入2 串级PID控制3 Simulink建模3 1 建模前的理解3 2 建模过程3 3 代码生成 4 总结 1 问题引入 在之前的博客 Simulink
  • ROS导航中 的位姿描述

    转载出处 xff1a http blog csdn net u013453604 article details 47320237 补充 xff1a turtlebot包如果没有安装成功或者文件夹做了改动运行不起来需要重装就需要uninst
  • Git托管:将本地项目代码上传(push)到自己的Git repository

    首先下载并安装git版本控制软件 xff0c 我安装的是Git 1 9 2 preview20140411 xff0c 这里是我上传的有需要的可以download然后安装即可 http download csdn net detail u0
  • strstr函数用法小结

    strstr 函数原型 xff1a char strstr char str1 char str2 功能就是找出在字符串str1中第一次出项字符串str2的位置 也就是说字符串sr1中要包含有字符串str2 xff0c 找到就返回该字符串位
  • WebSphere宕机问题解决方法总结

    Websphere参数调整 涉及性能的参数 xff1a 1 数据源连接池连接数 2 线程池 xff1a default 参数 ORB THREAD POOL参数 Webcontainer 参数 3 jvm 堆最大最小值 xff0c 线程池调
  • 使用GreenDao存储list集合数据

    转载请注明出处 xff1a From李诗雨 http blog csdn net cjm2484836553 article details 78279493 不诗意的女程序猿不是好厨师 点击下载Demo源代码 xff1a 源码 不知道为什
  • catkin简析

    题记 xff1a 转载一篇catkin总结不错的原创 xff1a http blog csdn net zyh821351004 article details 50388429 catkin简析 catkin 编译支持传入cmake的宏定
  • Package name is not valid解决

    刚刚新建项目 xff0c 将com打成con xff0c 提示 Package name is not valid xff0c 在eclipse中有些单词不能命名
  • 路由器与交换机

    在工作中 xff0c 不管是办公上网还是设备调试 xff0c 经常都会用到路由器与交换机 xff0c 那他们二者的区别是什么呢 xff1f 笔者之前也没太搞明白 恰好出差周末闲来无事 xff0c 特来梳理一下并共享 xff0c 希望对那些跟
  • 用数据驱动思想来设计游戏

    游戏由两部分组成 xff0c 逻辑和数据 这是一种对游戏的有效划分 逻辑部分定义游戏引擎的核心原则和算法 xff0c 数据部分则提供其内容 和行为的具体细节 在最初的游戏开发的过程中 xff0c 大家总是喜欢将逻辑和数据都写入代码中 xff
  • 架构师之路:一个架构师需要掌握的知识技能

    Java团长 2017 04 15 21 30 没有设计的思想 xff0c 你就不能成为一名架构师 架构师是一个能撸的了一手好代码 xff0c 画的了一个漂亮的UML 原型 xff0c 写的了一篇技术文档 xff0c 更加能解决好项目关键技