斗鱼p2p直播原理

斗鱼p2p直播原理图1

SpringCloudAlibaba高并发仿斗鱼直播平台实战

download:***/t-1704.html

第一章 微服务介绍
1.1 体系架构演化
随着互联网的发展,网站运用的规模也在不断的扩展,从而导致体系架构也在不断的进行变化。
从互联网早上到现在,体系架构大体经历了下面几个过程:
单体运用架构--->笔直运用架构--->分布式架构--->SOA架构--->微服务架构, 当然还有悄然兴起的Service Mesh(服务网格化)。
接下来咱们就来了解一下每种体系架构是什么样子的, 以及各有什么优缺陷。
1.1.1 单体运用架构
互联网早期,一般的网站运用流量较小,只需一个运用,将一切功用代码都布置在一起就能够,这 样能够减少开发、布置和保护的本钱。
比如说一个电商体系,里面会包括许多用户办理,产品办理,订单办理,物流办理等等许多模块, 咱们会把它们做成一个 web 项目,然后布置到一台 tomcat 服务器上。
长处:
项目架构简略,小型项目的话, 开发本钱低
项目布置在一个节点上, 保护方便
缺陷:
全部功用集成在一个工程中,对于大型项目来讲不易开发和保护
项目模块之间紧密耦合,单点容错率低
无法针对不同模块进行针对性优化和水平扩展
1.1.2 笔直运用架构
随着拜访量的逐步增大,单一运用只能依靠添加节点来应对,可是这时候会发现并不是一切的模块 都会有比较大的拜访量 .
还是以上面的电商为比如, 用户拜访量的添加或许影响的仅仅用户和订单模块,可是对消息模块 的影响就比较小 . 那么此时咱们期望只多添加几个订单模块,而不添加消息模块 。 此时单体运用就做不到了,笔直运用就应运而生了 .
所谓的笔直运用架构,便是将原来的一个运用拆成互不相干的几个运用,以提升效率。比如咱们可 以将上面电商的单体运用拆分红 :
电商体系(用户办理 产品办理 订单办理)
后台体系(用户办理 订单办理 客户办理)
CMS体系(广告办理 营销办理)
这样拆分完毕之后,一旦用户拜访量变大,只需要添加电商体系的节点就能够了,而无需添加后台 和 CMS 的节点。
长处:
体系拆分完成了流量分管,处理了并发问题,并且能够针对不同模块进行优化和水平扩展
一个体系的问题不会影响到其他体系,进步容错率
缺陷:
体系之间相互独立, 无法进行相互调用
体系之间相互独立, 会有重复的开发使命
1.1.3 分布式架构
当笔直运用越来越多,重复的事务代码就会越来越多。这时候,咱们就思考可不能够将重复的代码 抽取出来,做成一致的事务层作为独立的服务,然后由前端操控层调用不同的事务层服务呢?
这就产生了新的分布式体系架构。它将把工程拆分红体现层和服务层两个部分,服务层中包括事务 逻辑。体现层只需要处理和页面的交互,事务逻辑都是调用服务层的服务来完成。
长处:
抽取公共的功用为服务层,进步代码复用性
缺陷 :
体系间耦合度变高,调用联系错综杂乱,难以保护
1.1.4 SOA架构
在分布式架构下,当服务越来越多,容量的评价,小服务资源的糟蹋等问题逐步闪现,此时需添加 一个调度中心对集群进行实时办理。此时,用于资源调度和管理中心 (SOA Service Oriented Architecture ,面向服务的架构 ) 是要害。
长处:
运用注册中心处理了服务间调用联系的主动调节
缺陷 :
服务间会有依靠联系,一旦某个环节出错会影响较大( 服务雪崩 )
服务关怀杂乱,运维、测试布置困难

1.1.5 微服务架构
微服务架构在某种程度上是面向服务的架构SOA 继续发展的下一步,它更加着重服务的 " 彻底拆分 " 。
长处 :
服务原子化拆分,独立打包、布置和晋级,保证每个微服务清晰的使命划分,利于扩展
微服务之间采用Restful等轻量级http协议相互调用
缺陷 :
分布式体系开发的技能本钱高(容错、分布式事务等)
1.2 微服务架构介绍
微服务架构, 简略的说便是将单体运用进一步拆分,拆分红更小的服务,每个服务都是一个能够独立运行的项目。
1.2.1 微服务架构的常见问题
一旦采用微服务体系架构,就势必会遇到这样几个问题:
这么多小服务,怎么办理他们?(服务管理 注册中心[服务注册 发现 除掉])
这么多小服务,他们之间怎么通讯?(restful rpc)
这么多小服务,客户端怎样拜访他们?(网关)
这么多小服务,一旦出现问题了,应该怎么自处理?(容错)
这么多小服务,一旦出现问题了,应该怎么排错? (链路追踪)
对于上面的问题,是任何一个微服务设计者都不能绕过去的,因而大部分的微服务产品都针对每一
个问题供给了相应的组件来处理它们。
1.2.2 微服务架构的常见概念
1.2.2.1 服务管理
服务管理便是进行服务的主动化办理,其核心是服务的主动注册与发现。
服务注册 :服务实例将自身服务信息注册到注册中心。
服务发现 :服务实例经过注册中心,获取到注册到其中的服务实例的信息,经过这些信息去恳求它们提 供的服务。
服务除掉 :服务注册中心将出问题的服务主动除掉到可用列表之外,使其不会被调用到。
1.2.2.2 服务调用
在微服务架构中,通常存在多个服务之间的长途调用的需求。现在干流的长途调用技能有基于 HTTP 的 RESTful 接口以及基于 TCP 的 RPC 协议。
REST(Representational State Transfer)
这是一种HTTP 调用的格式,更标准,更通用,不管哪种言语都支撑 http 协议
RPC(Remote Promote Call)
一种进程间通信方法。允许像调用本地服务相同调用长途服务。RPC 框架的首要方针便是让长途服 务调用更简略、通明。 RPC 框架负责屏蔽底层的传输方法、序列化方法和通信细节。开发人员在使 用的时候只需要了解谁在什么位置供给了什么样的长途服务接口即可,并不需要关怀底层通信细节 和调用过程。

版权声明:本文来自用户投稿,不代表【柚子生活网】立场,本平台所发表的文章、图片属于原权利人所有,因客观原因,或会存在不当使用的情况,非恶意侵犯原权利人相关权益,敬请相关权利人谅解并与我们联系(邮箱:youzivr@vip.qq.com)我们将及时处理,共同维护良好的网络创作环境。

发表评论

登录后才能评论

评论列表(0条)

    联系我们

    在线咨询: QQ交谈

    邮件:youzivr@vip.qq.com

    工作时间:周一至周五,9:30-18:30,节假日休息