写点什么

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

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

    阅读完需:约 6 分钟

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

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


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


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


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


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

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

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

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


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


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


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


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


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


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


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


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


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


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

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

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

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


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


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



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


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


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

我是谁?

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


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


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


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


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


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


2019-04-18 10:2012532

评论 2 条评论

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

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

如何在lua中设置计时器

linux大本营

lua 协程 Coroutine 计时器

Reactive响应式编程系列:解密Lettuce如何实现响应式

大步流星

Reactive lettuce 响应式编程系列 Lettuce如何实现响应式 Redis响应式

在OpenHarmony 开发者大会2023,听见百业同鸣

脑极体

鸿蒙

挑战 30 天学完 Python:Day12 模块Module

MegaQi

挑战30天学完Python 三周年连更

让GPT学会使用工具,拓展技能

蔡超

GPT ChatGPT LLM GPT-4 #LangChain

linux脚本定义一个二维数组

linux大本营

Linux 脚本 二维数组

什么是前端开发领域的 Cumulative Layout Shift 问题

汪子熙

前端开发 angular web开发 web开发基础 三周年连更

dbtemplate 是什么

weigeonlyyou

mybatis ORM 嵌入式应用 API Gateway 嵌入式设备

面对当下火爆的AIGC,我们可以做些什么? | 社区征文

AXYZdong

三周年征文

音视频八股文(3)--ffmpeg常见命令(2)

福大大架构师每日一题

音视频 ffmpeg

dpdk l2fwd需要配置哪些参数

linux大本营

DPDK

Android WebView使用与JS交互

松柏不怕雪

webview js java; Android; JS Bridge

Java 把 Map 的值(Value)转换为 Array, List 或 Set

HoneyMoose

Spring 的 IoC(控制反转)

HoneyMoose

Mysql主从复制

乌龟哥哥

三周年连更

寻找工作中焦虑的源头——系统思考实践

Bruce Talk

系统性思考

一文带你看通透,MySQL事务ACID四大特性实现原理

架构精进之路

MySQL 数据库 后端 事务 三周年连更

我的开源项目与开源经历分享

秦少卫

GitHub 开源 前端 Fabric.js 图片编辑器

时间管理:不要让时间偷走你的饼干

蔡农曰

程序员 生活 时间管理

企业微信接入系列-上传临时素材

六月的雨在InfoQ

企业微信 三周年连更 企业微信接入 上传临时素材

2022-04-22:给你两个正整数数组 nums 和 target ,两个数组长度相等。 在一次操作中,你可以选择两个 不同 的下标 i 和 j , 其中 0 <= i, j < nums.leng

福大大架构师每日一题

Go 算法 rust

Django笔记十四之统计总数、最新纪录和空值判断等功能

Hunter熊

Python django like contains startwith

测试CLIP zero-shot learning | 深度学习

AIWeker

深度学习 多模态 CLIP 三周年连更

为什么要理解OpenAI和GPT-4?LexFridman谈对话Sam Altman开场白

B Impact

职场进阶必须拥有的4种能力,你掌握了吗?

Jack

深度学习基础入门篇[六(1)]:模型调优:注意力机制[多头注意力、自注意力],正则化【L1、L2,Dropout,Drop Connect】等

汀丶人工智能

人工智能 机器学习 深度学习 正则化 注意力机制

深度学习基础入门篇[七]:常用归一化算法、层次归一化算法、归一化和标准化区别于联系、应用案例场景分析。

汀丶人工智能

人工智能 机器学习 深度学习 归一化算法

如何使用 go-micro 写微服务应用

宇宙之一粟

Go 微服务 三周年连更

ubuntu安装x11 forword,并做好配置

linux大本营

Linux ubuntu

我的Gopher成长之路

闫同学

三周年连更

iOS MachineLearning 系列(3)—— 静态图像分析之区域识别

珲少

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