网络架构

<微服务架构>—RPC入门篇

杀马特。学长 韩版系。学妹 提交于 2019-12-26 16:32:45
概念 RPC(Remote Procedure Call):远程过程调用 ,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想.RPC 是一种技术思想而非一种规范或协议,常见 RPC 技术和框架有: 应用级的服务框架:阿里的 Dubbo/Dubbox、Google gRPC、Spring Boot/Spring Cloud 远程通信协议:RMI、Socket、SOAP(HTTP XML)、REST(HTTP JSON) 通信框架:MINA 和 Netty 目前流行的开源 RPC 框架还是比较多的,有阿里巴巴的 Dubbo、Facebook 的 Thrift、Google 的 gRPC、Twitter 的 Finagle 等。 gRPC:是 Google 公布的开源软件,基于HTTP 2.0的协议,并支持常见的众多编程语言。RPC 框架是基于 HTTP 协议实现的,底层使用到了 Netty 框架的支持。 Thrift:是 Facebook 的开源 RPC 框架,主要是一个跨语言的服务开发框架。 用户只要在其之上进行二次开发就行,应用对于底层的 RPC 通讯等都是透明的。不过这个对于用户来说需要学习特定领域语言这个特性,还是有一定成本的。 Dubbo:是阿里集团开源的一个极为出名的 RPC 框架,在很多互联网公司和企业应用中广泛使用

数据中心网络架构

橙三吉。 提交于 2019-12-24 12:16:50
传统数据中心网络架构 传统数据中新网络架构通常是3层结构,(园区网一般也是3层结构)Cisco称之为:分级的互联网络模型,包含三层: Core 核心层 : 提供高速转发,为多个汇聚层提供连接性 Aggregation 汇聚层 :汇聚连接接入交换机,同时提供其他服务(FW、SLB、等) Access 接入层 :物理连接服务器,一般放在机柜顶端,也称ToR交换机 一个三层架构图如下: 汇聚是网络的分界点,汇聚交换机以下是L2网络,以上是L3网络,每组汇聚交换机是一个pod,根据业务分区分模块。pod内是一个或者多个VLAN网络,一个POD对应一个广播域。 这种架构部署简单,(vlan+xstp)技术成熟。 VLAN 、Xstp 使用vlan、xstp原因: 1、BUM(广播,未知单播,组播) vlan技术把一个大的物理二层域划分成多个小的逻辑二层域,这逻辑的二层域被称为vlan,同一个vlan内可以二层通信,不通vlan之间隔离,这样广播的范围被局限在一个vlan内,不会扩散到整个物理二层域 vlan还有简化管理,提高安全性等。。 2、环路及环路形成的广播风暴 如果是单设备单链路组成的3层架构,是不存在环路以及环路带来的广播,但是这种网络可靠性比较差,因为没有任何的备份设备和备份链路,一旦某个设备或者链路发生故障,故障点下的所有主机就无法连上网络。 为了提高网络的可靠性

云计算带来的网络技术新趋势的发展历程?

前提是你 提交于 2019-12-24 05:35:09
云计算是一种IT资源的使用模式,通过网络以按需、易扩展的方式获得所需的硬件、平台、软件及服务资源。 在近期召开的“第九届中国云计算标准和应用大会”上,工信部表示,我国企业上云空间巨大,云计算会迎来新一轮更为广阔的蓬勃发展机遇期。 我国云计算产业近年来保持强劲发展态势,年均增速超过30%,是全球增速最快的市场之一,未来提升空间巨大。 经过十几年的发展,云计算已经形成了较为完善的生态系统,那么云计算技术还会带来什么新领域?云即网络,云技术新领域意味着网络技术新趋势是什么? SDN(软件定义网络)和NFV(网络功能虚拟化)是近年来兴起的网络技术新趋势。 SDN是一种新兴的基于软件的网络架构及技术,其重点在于南向接口的标准化,即SDN控制平台软件与各种网络设备的对接;但伴随混合云的兴起,SDN的重点转移到对北向接口的支撑,即对各种混合云业务和应用负载提供灵活的网络支撑。 三种广泛的SDN架构定义 1)ONF SDN架构 ONF提出的SDN典型架构分为三层,由上到下为应用层,包括各种不同业务和应用;控制层,主要负责处理数据平面资源的编排、维护和网络拓扑等,基础设施层,负责数据处理、转发和状态收集等。 SDN架构 ONF SDN架构更多的是从网络资源用户角度出发,通过对网络的抽象推动更快速的业务创新。 2)ETSI NFV架构 由于现有网络存在缺陷以及软件技术对网络的巨大影响

【分布式】分布式架构

