写点什么

七牛云 CEO 许式伟:首次完整架构经验分享

  • 2019-04-18
  • 本文字数:1788 字

    阅读完需:约 6 分钟

七牛云 CEO 许式伟:首次完整架构经验分享

对工作多年的程序员而言,日后的职业发展无非是专精技术,转型管理,晋升架构师三种选择。成为一名优秀的架构师,是大多数技术人的追求。


想要做架构,空有一身技术是远远不够的,知识的深度和广度,会决定一个架构师的架构能力。而这些知识,从你踏入 IT 行业那一刻起,甚至更早就应该开始储备了。


我见过很多人,做了 7、8 年程序员,仍然停留在「码农」的阶段,平时工作节奏太快,很难有机会系统学习架构,也没人教,只能闷头敲代码,越来越被动。


而一旦你拥有「架构思维」,胸中自有大局观,对职业发展、职场晋升都会起到巨大的作用:


  • 提升自己在组织内部的话语权,获得领导的赏识,客户的青睐;

  • 快速掌握新知识,避免陷入频繁加班的恶性循环,获得更多发展机会;

  • 透过问题看本质,了解代码之下更深层次的机制,不仅能快速完成方案,且条理清晰,重点突出;

  • 制定符合用户需求且可扩展的商业计划,从而牢牢地控制企业生命线;


所以,无论你是否已经是团队里的架构师,对任何一位程序员来说,具备架构思维都会成为让你脱颖而出的关键。


但据我在工作中的观察,很多人对「架构」的理解,还停留在产品经理出需求,架构师依据产品设计给出实现,也就是所谓的架构设计方案这一阶段。


在我看来,这其实是个误解。架构关乎整个工程,以及实现它的人,又因团队的能力而异。


同时,架构也关乎用户需求,作为架构师,我们不仅要知道当前的用户需求是什么,还要对需求未来可能会出现的变化做出合理预判。


所以,想要成长为优秀的软件架构师,关键在于四个字:掌控全局。


掌控全局,就是要对系统的全貌了然于胸,在自己心中重新构建出整个世界。而不是一上来就沉浸在某个技术的实现细节中,除非它影响了你对这个世界构建过程的理解。


当你了解了世界的脉络和骨骼,你的感觉将完全不同,因为,你已经成为了世界的构建者。


而架构的本质,不正是构建和创造么?


作为一个技术人,我接触过的与架构相关的图书,大概有这么几类:


  • 架构思维类。通常从一些著名的架构理论讲起,比如开闭原则、单一职责原则等等。其弊端在于过度理论化,而计算机科学归根到底属于工程技术类,应该实践第一。

  • 设计模式类。这类一般上来就进入架构的局部细节,每个模式的来龙去脉并不容易理解。就算理解了某个具体的模式,也很难真正做到活学活用。

  • 分布式系统架构设计类。通常从服务端的通用问题如一致性、高可用、高并发挑战等话题讲起,阐述大型业务系统面临的挑战。这些知识虽然非常有价值,但无法延伸至通用业务架构,对大部分企业的架构实践不具备真正的指导意义。

  • 重构类。主要讲如何如何改进代码,其实是最实用的一类。但在我看来,一个模块最初的地基是最重要的,基本决定了这座大厦能够撑多久,而重构更多侧重于大厦建成之后,在服务于人的前提下怎么去修修补补,延长生命。


这些架构类图书并没有达到我个人的期望,在我看来,它们都没有揭开架构设计的全貌。


所以一直以来,我就心存这样一个念头:“写一本不一样的架构书”。这个念想,正是今天这个专栏的由来,它和你现在能看得到的大部分架构书都不太一样。



在专栏中,我会通过理解软件架构的宏观视角,从零开始构建出整个信息世界,在这个过程中,去阐述架构思维范式,以及这些范式在日常工程实践中应用。


在内容设计上,我希望这是一个门槛最低的架构设计专栏,不仅帮到想成为架构师的初学者,还可以让已经成为架构师的技术人规避一些错误的经验。


在行文上,我会尽量避免深奥的术语,以通俗易懂的文字描述信息世界构建者们的所思所想。

我是谁?

我是许式伟,七牛云 CEO,ECUG 社区发起人,一个开源爱好者。曾就职于金山、盛大,在搜索和分布式存储相关技术领域有十几年的研发经验。


