大型网站架构之我见


前言

我写这篇博客的真正原因是我最近在研究秒杀系统的技术,以及最近机缘巧合下拜读李智慧教授的《大型网站技术架构:核心原理与案件分析》,我认为可以写一篇简单的读后感博客让那些根本没有基础的人来比较直白直观地认识当今大型网站架构的有趣。这也许能打开你对于做一个架构师的向往,反正对我来说我的目标就是一个架构师(博主并不是一个架构师,只是一个初入web开发的小白,我在做的可能是我很喜欢的一个词:颅内训练吧)


提示:以下是本篇文章正文内容,下面案例可供参考

一、读本推荐

在前言中,我说到了这本书《大型网站技术架构:核心原理与案件分析》
书
我首先想讲一讲李智慧这个人,在阿里人称教授,参与过阿里巴巴许多网站的架构,现在任职宅米网CTO,我对于“教授”的认识并不是很深,之前也没有了解过他这个人,可是当读到他的书的时候我便被他这风趣朴素的语言给吸引了,他的书十分有趣不枯燥,对于一些技术类图书我看完几页就不愿细读下去,一个主要原因就是语言过于枯燥,而本书绝对给你一个不一样的体验,他会给你一种共同感,对于生活中出现过的十分常见的问题进行分析,再深入讲解,我十分喜欢“教授”的读书写书方式,遇到无法理解的知识点直接跳过,不必冥思苦想说不定在之后就有准确的解答。这本书是本不可多得的好书,我推荐所有感兴趣或者在这条路走的人都可以读一读,他不枯燥而且有用,如咖啡一般醇厚(可能java就是一杯咖啡吧)。java


二、自我所见

1.书本内容

相信大家都学过或者见过这行代码:

System.out.println("Hello World");

这行是每个java初学者都见过的代码,基本大部分语言的入门都会教导你如何输出Hello World,如此简单的一行代码我却觉得他是所有行业的学习模式,这句话我换成中国话来说,不就是开眼看世界吗,初读这本书我便感觉眼前不仅仅是本书而是世界,Hello world。

1.第一部分(初入技术)

这本书大概的流程是这样的,首先介绍大型网站的技术,这是个笼统的过程作者似乎也并不在意细节描写,我觉得这部分用书中的一张图就可以十分好的解释。作者是这么认为的,不要为了技术而技术,符合当前业务是十分关键的,没有业务技术再先进也无法解决问题,12306就是一个十分好的例子,这部分并不需要太关注,技术是异步一步一步学习的,以我现在的知识也无法解释地十分清楚,欲速则不达如果靠技术就能做一个好的架构师,n那么架构师也就并不稀奇了吧,想做好架构师,技术和业务都是必须的!技术

2.第二部分(技术概括)

作者从当前大型网站架构的几个角度来讲,高性能、高可用、伸缩性、扩展性,安全性,从各个角度的不同方面将,从网站的架构到数据、数据库的架构到一些代码业务数据结构等等方面来讲,我在这我无法讲的十分深入因为其中的大多技术我认为我无法或者没有资格给大家讲述,具体的我认为大家可以自己去看书来获得,教授写的接地气却又不失深度,我从我这角度来写写我对于各部分的核心技术理解。
首先高性能架构我认为这十分好理解,高性能就是让处理速度更快,响应速度更快,相信学过数据结构的同学肯定知道时间复杂度空间复杂度,我认为有一些异曲同工之妙,毕竟数据结构也是一个优化性能的选择,通过一些手段,如CDN,反向代理等许多技术能让网站性能优化,毕竟客户体验是最重要的,假如一个taobao店铺打开需要10s又有谁会去taobao买东西呢,毕竟很多人很喜欢筛选。速度,加载,反应等很多很多因素,高性能优化我认为是锦上添花,能让大型网站更加符合用户体验。
刚刚说到了锦上添花,那么我认为高可用就是基石,一个网站的不可用率很大,那么用户体验就是极差的,假如别人正在正常聊天视频,就你自己不行那么肯定有一种被喂x的感觉,那是十分糟糕的,解决网站的高可用确实需要大量功夫,当今的数据备份技术以及自动化的测试监控确实省去了不小的功夫,不过一个网站也还是会因为很多因素,如Bug,数据库毁坏,接口松了,地震,海啸等等,导致网站不可用,那么公司需要付出的人力物力都是十分巨大的。
伸缩性架构我认为的核心是集群,书中用我们熟知的强东哥举例子,某东在2011年有个书籍促销,可惜在第一天服务器就崩了,东哥马上发微博,明天增加一天增加了十台服务器,可是第二天又崩了,信息部的同志马上被叫过去喝茶,那可能是在某东喝的最难喝的茶了吧,那么说明在当时京东的伸缩性架构是十分差的,他在增加服务器的时候并没有很好地解决问题,现在的京东就没这些问题,他们出色的完成了伸缩性架构的任务。当一个网站要开始缩了亦可能代表他们快玩完了。
可扩展架构,代表着低耦合,这点和spring中的ioc容器解耦思想相同,他们之间相关性很小,这样当更改起来更加方便。可扩展性低的系统会让开发人员可能心中一万头马跑过,更改的时间是大量的极其烦的。
安全性是网站无时无刻面对的挑战,我很喜欢一部电影,我是谁,没有绝对安全的系统,确实如今网站没有真正意义上的安全,唯有靠安全人事不断不断的防护着这些潜在的威胁。

3.第三部分(案例)

书中列举了几个大型网站的架构发展史,例如淘宝,维基,秒杀系统。。。。。。通过这些例子对之前的知识可以有一个很好地理解,同时跟随作者的讲述,让我们觉得高高在上的淘宝秒杀并不遥远,这一部分让人更加深入地理解而且十分有趣,作者以自己的知识给我们打开了一个有趣高深的架构之门。

3.第四部分(架构师之道)

作者把如何做一个架构师与架构师的分类放到最后将,我认为这也是他写的最好或者最深有体会的一部分,作者“教授”本人作为最好的架构师之一,他将怎么算是一个很好的架构师说的很好,他将不同的架构师进行分类,用有趣的语言描述了不同的架构师的样子,我认为这不仅仅是架构师之道,作者可能还传到了一种做人之道吧,这部分我无法解释,因为每个人眼中的“三国”就是一部三国,各有个人的体会吧。


2.业务VS技术

作者在书中不下几次的谈到了技术只是技术,在平时开发确实需要对阵下药,比如平时客户可能只要一个40人员工管理系统并且不需要扩展,有人追求技术的极致,来了个40个人40个服务器搞成一个集群,好一个分布式服务一个只有40条数据的表,分表读写分离,这些技术确实牛X但是想想这个是不是过于“谨慎”呢?所以作者告诉大家具体业务具体分析,没有业务技术再牛也没用了。我在上面其实有一处没讲,那就是渐进式发展,别妄想一开始画大蓝图,淘宝也是从LAMP(Liunx+Apache+mysql+PHP)发展到现在的,想要创建一个好的网站也是一步又一步,这样高性能,高可用,伸缩性,可扩展的网站也一步一步的建成了。


悟道(未来之我见)

这本书我推荐大家一定要看看,他是打开新世界的一道门,从技术到做人,架构就是如此,《大型网站技术架构:核心原理与案件分析》绝对能给你带来不一样的眼界,无论你是架构师还是成为架构师或是其他的一些从业人员,学生你在里面能得到升华,技术业务架构师全面了解,全面的“Hello world”。最后送给大家依一句共勉的话:
路漫漫其修远兮,吾将上下而求索

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值