您当前的位置:首页 > 新闻 > 科技

炸裂!万字长文拿下分布式系统,我在字节跳动等你

时间:2020-06-12 09:24:40  来源:  作者:

 

大型主机缺点:

非常贵,一般的小企业用不起。

比较复杂,培养人才的成本比较高。

单点一旦故障,整个系统停转,损失非常大。

个人PC电脑的性能越来越高,成本也越来越低。

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

Web时代

c/s时代:

富客户端方案。卖软件可赚钱。qq、影音、游戏。早期流行。

Web 1. 0

特色

主要是单向信息的发布,即信息门户---> 广大浏览器客户端互联网内容是由少数编辑人员(或站长)定制的。 代表:三大门户,新浪/网易/搜狐。新浪以新闻+广告为主,网易拓展游戏为主,搜狐延伸门户矩阵。

一般的雏型如下图,用户通过浏览器输入网址进行域名解析,然后从CDN上获得静态资源,从后台服务器获得html文件,这些信息拼装组成显示的网页。

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

Web 2.0

特色

注重用户的交互。每个人都是内容的供稿者。 RSS订阅扮演一个很重要的作用。 代表:博客、播客、维基、P2P下载、社区、分享服务

集群跟分布式

横向复制的集群跟纵向切分的分布式环境。

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 


炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

架构演进史

1. 早期雏形

特征:

应用程序主要做静态文件读取,返回内容给浏览器。 浏览器加载本地的若干资源 跟 浏览器解析从服务器获取到的资源是一样的!

2. 数据库开发(LAMP特长)

linux + Apache + MySQL + php 特征:

应用程序主要主要读取数据表值,填充html模块。业务逻辑简单,写sql处理。

3. JAVAWeb雏型

特征:

Tomcat + servlet + jsp + mysql。一个war包打天下 项目结构:ssh/ssm三层结构。

4. JavaWeb的集群发展

特征:

在3的基础上进行多个war包的复制启动 。 硬件机器的横向复制,对整个项目结构无影响。

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

5. JavaWeb分布式

特征:

将Service层单独分离出去,成为一个单独的项目jar。单独运行。 Web服务器通过rpc框架,对分离出去的service进行调用。分布式是按照组件拆分。

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

6. JavaWeb微服务

特征:

从业务角度,细分业务为微服务,每一个微服务是一个完整的服务(从http请求到返回)。在微服务内部,将需要对外提供的接口,包装成rpc接口,对外部开放。微服务按照 业务拆分。

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

后端问题

后端的不断演进就会导致出现服务治理需求的出现。

跨系统的RPC: RMI、webservice、Http请求,

dubbo的引入, SpringCloud

服务器集群的负载路由,服务的注册跟发现 ZooKeeper

数据量超级大时引发的

分库/分表,需要修改业务sql语句,有侵入型,MyCat的引入。

分区,对sql语句是没有侵入性的,但是对库是没办法减轻压力的。

单库的MySQL承载容量一般在700W左右。

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

前端发展史

1.%20整页提交

特征:

浏览器请求皆为页面级请求,每次请求都是一次页面跳转/刷新。

 

2. 页面+ ajax

特征:

浏览器请求主要为页面级请求,有局部刷新使用ajax刷新,页面体验更好。

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

3. mvvm模式

MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版 特征:

首次请求返回页面html,后续请求皆为restful返回json。

前端人员将js/css/img 资源开发完毕后 打包到apache或者Nginx上,供浏览器访问 3 浏览器 访问静态资源服务器,获得HTML资源。

HTML页面JS发起·ajax·请求后台服务器,得到业务数据 然后进行渲染整个页面。跨域问题可用nginx解决。

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

架构思路及常见解决方案

1、缓存(list/redis/memached) 2、横向拓展(集群负载) 3、拆分高负载服务,独立为一模块 4、大表数据切片( mysql分库分区分表) 5、使用搜索中间件: solr/elasticsearch 6、全局性网站搜索跟mysql指定型搜索不一样,只能用上面的中间件搞定 like 搜索。 7、tomcat一般在500以下为好。 8、mysql单表一般700万以内。

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

session跨域共享

cookie、session、token 形象说, 跨域问题:

方案1:负载使用 hash(ip) 方案2:使用redis共享session 方案3: tomcat 插件实现共享 方案4: spring session 实现共享

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

