背景:
现状
-
物质生活:
从缺到多,从卖方市场到买方市场;已经在发生变化。 -
IT:
随着科技生活的发展,从最初的PC时代进入到互联网时代,一直到移动互联时代的今天;已经越来越贴近你我每一个人。 -
传统行业:
因应时代发展,传统制造业也急需赶上,从大规模生产到按需生产:也需要接受四面八方而来的小订单来适应市场要求。
传统软件开发工程
以中等规模项目为例说明:
瀑布模型 | NO | 阶段 | 人月 |
---|---|---|---|
1 | 需求分析 | 1 | |
2 | 概要设计 | 10 | |
3 | 详细设计 | 15 | |
4 | 编码 | 20 | |
5 | 单体测试 | 20 | |
6 | 结合测试 | 10 | |
7 | 综合测试 | 5 | |
8 | 产品交付 | 1 | |
9 | 运维 | 12 |
分析
除提供为期1年的技术支持外,从阶段1到阶段8,总共需要102人月。
如果以公司开发团队10人规模计算,就需要10.2个月才能交付整个产品。
痛点
- 1,依赖性强:靠后阶段严重依赖靠前阶段工程。
- 2,成本高:工程依赖链路长,时间跨度大。
- 3,应对需求变化差:阶段越靠后,需求变化带来的失败风险越高
- 4,环境差异大:开发环境与生产环境之间有差异:容易造成开发无故障,而生产环境有故障。
面对痛点:
- 1,如何摆脱这么强的依赖
- 2,如何应对需求变化
- 3,如何应对上线风险
- 4,如何快速迭代,打磨产品
催生需求:
为贴近你我而催生出来各式各样的产品,以目前互联网用户9亿为基础计算,传统架构已经越来越显得捉襟见肘;
高并发,高可用,高性能等要求,催生出Spring Cloud,VMare,Docker,K8S等方兴未艾的架构设计。
现如今:
人工智能,物联网IOT等先进理念也在发展之中。
假设你是公司经营者
因应现在所处时代,应该怎么干呢?
公司架构:
有两个事业部--基础事业部和业务事业部
公司主营产品:
A产品
发展年限:
10年
发展瓶颈在哪里:
- 1,发布新产品周期,以往以年计算:一年一次;怎样缩短发布周期?
- 2,客户到底需要什么样的产品,怎么做才符合需求?
- 3,传统销售渠道,链路较长,交货时间已经不能再缩短;直销是不是可行?
- 4,多年来积累的ERP数据,怎样才能挖掘其价值?
带着这些问题学习
试着采用5W1H方法学习架构
5W1H分析法
- 原因(WHY)
- 对象(WHAT)
- 地点(WHERE)
- 时间(WHEN)
- 人员(WHO)
- 方法(HOW)
5W11H | 现状如何 | 为什么 | 能否改善 | 该怎么改善 |
---|---|---|---|---|
对象 WHAT |
干什么 | 为什么干这种产品 | 是否可以干别的 | 到底应该干什么 |
目的 WHY |
什么目的 | 为什么是这种目的 | 有无别的目的 | 应该是什么目的 |
地点 WHERE |
在哪儿干 | 为什么在那儿干 | 是否在别处干 | 应该在那儿干 |
时间 WHEN |
何时干 | 为什么在那时干 | 能否其他时候干 | 应该什么时候干 |
人员 WHO |
谁来干 | 为什么那人干 | 是否由其他人干 | 应该由谁干 |
方法 HOW |
怎么干 | 为什么那么干 | 有无其他方法 | 应该怎么干 |
总体架构篇
大家关注的点,应该怎么学
从传统架构到微服务架构
在大厂是怎么落地的?微服务的推出是因为什么原因?
训练营讲过:在2008年的时候,百度内部微服务架构就已经达到3W的规模,那时就已经非常高大上,非常流行了。
但市面上的大部分企业还停留在单体架构中,稍好一点的是集群,再好一点的是分布式(固化类型)
整体架构篇
不会讲得特别特别细,主要讲由来:从单体架构到服务网格架构,它的整个由来是什么,为什么这么变迁?其背后的本质是在什么情节和场景下演变而来的?主要围绕这几个环节讲清楚。这样在应对面试官就游刃有余了,比如面试官问你:你的架构为什么这么设计?这样设计有什么好处?有没有其他架构可以替代?组件和组件间有什么好处,能解决什么问题,和其他中间件有什么差异性,其优越性在哪儿?但这些仅是中间件推广过程的东西,为什么这么设计不会讲,产生这样变迁其背后的原因是什么?
为什么08年的时候BAT已经开始用微服务架构了;
架构的缘由史:
在大规模后,从单体到微服务,已经到后来的服务治理
为什么需要变迁,其蕴含的缘由是什么?到底为什么这么设计?
节奏:每个小时休息10分钟
我们整体聚焦在架构的设计思想是什么?
带着问题去讲里面的内容
整个课题大纲应该怎样去学,学什么东西?一共11个章节,难点在什么地方?
每个章节应该注意什么东西,讲了什么东西?对你工作中有什么用途?你所注意到的重点和老师指出来的重点是否一致?
开始讲怎么去学,重点在什么地方?
第一章总结一个字:快
在大厂从少量的用户到不断吸收死粉,这样的大规模的体制中,它所处理用户数据越来越多,用户请求也越来越多;必然发生结构上的变化;也就是说你的架构设计也要发生变迁,变迁的过程中:其解决的一个主要问题就是快,处理更多的用户数据,处理更多的请求;解决业务的灵活性扩展,这个过程我们涉及到两类架构:一个是业务架构另一个是技术架构。
整个讲解过程中,不会讲业务架构;但在实战案例中会一点儿
网友评论