阿里毕玄:你是主流架构师吗

简介: 之前写《回顾过去看应用PaaS的Next》那篇里提到了好几种架构,更多的还是自己所经历的,最近和一些人聊天,突然间发现一个可怕的事实是,现在的自己可能没在做主流架构了,那么在我们聊天YY里我们认为的主流架构是什么呢,这篇文章就来写写这个。

作者:毕玄   
文章来源:微信公众号HelloJava

之前写《回顾过去看应用PaaS的Next》那篇里提到了好几种架构,更多的还是自己所经历的,最近和一些人聊天,突然间发现一个可怕的事实是,现在的自己可能没在做主流架构了,那么在我们聊天YY里我们认为的主流架构是什么呢,这篇文章就来写写这个。

一家大公司演进的架构,一定程度上会代表主流架构的演进方向,但同时也不一定,原因是大公司很多时候之所以进行架构级的演进,是因为规模带来的伸缩性、成本的问题,而这些说实话对于多数公司而言还不至于,毕竟一个版本的架构能支撑到的规模通常是不小的。

回到正题,来YY下大多数企业的主流架构,如果不在以下范畴的欢迎回复打脸,:)

我们以通常一家公司的软件来看,最初做软件主要更多的是为了信息化,固定流程,串接起运转,这类型的系统呢多数不会太复杂,多数采用类似的单体式的应用架构就可以了,我觉得这类型的架构师还是有很大诉求的,不过我会更觉得对这类架构师更主要的诉求是在对业务的理解上而非技术上。
image.png

基本是发展了一段时间后,一家公司里就会出现好多个软件,这些软件彼此独立,但后来会发现如果能互通起来对效率会有很大帮助,所以就又会向前演进下通过API等方式来实现互通,这个时候对架构师的要求会有些提升,因为引入了分布式,尤其是当这种场景下出现了一些问题的时候,就比之前单体式的架构会复杂很多。
image.png

多数公司里的软件估计就这样的结构就可以运行很长时间,后来可能会触碰到一些新的问题,例如发现几个软件里都有一些相同的数据但不同的数据存储结构,类似的业务逻辑,相同数据到处重复,一方面影响效率,另一方面更麻烦的是数据一致很难保证,这个对公司的业务可能会产生一些影响,这个时候有些公司就会产生动力,去把系统架构演进到现在非常流行的“中台”模式。
image.png

“中台”呢,和前面的几种架构很大的不同是,它不仅仅是技术层面的,还有组织层面的,因为“中台”意味着一些数据、业务的逻辑要收归到统一的几个团队,而其他团队是在这之上去构建业务系统的,这个对很多公司而言推进不是一件什么容易的事。

到了这个阶段呢,对架构师的要求就大幅上升了,怎么更好的抽象出共同的“中台”,去满足上面多种多样业务系统的诉求,老系统的数据、业务逻辑如何迁移,都不是容易的事。

随着大数据,AI的起来,更多的公司也开始尝试借助这两方面的技术来改进业务系统,创造业务价值,很多公司会发现原来如果一些数字数对了,将能对业务效率等带来很大的帮助,同时也会进一步发现有了这些数据后,再结合智能能给业务玩法带来一些变化,但落地时就会发现无论是大数据,还是AI,前提都是有数据,并且能集中统一,这种情况下就会发现前面的“中台"模式是个挺大的前提(想想数据都四处分散,格式各种各样,还不一致,这让大数据,AI怎么玩)。

而随着云起来并且成为了现在大众都能接受的东西后,上面的系统架构设计其实发生了一个挺大的改变,架构师们开始要逐步的改变为结合云产品来合理设计自己的业务系统,这种我才认为是真正的Cloud Native架构,以一张著名的也是最典型的Cloud Native架构鼻祖Netflix的架构图举例:
image.png

图片来源于:http://blog.programmableweb.com/wp-content/netflix-systems-cloud-api.png

上面说到的除了单体式架构不太需要一些复杂的技术组件/框架外,其他都有这个诉求,在云之前要么基于开源,要么自研,而在云时代,这个则可以变成用云产品(当然,这也是一个权衡选择,但大趋势上我相信是越来越多的用云产品),所以对于这种场景下的架构师们而言,对云产品的熟练掌握,并结合云产品的能力来设计业务系统,就成为了新的挑战,云冲击到了上面除了单体式架构的上有场景,所以我认为现在开始以及未来五年内的主流架构师都会是非常擅长结合云产品能力来设计业务系统的一帮,这也是为什么我说觉得自己越来越不是主流架构师了,对于多数基于自研为主的架构师而言都将面临这个问题,当然,这个转变的难度不会那么的大,但需要有这个主动的意识和实际的尝试,避免到了某一天量变引发质变。

