网站前端,后端设计,系统设计常识

news/2024/5/8 18:11:45/文章来源:https://blog.csdn.net/BTUJACK/article/details/83747519

系统设计第一次课听课笔记

 

网站分为前端和后端

前端就是大家看到的网站界面,类似美女的外表;

后端就是网站的架构设计,类似美女的内心,肚子里有多少东西,无法直接看出来。

 

后端工程师很苦逼,网站有问题,随时上马,修复问题,比如微博因为明星结婚,访问量过大,微博挂了,后端需要24小时待命。

前端只是修改网站界面,比如公司出了新产品,让用户看到新产品,属于前端,前端出问题不用立刻去修复,因为完全不影响客户访问网站,只是不漂亮罢了。后端出问题就容易出现404,无法访问的情况。

 

想生活工作平衡的就搞前端,搞后端容易没时间陪女朋友,或者哪有时间找女友,24小时陪着电脑,电脑就是女朋友。

 

 

面向web后端,

实习生不会考到系统设计。

tradeoff

soa

pull model

push model

 

数据存储系统

异步任务,消息队列

 

6

面试形式:

设计某系统,设计微博,设计Facebook,看看你能够撩到多深,多好,面向非常后端的工程师,

设计某个系统中的某某功能。比如,登录密码不能错误多少次,删除一个微博功能。标记邮件为已读功能,某个小功能。

说清楚的话还是要求对系统设计有基本概念和认知。

 

7

系统设计SD和面向对象设计OOD区别

哪种面试需要写代码?

系统设计属于吹牛扯淡的话题,一般不考代码。面向对象需要写代码,写出各种继承关系。

知识点:

OOD考class,object, method,interface,inheritance,考察电梯设计,游戏设计。角色,操作

SD考察:数据库,网址系统设计,新鲜事系统设计。

 

9

课程有配套阶梯训练的。刷题消化课程内容。

 

10

面试问题:请设计Twitter。

第一句给面试官的话是?单向关注限制的博客系统,限制140个单词。微信是双向朋友关系,微博是单向关系,你关心别人,别人不一定关注你。

什么功能,场景,用户规模,

 

系统设计没有提到任何语言,需要数据库SQL语句。刷题用什么语言随意。没有和编程语言相关的东西。算法也和编程语言没关系。

 

系统设计评分标准:

有没有可行解。

特定问题,小功能设计能够答出来。

分析能力,根据设定的难点,解决掉

权衡能力,多种选择怎么选择最好的路线。没有标准答案。

知识储备。如何。

问题4S分析法:scenario,service, storage, scale

scenario设计场景,哪些功能,设计多牛逼

service服务把大系统拆分小问题

storage存储,数据如何存储与访问。

最重要,最难的部分。

Scale升级:解决缺陷,数据非常大,处理特殊问题。

 

对于Twitter,场景是:用户量,需要承担多大访问量,日活跃用户,月活量。这两个指标看看网站,APP的活跃量,Facebook日活:14亿。还要问有哪些功能需要设计。面试官肯定会告诉你。

用户量的影响主要是并发用户数。日活次数*每个用户平均请求次数/一天多少秒 = 150M * 60/ 86400 平均每秒10万次

一般每天60次网络请求。峰值和平均值的比例,合理值,2-9之间都可以。

30万次并发的读请求,写请求。重要的是计算过程,不是结果。

QPS用处,=100,用笔记本做web服务器就行。

1k,用好的web服务器就行。

QPS = 1万,需要建设1000台web服务器集群。如何维护,每一台挂了怎么办。

qps和服务器,数据库的关系。

一台服务器承受1000很牛了。一台SQL Database承受1千

nosql数据库cassandra承受1万的QPS,设计时候就是这样设计的。

 

300 I/O per second,每秒只有30次

 

service服务把大任务分解为小任务。只是设计某个功能,可以跳过这步。用户服务,注册,登录。tweet service: post a tweet news feed timeline. ; media service: upload image upload video; friendship service:follow unfollow

按照存储方式表单分类。

router:

 

flask:Python的web framwork,最快速搭建一个网站,里面最基本的概念都懂了。

 

存储方式:数据库,文件,缓存系统。

数据库:关系,非关系数据库

文件系统和数据库系统之间的关系:数据库构建在文件系统之上的。数据库无法脱离文件系统独立存在。如果学过操作系统,里面分为文件系统和内存系统,缓存系统就是内存系统了。

最开始肯定没有数据库,如果直接最文件系统操作,会非常痛苦,因为需求非常丰富。因为需求可以是查询年龄区间的男人,如果在文件系统中做,需要在所有用户信息中查找,太慢了,不太好查找,增删查改太难。

什么样的数据适合数据库和文件系统中?

结构化数据例如姓名,性别,年龄等就适合数据库中。图片视频非结构化数据适合文件系统。

缓存系统cache不支持持久化。持久化:断电就消失了。通常用来运算结果(花很长时间计算出来的),频繁访问的适合放在缓存中。