在金山,我以首席架构师的身份主导了 WPS Office 2005 的架构设计和开发。在创立金山实验室后,作为技术总监主导了分布式存储开发。后来,我加入了盛大创新院,推出了“盛大网盘”和“盛大云”。


这些年,扛过国产软件研发的大旗,忍受过在 Office 和盗版夹击下的艰难求生,经历过公司转型和个人转型交织的洗礼,在 2011 年,我成为一名创业者,建立了七牛,专注企业级存储服务。


在我目前的职业生涯中,前后大概做过十几次架构类的演讲,但这些零星的演讲,对于传递架构设计思维来说,远远不够。


这个专栏,是我第一次完整、系统地分享我的架构经验和思考,我会将我近 20 年的经验毫无保留的分享给你,让你一定能够学有所得。


内容选自《许式伟的架构课》


2019-04-18 10:2012572

评论 2 条评论

发布
用户头像
以为自己是架构师,却没有弄清楚架构和设计的区别。
2019-04-23 17:01
回复
用户头像
《许式伟的架构课》上线仅 3 天,订阅就已突破 1 W,限时优惠 ¥99,5天后恢复原价 ¥129。

【彩蛋】
订阅专栏后,添加专栏运营微信 dididisco ,回复关键词「老许」,可领取「精选111本架构师文集」。
2019-04-19 14:10
回复
没有更多了
发现更多内容

Maven相关知识点整理,java基础语法的格式

Java 程序员 后端

MyBatis的jdbcType和javaType详解,spring框架入门教程

Java 程序员 后端

MyBatis详解(二)(1),轻松拿到了阿里Java高级开发工程师的offer

Java 程序员 后端

Linux系统:第十一章:常用命令,华为java面试面经

Java 程序员 后端

MyBatis详解:spring和mybatis整合,linux视频格式转换

Java 程序员 后端

KubeVela + KEDA:为应用带来,kafka入门

Java 程序员 后端

Linux内核结构组成之进程调度,java开发直播系统相关教程

Java 程序员 后端

markdown编辑器的使用教程,Java成长路线图

Java 程序员 后端

mybatis-plus使用教程,java面试题基础篇

Java 程序员 后端

Kubernetes官方java客户端之七:patch操作,深入浅出Java

Java 程序员 后端

Linux系统:第十章:服务器环境搭建,附Java面经

Java 程序员 后端

Mybatis学习笔记--Mybatis实现CRUD,springboot注解面试题

Java 程序员 后端

mybatis常用注解(绝对经典),java程序设计教程张延军课后答案

Java 程序员 后端

mybatis开发要点-insert主键ID获取和多参数传递,mybatis原理详解

Java 程序员 后端

Kubernetes官方java客户端之八:fluent style,mysql入门视频教程

Java 程序员 后端

Kubernetes教程之新手安装必看(快速浏览少走弯路),java集合详解和集合面试题目

Java 程序员 后端

MongoDB :第六章:Java程序操作MongoDB,mysql复合索引面试题

Java 程序员 后端

mybatis-plus代码生成器,一键生成代码,springcloud教程百度云

Java 程序员 后端

Mybatis一二级缓存实现原理与使用指南,java后端技术梳理

Java 程序员 后端

MyBatis详解(一),实战java高并发程序设计

Java 程序员 后端

kubernetes下的jenkins如何设置maven,java异步请求原理

Java 程序员 后端

linux安装oracle XE,详解Java架构进阶面试题

Java 程序员 后端

Mybatis Generator最完整配置详解,Java面试

Java 程序员 后端

MyBatis详解(二),java开发岗高频面试题全解析祖国的花朵

Java 程序员 后端

Linux云服务器搭建SFTP服务器图片服务器,java线程原理

Java 程序员 后端

Log4j使用指南,java入门视频教程

Java 程序员 后端

Maven的核心概念,java面试高频知识点

Java 程序员 后端

Myabtis源码分析六-代理对象Mapper的创建流程分析,死锁全详解,一文带你搞定

Java 程序员 后端

Mybatis 传参的各种姿势,看这一篇就足够,java使用教程下载

Java 程序员 后端

Linux上安装Mycat和配置连接MySQL 8,三年经验月薪50k我是怎么做到的

Java 程序员 后端

MyBatis(四):参数处理器,linux运维架构师

Java 程序员 后端

七牛云 CEO 许式伟:首次完整架构经验分享_架构_许式伟_InfoQ精选文章