常见解决方案

1. 缓冲方案

Redis 的引入。 一般缓存方案

1、先到缓存中查,有值直接返回 2、无值(缓存穿透、击穿)则调用接口或者查库,并将值补入缓存区 3、缓存区数据与db中可能不一致,使用过期时间调节 4、若缓存区数据集中在某一短时刻失效,将导致大量的缓存击穿(雪崩)

永不过期方案

1、不设置过期时间,数据永久有效,避免雪崩 2、需要额外机制来实现数据的同步更新(参照数据同步)

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

2. 消息中间件

Kafka,RocketMQ,RabbitMQ,ActiveMQ

1、每个应用启动时,主动注册队列 2、后续收/发信息,只管收/发队列中数据 3、队列中数据的路由策略, 由mq管理者来配置,跟应用程序无关。类似传话筒

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

3. 同步异步

同步调度:

1、调度期间,主调和被调线程被同时占用。 2、被调执行完成前,主调等待。 3、程序内部的调度,则为一单线程。

异步调度:

1、主调与被调只是一次消息发送,信息到达即返回。 2、被调执行完成后,回调一次主调方,发送结果回来。 3、程序内部的调度,则回调函数是由被调线程执行。

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

4. 同步转异步

同步转异步:空间换时间,JDK Future Task模式

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

5. 数据切片

实现集群的动态扩容,Redis/es/fastdfs,将数据按片切分:

1、切成6个片,每个片存储总量1/6数据 2、则两个库每个库分担三个片 3、若三个库,则每个库只需要承担两个片 4、路由管理,只记录数据与片柱的关系

炸裂!万字长文拿下分布式系统,我在字节跳动等你

 

 