Redis是个非关系数据库。

 

27

非关系数据库:tweet service

关系数据库:user service

media service:file system

friendship service: sql/ nosql

 

系统= 服务+数据存储

程序=算法+数据结构

 

28

考察表单内容,存储什么东西?

 

休息5分钟

news feed新鲜事系统。

新鲜事:登录朋友圈,看到的信息流,朋友发布信息的集合。

典型新鲜事情系统:Facebook,Twitter,朋友圈,RSS Reader(绝迹了,属于博客和微博之间的过度产品)。

系统核心因素:

关注,被关注。每个人看到的新鲜事不同。

 

C++写网站找抽。Java都比较少了。更多用PHP,Python,C++更适合底层开发。

新鲜事是伟大的发明。以前的博客是必须看看别人是否更新了,后来Facebook这种新鲜事情,这个就很轻松了,只要关注了,自动就推送给自己,不需要每天去刷他的博客。

信息流怎么存取,就是核心点。让大家回复,根据学生反馈,有针对性回复。从文件系统读数据库,

32

存储pull model,算法

在用户查看朋友圈时候,获取每个好友前100条tweets,合并前100条news feed。k路归并算法。

不关心时间复杂度,关心数据库读取次数和读取方式。

存储原理:

pull模型缺陷:非常慢

异步执行:创建记录,然后不管了,其他进行得到这个任务,慢慢执行。发帖后告诉用户,发帖成功,但是粉丝收到新帖子还要一段时间。

storage ;pull vs push模型朋友圈用push模型,因为大V问题。当我是大V,pull很慢,所以不可以用pull。所以会限制朋友圈人数最多5000,以前最多2000.

facebook为啥用pull模型,太复杂了,有群信息,也可以单向关注,如果用push,太麻烦了。

 

scale扩展,解决pull缺陷,最慢的部分发生在用户读请求时候。在DB访问前加入cache,cache每个用户的timeline,cache每个用户的news feed。

浪费更多存储空间disk:

push结合pull模型:普通用户仍然push。明星不用push到用户的新闻里,

 

没有很大流量,push最好。资源少,偷懒,用户发帖少,实时性要求不高用push。

用pull:资源充足,实时性要求高,用户发帖多,单向好友关系,有明星问题。

54页结束。

总结:4S是一个套路:问清楚再动手。

分析比答案重要,关注这个过程是否和谐,有道理。系统设计没有标准答案,通过分析过程展现自己的知识储备。最后一期系统设计课程。

63页PPT结束

 

认识你是我们的缘分,同学,等等,记得关注我。

 

微信扫一扫
关注该公众号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_710726.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大型网站图片服务器架构的演进