冷暖自知 提交于 2019-12-22 04:48:14
一、前言    在大数据系统中,分布式系统已经成为一个无法避免的组件,如zookeeper已经成为了工业届的标准。所以对于大数据的研究,也必须要研究分布式系统的特点。 二、集中式系统   由一台或多台计算机组成的中心节点,数据集中存储在这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统的所有功能均由其集中处理。其部署简单,不用考虑多个节点间的分布式协作问题。 三、分布式系统   分布式系统是一个由硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。其拥有如下特点    3.1 分布性   分布式系统中的多台计算机都会在空间中随意分布,同时,机器的分布情况也会随时变动。    3.2 对等性   分布式系统中的计算机没有主/从之分,既没有控制整个系统的主机,也没有被控制的从机,组成分布式系统的所有计算机节点都是对等的, 副本 指的是分布式系统对数据和服务提供的一种冗余方式,为了对外提供高可用的服务,我们往往会对数据和服务进行副本处理。 数据副本 是指在不同的节点上持久化同一份数据,当某一个节点上存储的数据丢失时,可以从副本上读取到该数据,这是解决分布式系统数据丢失问题最为有效的手段。 服务副本 是只多个节点提供同样的服务,每个节点都有能力接受来自外部的请求并进行相应的处理。    3.3 并发性   同一分布式系统中的多个节点

RPC框架的理解-------转载

℡╲_俬逩灬. 提交于 2019-12-21 04:34:56
RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的思想。 RPC 是一种技术思想而非一种规范或协议,常见 RPC 技术和框架有: 应用级的服务框架:阿里的 Dubbo/Dubbox、Google gRPC、Spring Boot/Spring Cloud。 远程通信协议:RMI、Socket、SOAP(HTTP XML)、REST(HTTP JSON)。 通信框架:MINA 和 Netty。 目前流行的开源 RPC 框架还是比较多的,有阿里巴巴的 Dubbo、Facebook 的 Thrift、Google 的 gRPC、Twitter 的 Finagle 等。 下面重点介绍三种: gRPC:是 Google 公布的开源软件,基于最新的 HTTP 2.0 协议,并支持常见的众多编程语言。RPC 框架是基于 HTTP 协议实现的,底层使用到了 Netty 框架的支持。 Thrift:是 Facebook 的开源 RPC 框架,主要是一个跨语言的服务开发框架。 用户只要在其之上进行二次开发就行,应用对于底层的 RPC 通讯等都是透明的。不过这个对于用户来说需要学习特定领域语言这个特性,还是有一定成本的。 Dubbo:是阿里集团开源的一个极为出名的 RPC 框架,在很多互联网公司和企业应用中广泛使用

一篇读懂分布式架构下的负载均衡技术:分类、原理、算法、常见方案等

核能气质少年 提交于 2019-12-17 07:52:48
1、引言 关于“负载均衡”的解释,百度词条里:负载均衡,英文叫Load Balance,意思就是将请求或者数据分摊到多个操作单元上进行执行,共同完成工作任务。 负载均衡(Load Balance)建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。 负载均衡有两方面的含义: 1)首先,大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间; 2)其次,单个重负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高。 简单来说就是: 1)其一是将大量的并发处理转发给后端多个节点处理,减少工作响应时间; 2)其二是将单个繁重的工作转发给后端多个节点处理,处理完再返回给负载均衡中心,再返回给用户。 目前负载均衡技术大多数是用于提高诸如在Web服务器、FTP服务器和其它关键任务服务器上的Internet服务器程序的可用性和可伸缩性。 总之,它的目的就通过调度集群,达到最佳化资源使用,最大化吞吐率,最小化响应时间,避免单点过载的问题。 内容概述:本文将从负载均衡技术的分类、技术原理、常见实现算法、常用方案等入手,为您详细讲解负载均衡技术的方方面面。这其中,四层和七层负载均衡技术最为常用,它们也是本文介绍的重点。 内容点评

X86架构服务器

做~自己de王妃 提交于 2019-12-17 07:16:30
从广义上讲,服务器是指网络中能对其它机器提供某些服务的计算机系统(如果一个PC对外提供ftp服务,也可以叫服务器)。 从狭义上讲,服务器是专指某些高性能计算机,能通过网络,对外提供服务。相对于普通PC来说,稳定性、安全性、性能等方面都要求更高,因此在CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。 服务器作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。做一个形象的比喻:服务器就像是邮局的交换机,而微机、笔记本、PDA、手机等固定或移动的网络终端,就如散落在家庭、各种办公场所、公共场所等处的电话机。我们与外界日常的生活、工作中的电话交流、沟通,必须经过交换机,才能到达目标电话;同样如此,网络终端设备如家庭、企业中的微机上网,获取资讯,与外界沟通、娱乐等,也必须经过服务器,因此也可以说是服务器在“组织”和“领导”这些设备。 它是网络上一种为客户端计算机提供各种服务的高性能的计算机,它在网络操作系统的控制下,将与其相连的硬盘、磁带、打印机、Modem及各种专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发表及数据管理等服务。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。 服务器的构成与微机基本相似,有处理器、硬盘、内存、系统总线等,它们是针对具体的网络应用特别制定的