以我的YY来说,我认为大多数企业之所以有动力去改进现有系统,或做全新的系统,多数的动力都来源于效率,通过新的系统来大幅提升企业的运转效率,服务客户的效率等,这显然和很多大公司的架构演进是完全不一样的,当然,有可能在架构上大家是同样的,例如分布式架构等,但诉求不一样其实就决定了在架构设计时要关注的点的巨大不同,也非常希望有同学能回复说说你的case,你所做的系统为什么会重构、为什么会重新做一套呢,诉求是什么?

相关文章
|
2月前
|
存储 前端开发 架构师
阿里资深架构师带你深入浅出JVM!
JVM = 类加载器(classloader) + 执行引擎(execution engine) + 运行时数据区域(runtime data area)
40 1
|
3月前
|
安全 Java 应用服务中间件
阿里技术官架构使用总结:Spring+MyBatis源码+Tomcat架构解析等
分享Java技术文以及学习经验也有一段时间了,实际上作为程序员,我们都清楚学习的重要性,毕竟时代在发展,互联网之下,稍有一些落后可能就会被淘汰掉,因此我们需要不断去审视自己,通过学习来让自己得到相应的提升。
|
4月前
|
网络协议 Java 关系型数据库
年薪50W阿里P7架构师必备知识:并发+JVM+多线程+Netty+MySQL
线程基础、线程之间的共享和协作一 线程基础、线程之间的共享和协作二 线程的并发工具类 线程的并发工具类、原子操作CAS 显式锁和AQS一 显式锁和AQS二 并发容器一 并发容器二 并发容器三、线程池一 线程池二、并发安全一
|
4月前
|
架构师 安全 前端开发
阿里P9架构师推荐的Spring领域巅峰之作,颠覆了我对Spring的认知
你第一次接触spring框架是在什么时候?相信很多人和我一样,第一次了解spring都不是做项目的时候用到,而是在网上看到或者是听到过一个叫做spring的框架,这个框架号称完爆之前的structs和structs2,吸引了不少人的注意。
|
4月前
|
缓存 架构师 Java
入职阿里巴巴,成为年薪百万阿里P7高级架构师需要必备哪些技术栈
大家都知道,阿里P7高级技术专家,基本上是一线技术人能达到的最高职级,也是很多程序员追求的目标。达到 年入百万的P7 Java高级架构师级别,不仅要具备优秀的编程能力和系统设计能力,在技术视野和业务洞察力方面,也要有很深的积淀。
|
2月前
|
架构师 Java API
阿里P7架构师带你深入剖析synchronized的实现原理
显示锁ReentrantLock的内部同步依赖于AQS(AbstractQueuedSynchronizer),因此,分析ReentrantLock必然涉及AQS。
19 1
|
2月前
|
XML Java 数据库连接
阿里P7架构师带你修炼MyBatis
我们通过一个简单的权限控制需求(RABC,Role-Based Access Control,基于角色的访问控制),来讲解通过XML方式配置MyBatis的基本用法(即select、update、insert、delete等操作的XML配置方式)。
32 0
|
2月前
|
存储 监控 安全
阿里云云通信短信服务安全之安全架构
阿里云云通信长期致力于通过多种渠道向客户透明服务相关情况。客户一般可通过阿里云官网提出对阿里云云通信相关资质、服务使用情况、产品说明等信息,我们将7*24小时不间断处理您的建议与咨询。对于客户合理的要求,阿里云云通信服务团队均会及时响应客户的需求。同时,阿里云云通信也在探索更多增加透明度的方式,如对公邮箱、线上查询接口、钉钉服务客户群等。
|
3月前
|
消息中间件 人工智能 Java
面试了一个前阿里P7,Java八股文与架构核心知识简直背得炉火纯青
前几天,跟个老朋友吃饭,他最近想跳槽去大厂,觉得压力很大,问我能不能分享些所谓的经验套路。 每次有这类请求,都觉得有些有趣,不知道你发现没有大家身边真的有很多人不知道怎么面试,也不知道怎么准备面试,哪怕是一些工龄比较长的“老开发”: 有的人明知道有些问题肯定会被问,面试前还不好好准备,结果要么回答得模棱两可,要么答非所问; 有的人则是不知道怎么包装自己的项目经历,结果明明还不错的项目却看上去平平无奇,过后就被面试官忘了; 更有甚者,简历写得花里胡哨,结果一问三不知,简历和经历完全对不上。
|
3月前
|
机器学习/深度学习 架构师 Java
面试阿里P6,过关斩将直通2面,结果3面找了个架构师来吊打我?
人人都有大厂梦,对于程序员来说,BAT为首的一线互联网公司肯定是自己的心仪对象,毕竟能到这些大厂工作,不仅薪资高待遇好,而且能力技术都能够得到提升,最关键的是还能够给自己镀上一层金,让人瞻仰。