Tags:分布式系统   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
随着移动互联网技术的快速发展,在新业务、新领域、新场景的驱动下,基于传统大型机的服务部署方式,不仅难以适应快速增长的业务需求,而且持续耗费高昂的成本,从而使得各大生产厂商...【详细内容】
2021-12-08  Tags: 分布式系统  点击:(23)  评论:(0)  加入收藏
分布式一致性算法概要随着各种高并发访问、海量数据处理等应用场景越来越多,为了应对这些使用场景,分布式系统应运而生。分布式系统得以发展,得益于诸多优点,比如:可以避免 单点...【详细内容】
2021-04-13  Tags: 分布式系统  点击:(238)  评论:(0)  加入收藏
分布式系统的经典理论分布式系统从诞生到现在已经有几十个年头了,其中伴随着一些很重要的基础理论,正是这些影响深远的基础理论,奠定了分布式系统的坚实基础,造就了分布式领域的...【详细内容】
2021-04-13  Tags: 分布式系统  点击:(263)  评论:(0)  加入收藏
分布式理论知识1、分布式系统架构1.1基础概念分布式 : 将一个单体项目分成很多个模块,各个模块协同工作,各个模块构成了分布式系统集群:针对单个模块或者单个系统在多台服务器上...【详细内容】
2021-01-28  Tags: 分布式系统  点击:(111)  评论:(0)  加入收藏
一致性问题一致性问题是分布式领域最重要、最基础的问题。一致性/Consistency,是说在有多个服务节点的情况下,执行一些列操作,在约定协议的保障下,使得他们对外的处理结果,能达...【详细内容】
2020-12-15  Tags: 分布式系统  点击:(149)  评论:(0)  加入收藏
在分布式系统,尤其是微服务系统中,一次外部请求往往需要内部多个模块,多个中间件,多台机器的相互调用才能完成。在这一系列的调用中,可能有些是串行的,而有些是并行的。在这种情况...【详细内容】
2020-12-11  Tags: 分布式系统  点击:(158)  评论:(0)  加入收藏
现如今可谓是微服务、分布式、IoT(物联网)横行的时代,作为一名开发者始终还是要保持一定的危机意识,特别是在日常的项目开发中,若是有机会接触到一些关于微服务、分布式下的应用...【详细内容】
2020-12-01  Tags: 分布式系统  点击:(114)  评论:(0)  加入收藏
分布式系统如何寻址?通过 RPC 框架,能够解决服务之间的跨网络通信问题,是微服务改造的基础。服务拆分之后,需要维护更多细粒度的服务,这样就涉及到 RPC 客户端服到服务端的 部署...【详细内容】
2020-11-04  Tags: 分布式系统  点击:(103)  评论:(0)  加入收藏
上一篇《CAP》写完之后,我又反复回看了多次,发现最后的一部分表达CAP、ACID、BASE、“BACP(自造)”关系时有一些问题,并且不是很严谨,但是无奈已经发送过的内容,无法支持修改,并且有挺多小伙伴都在私聊我确认细节,这里我来重...【详细内容】
2020-09-16  Tags: 分布式系统  点击:(46)  评论:(0)  加入收藏
介绍OAuth(开放授权)是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。OAuth...【详细内容】
2020-08-18  Tags: 分布式系统  点击:(65)  评论:(0)  加入收藏
▌简易百科推荐
非法购买公民信息、开发人脸认证规避技术……今年年初,广东省公安厅网安部门侦破全国首例破解“青少年防沉迷系统”的新型网络犯罪案件,抓获犯罪嫌疑人13名,查处非...【详细内容】
2021-12-28    人民日报客户端  Tags:数据安全步   点击:(5)  评论:(0)  加入收藏
就在今天,腾讯方面宣布将在2022年1月31日下架企业QQ和营销QQ,其实这一消息的降临并不让笔者意外,因为早在今年的10月28日20点之后,企业QQ和营销QQ就被停止了续费服务。相信很多...【详细内容】
2021-12-27  科技探险家    Tags:企业QQ   点击:(20)  评论:(0)  加入收藏
日前,上海交通大学发布《全球电竞之都评价报告》,对全球15个致力于发展电竞之都的城市进行评价,上海作为中国城市电竞发展的排头兵,其拥有众多优质电竞企业及完整产业集群,因此排...【详细内容】
2021-12-27  经济日报    Tags:电竞   点击:(3)  评论:(0)  加入收藏
为优化网络氛围环境,微博又开始整顿用户信息了。本月月初,微博官方发布公告,要求昵称中带有如“二货”“SB”“瘪三”“娘炮”等明显低俗或侮辱性词汇的用户尽快修改,否则将面临...【详细内容】
2021-12-24  运了个营    Tags:微博   点击:(10)  评论:(0)  加入收藏
昨日谷歌宣布,自2022年12月19日开始停止对OnHub的软件支持,OnHub路由器仍将提供Wi-Fi信号,但用户无法用谷歌Home应用程序管理它。无法更新Wi-Fi网络设置、添加额外的Wifi设备或...【详细内容】
2021-12-22  雷峰网    Tags:Google OnHub   点击:(5)  评论:(0)  加入收藏
IT之家 12 月 20 日消息,百度网盘青春版 iOS 客户端今日晚间率先开启内测,安卓客户端将在稍后内测。使用苹果 iPhone 的IT之家小伙伴可以点此下载内测版,需要先下载 TestFlight...【详细内容】
2021-12-21  IT之家    Tags:百度网盘   点击:(10)  评论:(0)  加入收藏
对于拼车单,是接还是不接,不少网约车司机表示很矛盾。接吧,钱少事多,常常跑了个寂寞,不接吧,车多客少,挑三拣四没饭吃。 在平台大力推广拼车单之下,不少司机迫于生活压力,最终还是打...【详细内容】
2021-12-17  网约车情报分享    Tags:滴滴   点击:(9)  评论:(0)  加入收藏
蓝鲸TMT频道12月16日讯,据饿了么官方微信公众号,近日,在圆桌会上,蓝骑士与平台交流了配送安全问题。饿了么表示,线上将技术手段融入安全防护;线下将持续进行安全培训,并试点智能头...【详细内容】
2021-12-17    金融界  Tags:饿了么   点击:(24)  评论:(0)  加入收藏
开源最前线(ID:OpenSourceTop) 猿妹编译项目地址: https://github.com/restic/restic全球知名代码托管平台 GitHub 今天就重磅发布了今年的年度报告——《2021 年度 O...【详细内容】
2021-12-17  Python部落    Tags:   点击:(9)  评论:(0)  加入收藏
新京报快讯 据中国网络视听节目服务协会网站消息,12月15日,中国网络视听节目服务协会发布了《网络短视频内容审核标准细则》(2021)。中国网络视听节目服务协会组织有关短视频平...【详细内容】
2021-12-16    新京报  Tags:短视频   点击:(11)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条