基础网络概念

自作多情 提交于 2019-12-16 21:55:56
目录 基础网络概念 软件开发架构 B/S架构 C/S架构 基础网络概念 以太网:局域网与交换机 广播 ip地址与ip协议 mac地址 arp协议 ——查询IP地址和MAC地址的对应关系 TCP协议 UDP协议 tcp和udp的对比 每层常见的协议 基础网络概念 软件开发架构 B/S架构 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。 这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。 C/S架构 B/S即:Browser与Server,中文意思:浏览器端与服务器端架构,这种架构是从用户层面来划分的。 Browser浏览器,其实也是一种Client客户端,只是这个客户端不需要大家去安装什么应用程序,只需在浏览器上通过HTTP请求服务器端相关的资源(网页资源),客户端Browser浏览器就能进行增删改查。 基础网络概念 以太网:局域网与交换机 广播  主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面

以网游服务端的网络接入层设计为例,理解实时通信的技术挑战

天涯浪子 提交于 2019-12-16 16:10:07
本文参考并引用了部分腾讯游戏学院的相关技术文章内容,感谢原作者的分享。 1、前言 以现在主流的即时通讯应用形态来讲,一个完整的即时通讯IM应用其实是即时通信(英文简写:IM=Instant messaging)和实时通信(英文简写:RTC=Real-time communication)2种技术组合在一起的一整套网络通信系统。之所以以IM这个简写代称整个即时通讯软件,其实是历史原因了(因为早期的诸如ICQ这样的即时通讯工具,也就是文字聊天,并没有加入实时音视频这样的实时通信技术),对这个话题有兴趣的可以到网上查一查IM的发展历史。 以微信、QQ这样的完整即时通讯应用来说,回归到工具的本质,它主要包含了两种应用和技术: 1)广义的文字聊天:也就是我最常理解的各种聊天消息的传递,这部分的技术实现就是众所周之的IM通信(即Instant messaging); 2)实时音视频聊天:包括语音电话、视频聊天,这部分的技术实现,从网络通信的角度讲,就是实时通信(即Real-time communication)。 我们回忆一下:早几年前市面上主流的移动端IM——比如微信、QQ、以及现在满屏广告的网易易信、半死不活的小米米聊、已经入土的阿里来往、打擦边球的陌陌等,基本都没有或者很晚才加入实时音视频聊天功能(我们抛开技术因素之外的原因不议),原因不是不想做

zz《可伸缩服务架构 框架与中间件》综合

女生的网名这么多〃 提交于 2019-12-10 18:09:59
=======开篇吐槽:最近一段时间刚好碰上中秋国庆双节,而且工作任务繁重,基本很难保证有时间来写文章了======= 《可伸缩服务架构 框架与中间件》与《分布式服务架构 原理、设计与实战》是要配套捆绑着看,这营销手段,服。 这书主要介绍了在分布式系统中常规用到的一些框架组件,比如分布式ID、消息队列、缓存、RPC框架、ES等。书中大部分内容的作用更多的是整体介绍、知识点扩展、初步入门,书中贴的源代码其中很难让人认真一行一行去阅读学习。想要更深入的学习,需要在平时工作多积累丰富的项目经验,或者多看看开源项目,从而去总结和提取。 每一章介绍一个组件,摘抄一些自己觉得有用的内容,归纳整理,然后加以理解。(主要还是强迫自己形成总结成文的习惯,看的书很多,都总是很容易忘记,效果甚微) 第1章 如何设计一款永不重复的高性能分布式发号器 1. 为什么不直接采用UUID? 虽然UUID能够保证唯一性,但无法满足业务系统需要的很多其他特性,比如时间粗略有序性、可反解和可制造性(说人话,就是分布式ID需要体现根据时间递增的特点,并且从ID串中能解析出一定的业务含义),同时UUID比较长,占空间大,性能较差。 2. 那基于数据库来实现呢? 即通过调整自增字段或者数据库sequence的步长来确保跨数据库的ID的唯一性,但这种方案强依赖于数据库。 实现方案,可见我:重构 - 分布式ID设计方案 3.