架构师训练营:第四周作业
《淘宝技术这十年》这本书我在大三的时候看过,当时看这本书是想了解淘宝是怎样发展起来的,对其中的架构演变用到的技术都不知道什么意思。只是惊叹淘宝架构越来越复杂,处理业务的能力越来越强。完全把那本书当做故事去看了。今天智慧老师通过自己的讲解再一次把这个过程讲了一遍,但是这次的侧重点是凡在了架构上,让原来读的那本书相结合有了更深的印象。
技术必须能解决实际问题,技术要变现才有意义。关注问题比关注答案更有价值。
老师通过讲解淘宝,宅米、维基百科、微博的架构的演变历程,强调架构的演变不是到了某一节阶段就必须使用相应的技术,而是要关注问题本身。已解决问题为根本目的,而不是为了使用某种专门的技术。一个网站的架构不一定要把所有的技术都用到,只要够用就好,例如维基百科,用到的都是一些很平常的技术,却是全球第六大访问量的网站。
压力产生动力
智慧老师说刚进入淘宝和大牛们谈论互联网技术,自己搭不上话,插不上嘴,觉得自己能力不行,甚至有点抑郁,于是学习了很多知识。这与我每次换工作进入新公司环境状况差不多,新环境人生地不熟,自己有偏内向,业务不熟悉,工作效率不高,刚入职确实感觉压力很大。但是在这种压力下却时刻没有忘记自己要学习。反而后来在公司混熟了后,有点老油条了,对自己要求也变低了。
总的来说,有时候自己主动去面对压力未必不是一件好事。
自驱动做事
自己主动找事情做,而不要等着被分配任务。
亡羊补牢,为时不晚。 有些时候需要先丢一只羊,事情才能引起重视,自己补得牢才能被关注。
作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
针对互联网系统面临的如下挑战说明
高并发、大流量
解决手段:提升系统的吞吐率,与访问速度。
技术方案:1、垂直伸缩(升级硬件,简单直接,价格昂贵)
2、水平伸缩(调整软件架构,复杂耗时,长久方案)
高可用
解决手段:系统冗余部署,负载均衡,自动熔断。
技术方案:微服务,集群化,数据库主从备份
海量数据
解决手段:提升数据库的存储能力,历史数据单独存储。
技术方案:数据库分库分表,数据库分片,冷热分离存储
用户分布广泛,网络情况复杂
解决手段:多地部署服务器,使用户能访问最近的服务器
技术方案:地理DNS , CDN ,反向代理
安全环境恶劣
解决手段:加强安全验证,使用加密协议
技术方案:登录验证码,短信验证码,https,OAUTH2机制,token验证等。
需求快速变更,发布频繁
解决手段:自动化发布测试,公用模块重用,敏捷过程
技术方案:CICD,devops,搭建中台,基础支撑平台,敏捷团队,敏捷开发。
渐进式发展
解决手段:充分思想准备,可扩展的架构,螺旋式开发
技术方案:领域驱动设计,灵活的架构设计,预留扩展点,提供备用方案。
评论