在主流的Web站点中,图片往往是不可或缺的页面元素,尤其在大型网站中,几乎都将面临“海量图片资源”的存储、访问等相关技术问题。在针对图片服务器的架构扩展中,也会历经很多曲折甚至是血泪教训(尤其是早期规划不足&am…

拳王虚拟项目公社:如何通过SEO优化分析建网站赚钱?

这几年其实几乎已经很少有人再提起seo这个行业了,也有很多人认为现在已经没有人在用搜索引擎的了,也有一个seo从业者片面的认为pc端的网站优化叫做seo,移动端就不属于seo范畴了,其实聊这些东西本身没有任何的意义。 其实百度的DA…

拳王虚拟项目公社:看懂虚拟资源整合收集,资源网站的盈利玩法

之前有拳友咨询:现在还能通过信息差赚钱吗? 能,这种生意太多了。 举个栗子: 有很多人都充了爱奇艺的VIP会员,因为不付费很多内容都看不了。 在爱奇艺官方平台上,年付的黄金会员价格是178,但…

拳王虚拟项目公社:解除网站禁止复制的插件,Simple Allow Copy V 0.8.2

拳王上一篇文章写了:小红书种草博主如何赚钱?从养号到运营全攻略 我们来回顾一下核心重点。 如何做一个种草博主呢? 1、定位与机制 2、养号 3、内容 4、时间 今天拳王给大家分享一个实用技能,许多伙伴应该也会碰到这种情况&am…

拳王虚拟项目公社:一款解除网站禁止复制的插件,Simple Allow Copy V 0.8.2

第一步: 第二步: 第三步: 第四步: 第五步: 第六步: 1.百度等文库解除复制不能保证都成功。如果是可编辑文档,可以解除;如果是图片或图片生成的PDF 文档,不能解除。 …

seo优化:把百度放进数据库

seo优化:把百度放进数据库有时候我想,能把百度的数据放进数据库,用广大程序员熟悉的sql语句查询百度的搜索结果应该是一个不错的主意。在这方面Google早已经跨出了一大步,利用Google Search API 把Google的搜索结果放进数据库是很容易办到得。…

搜索引擎SEO外挂:一边搜索,一边看PageRank

搜索引擎SEO外挂:一边搜索,一边看PageRank下载地址:多么乐站长工具 我原来曾写过一篇统计分析搜索引擎排名和Page Rank 关联分析 的文章。很多人引用,回复和我讨论了我的结论。有赞成的,有反对的,有鼓励的&…

使用XAMPP轻松建站(上)

LAMP (Linux Apache MySQL PHP) 作为与Windows、IIS和.NET等专有和商业软件进行竞争的一种开源软件解决方案,以其特有的安全、快速、易用、易于开发以及大量的开源代码,受到了人们越来越多的关注。特别是近几年来发展迅速,已经成为Web 服务…

使用XAMPP轻松建站(下)

【导读】LAMP (Linux Apache MySQL PHP) 作为与Windows、IIS和.NET等专有和商业软件进行竞争的一种开源软件解决方案。规避了LAMP的复杂、繁琐,XAMPP提供了一种轻松建设网站的途径。本文将介绍基于XAMPP的内容管理系统和论坛系统的建设。 论坛系统——Discuz! …

zero ecilpse下载_推荐10个免费图片下载网站,助你摆脱找图烦恼!建议收藏

无论是做设计、自媒体还是SEO推广,我们都需要各种图片。而且还是要清晰的,因为图片的质量会直接影响到用户的阅读体验。那么我们去哪找那么多高质量图片呢?相信很多人会从百度上快速低成本的去获取,以前可能没什么问题。但现在这种找图片的方…

为啥程序员下班后只关显示器从不关电脑?看看各大网站的答案~

本文综合自:csdn原文:https://blog.csdn.net/csdnsevenn/article/details/87887552慕课网原文:https://www.imooc.com/article/30549首百问答的答案:jingmentudou因为你永远不知道什么时间会被叫醒。开个远程就能避免半夜去公司了…

大型网站架构系列:电商网站架构案例(1)

大型网站架构系列:电商网站架构案例(1) 大型网站架构是一个系列文档,欢迎大家关注。本次分享主题:电商网站架构案例。从电商网站的需求,到单机架构,逐步演变为常用的,可供参考的分布式架构的原型。除具备功…

查看一个网站后台是用的什么服务器

本文出自 “腾飞工作室” 博客,请务必保留此出处 http://www.cnblogs.com/tfgzs/p/5763623.html 转载于:https://www.cnblogs.com/tfgzs/p/5763623.html

学习,工作,编程必看:130 个相见恨晚的神器网站

来源:https://blog.csdn.net/qq_43901693/article/details/100606828作者:爪白白搞学习知乎:www.zhihu.comTED(最优质的演讲):https://www.ted.com/谷粉学术: https://gfsoso.99lb.net/scholar.…

新建网站了!Github标星过万的吴恩达机器学习、深度学习课程笔记,《统计学习方法》代码实现,可以在线阅读了!...

吴恩达机器学习、深度学习,李航老师《统计学习方法》,可以说是机器学习入门的宝典。本文推荐一个网站“机器学习初学者”,把以上资源的笔记、代码实现做成了网页版,可以在线阅读了。网址:http://www.ai-start.com黄博的…

php实现一个简单的购物网站

实现一个简单的购物网站 一、考试时间:8小时 二、开发工具:DW 三、数据库:见附件 四、需要实现的页面: Index:浏览商品页面,显示商品列表,用户可以点击“购买“。 ViewCart:查看购物…

嵌入式 IOT 汽车 航空 AI 领域从IP到片上系统SOC信息检索网站 DR

http://www.design-reuse.cn/ 从IP到片上系统以及物联网 450家供应商的16,000个IP核 200供应商的1000多个SoC解决方案 http://www.design-reuse.cn/ About Design and Reuse Design & Reuse (D&R) was founded in October, 1997 by Gabriele Saucier and Philippe…

大型网站高并发——服务器负载均衡设计

大型网站高并发——服务器负载均衡设计 方案一:直接路由方式(LVS-DR) 硬件配置:一台负载均衡器,两台或则三台TOMCAT服务器 WEB服务器配置:Linux tomcat WEB应用程序(JAVA) 工具 LVS技术介绍:它是通过修改数据包的目…

37个自学网站,一年让你省下十几万

37个自学网站,一年让你省下十几万 一.综合类 1、学堂在线 学堂在线运行了包括包括清华大学、北京大学、复旦大学、斯坦福大学、麻省理工学院、加州大学伯克利分校等国内外几十所顶尖高校的优质课程。 2、MOOC网 中国大学MOOC(慕课)是爱课程网携手云课堂打造的在线…

网站引入特殊字体

先获取这些字体文件 然后添加css /*引入字体(pt-din-condensed-cyrillic)*/ font-face {font-family: pt;src: url(../font/pt/pt-din-condensed-cyrillic.eot);src: url(../font/pt/pt-din-condensed-cyrillic.eot?#iefix) format(embedded-opentype),…