网络架构

分布式架构知识体系

泄露秘密 提交于 2019-12-09 20:59:36
基础理论 SOA 到 MSA 的进化 SOA 面向服务架构 由于业务发展到一定程度后,需要对服务进行解耦,进而把一个单一的大系统按逻辑拆分成不同的子系统,通过服务接口来通讯。面向服务的设计模式,最终需要总线集成服务,而且大部分时候还共享数据库,出现单点故障时会导致总线层面的故障,更进一步可能会把数据库拖垮,所以才有了更加独立的设计方案的出现。 MSA 微服务架构 微服务是真正意义上的独立服务,从服务入口到数据持久层,逻辑上都是独立隔离的,无需服务总线来接入,但同时也增加了整个分布式系统的搭建和管理难度,需要对服务进行编排和管理,所以伴随着微服务的兴起,微服务生态的整套技术栈也需要无缝接入,才能支撑起微服务的治理理念。 节点与网络 节点 传统的节点也就是一台单体的物理机,所有的服务都揉进去包括服务和数据库;随着虚拟化的发展,单台物理机往往可以分成多台虚拟机,实现资源利用的最大化,节点的概念也变成单台虚拟机上面服务;近几年容器技术逐渐成熟后,服务已经彻底容器化,也就是节点只是轻量级的容器服务。总体来说,节点就是能提供单位服务的逻辑计算资源的集合。 网络 分布式架构的根基就是网络,不管是局域网还是公网,没有网络就无法把计算机联合在一起工作,但是网络也带来了一系列的问题。网络消息的传播有先后,消息丢失和延迟是经常发生的事情,我们定义了三种网络工作模式: 同步网络 节点同步执行 消息延迟有限

把阿里巴巴的核心系统搬到云上,架构上的挑战与演进是什么?

时间秒杀一切 提交于 2019-12-06 20:54:55
作者丨张瓅玶(谷朴)阿里巴巴研究员 阿里巴巴核心系统作为全球最大规模、峰值性能要求最高的电商交易系统,在 2018 年之前只通过混合云弹性上云方式,为 双11 节约大量成本。直到 2019 年,阿里巴巴实现了核心交易系统全面上云并经历了 双11 峰值的考验。 在今天由极客邦科技举办的 ArchSummit 全球架构师峰会 2019 北京站上,阿里巴巴研究员张瓅玶博士作了主题演讲《阿里巴巴核心系统上云:挑战和架构演进的思考》,以下内容为演讲整理。 核心系统上云之路 工程师时常把我们的系统用飞机来做比喻,乘客则是上面承载的业务。云也是一架这样的载客飞机,作为基础平台承载着千万家企业的业务。今年阿里巴巴实现了核心系统 100% 上云,这个过程实际上走了几年才达到今天的进展,而且这还不是结束,也只是阿里巴巴上云的一个开始。 阿里巴巴集团自身业务体量巨大,支撑其的互联网技术体系任务也非常繁重,再加上核心电商业务系统的复杂度,对技术带来的挑战可想而知。 用王坚博士的话说,核心系统上云让阿里巴巴和客户真正坐上了同一架飞机。从 in-house 的基础设施、定制化的平台能力,到通用的云平台,从 cloud hosting 到 cloud native,这个过程面临着巨大的挑战,同时也是阿里巴巴自身和阿里云的架构演进升级的历程。 阿里巴巴的核心交易系统涉及到包括天猫、淘宝、河马、菜鸟、聚划算、咸鱼

把阿里巴巴的核心系统搬到云上,架构上的挑战与演进是什么?

陌路散爱 提交于 2019-12-06 20:54:48
作者丨张瓅玶(谷朴)阿里巴巴研究员 阿里巴巴核心系统作为全球最大规模、峰值性能要求最高的电商交易系统,在 2018 年之前只通过混合云弹性上云方式,为 双11 节约大量成本。直到 2019 年,阿里巴巴实现了核心交易系统全面上云并经历了 双11 峰值的考验。 在今天由极客邦科技举办的 ArchSummit 全球架构师峰会 2019 北京站上,阿里巴巴研究员张瓅玶博士作了主题演讲《阿里巴巴核心系统上云:挑战和架构演进的思考》,以下内容为演讲整理。 核心系统上云之路 工程师时常把我们的系统用飞机来做比喻,乘客则是上面承载的业务。云也是一架这样的载客飞机,作为基础平台承载着千万家企业的业务。今年阿里巴巴实现了核心系统 100% 上云,这个过程实际上走了几年才达到今天的进展,而且这还不是结束,也只是阿里巴巴上云的一个开始。 阿里巴巴集团自身业务体量巨大,支撑其的互联网技术体系任务也非常繁重,再加上核心电商业务系统的复杂度,对技术带来的挑战可想而知。 用王坚博士的话说,核心系统上云让阿里巴巴和客户真正坐上了同一架飞机。从 in-house 的基础设施、定制化的平台能力,到通用的云平台,从 cloud hosting 到 cloud native,这个过程面临着巨大的挑战,同时也是阿里巴巴自身和阿里云的架构演进升级的历程。 阿里巴巴的核心交易系统涉及到包括天猫、淘宝、河马、菜鸟、聚划算、咸鱼

把阿里巴巴的核心系统搬到云上,架构上的挑战与演进是什么?

主宰稳场 提交于 2019-12-06 19:14:26
作者丨张瓅玶(谷朴)阿里巴巴研究员 阿里巴巴核心系统作为全球最大规模、峰值性能要求最高的电商交易系统,在 2018 年之前只通过混合云弹性上云方式,为 双11 节约大量成本。直到 2019 年,阿里巴巴实现了核心交易系统全面上云并经历了 双11 峰值的考验。 在今天由极客邦科技举办的 ArchSummit 全球架构师峰会 2019 北京站上,阿里巴巴研究员张瓅玶博士作了主题演讲《阿里巴巴核心系统上云:挑战和架构演进的思考》,以下内容为演讲整理。 核心系统上云之路 工程师时常把我们的系统用飞机来做比喻,乘客则是上面承载的业务。云也是一架这样的载客飞机,作为基础平台承载着千万家企业的业务。今年阿里巴巴实现了核心系统 100% 上云,这个过程实际上走了几年才达到今天的进展,而且这还不是结束,也只是阿里巴巴上云的一个开始。 阿里巴巴集团自身业务体量巨大,支撑其的互联网技术体系任务也非常繁重,再加上核心电商业务系统的复杂度,对技术带来的挑战可想而知。 用王坚博士的话说,核心系统上云让阿里巴巴和客户真正坐上了同一架飞机。从 in-house 的基础设施、定制化的平台能力,到通用的云平台,从 cloud hosting 到 cloud native,这个过程面临着巨大的挑战,同时也是阿里巴巴自身和阿里云的架构演进升级的历程。 阿里巴巴的核心交易系统涉及到包括天猫、淘宝、河马、菜鸟、聚划算、咸鱼

深度学习之神经网络与支持向量机

旧城冷巷雨未停 提交于 2019-12-06 02:46:35
从人人上转过来的 前言:本文翻译自deeplearning网站,主要综述了一些论文、算法已经工具箱。 引言: 神经网络( N eural N etwork)与支持向量机( S upport V ector M achines,SVM)是统计学习的代表方法。可以认为神经网络与支持向量机都源自于感知机(Perceptron)。感知机是1958年由Rosenblatt发明的线性分类模型。感知机对线性分类有效,但现实中的分类问题通常是非线性的。 神经网络与支持向量机(包含核方法)都是非线性分类模型。1986年,Rummelhart与McClelland发明了神经网络的学习算法 B ack P ropagation。后来,Vapnik等人于1992年提出了支持向量机。神经网络是多层(通常是三层)的非线性模型, 支持向量机利用核技巧把非线性问题转换成线性问题。 神经网络与支持向量机一直处于“竞争”关系。 Scholkopf是Vapnik的大弟子,支持向量机与核方法研究的领军人物。据Scholkopf说,Vapnik当初发明支持向量机就是想"干掉"神经网络(He wanted to kill Neural Network)。支持向量机确实很有效,一段时间支持向量机一派占了上风。 近年来,神经网络一派的大师Hinton又提出了神经网络的Deep Learning算法(2006年)

RPC

一个人想着一个人 提交于 2019-12-06 00:13:32
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-05 19:19:44
目录 前言 一、微服务介绍 1.什么是微服务 2. 微服务由来 3. 为什么需要微服务? 3.1 早期的单体架构带来的问题 3.2 微服务与单体架构区别 3.3 微服务与SOA区别 4. 微服务本质 5. 什么样的项目适合微服务 6. 微服务折分与设计 6.1 微服务设计原则 7. 微服务优势与缺点 7.1 特性 7.2 特点 7.3 缺点 8. 微服务开发框架 9. Sprint cloud 和 Sprint boot区别 二、微服务实践先知 1. 客户端如何访问这些服务?(API Gateway) 2. 服务之间如何通信?(服务调用) 3. 这么多服务怎么查找?(服务发现) 4. 服务挂了怎么办? 5. 微服务需要考虑的问题 三、微服务重要部件 1. 微服务基本能力 2. 服务注册中心 2.1 zookeeper服务注册和发现 3. 负载均衡 3.1 负载均衡的常见策略 4. 容错 4.1 容错策略 5. 熔断 6. 限流和降级 7. SLA 8. API网关 9. 多级缓存 10. 超时和重试 11. 线程池隔离 12. 降级和限流 13. 网关监控和统计 前言 到底什么是微服务?为什么要用微服务?微服务主要来做一些什么?微服务有哪些优势?什么样的服务属于微服务?本文所有资料来源网络,我只是整理一下,总结一下。仅供参考。 一、微服务介绍 1.什么是微服务 在介绍微服务时

详解深度学习之经典网络架构——LeNet

放肆的年华 提交于 2019-12-05 14:04:31
一、基本简介 LeNet-5出自论文Gradient-Based Learning Applied to Document Recognition,是一种用于手写体字符识别的非常高效的卷积神经网络。 二、LeNet网络的基本结构 LeNet5 这个网络虽然很小,但是它包含了深度学习的基本模块:卷积层,池化层,全链接层。是其他深度学习模型的基础, 这里我们对LeNet5进行深入分析。同时,通过实例分析,加深对与卷积层和池化层的理解。 LeNet-5共有7层,不包含输入,每层都包含可训练参数;每个层有多个Feature Map,每个FeatureMap通过一种卷积滤波器提取输入的一种特征,然后每个FeatureMap有多个神经元。 各层参数详解: 1、INPUT层-输入层 首先是数据 INPUT 层,输入图像的尺寸统一归一化为32*32。 注意:本层不算LeNet-5的网络结构,传统上,不将输入层视为网络层次结构之一。 2、C1层-卷积层 输入图片:32*32 卷积核大小:5*5 卷积核种类:6 输出featuremap大小:28*28 (32-5+1)=28 神经元数量:28*28*6 可训练参数:(5*5+1) * 6(每个滤波器5*5=25个unit参数和一个bias参数,一共6个滤波器) 连接数:(5*5+1)*6*28*28=122304 详细说明

网络OSI七层架构与TCP四层架构的应用与区别

这一生的挚爱 提交于 2019-12-05 10:54:57
1.OSI七层网络模型介绍   OSI(Open System Interconnection,开放系统互连)七层网络模型称为开放式系统互联参考模型 ,是一个逻辑上的定义,一个规范,它把网络从逻辑上分为了7层。每一层都有相关、相对应的物理设备,比如路由器,交换机。   OSI七层模型是一种框架性的设计方法,建立七层模型的主要目的是为解决异种网络互连时所遇到的兼容性问题,其最主要的功能就是帮助不同类型的主机实现数据传输。它的最大优点是将服务、接口和协议这三个概念明确地区分开来,通过七个层次化的结构模型使不同的系统不同的网络之间实现可靠的通讯。 OSI七层结构图: 各层简介: 物理层(Physical Layer) :主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换),这一层的数据叫做比特,单位是bit比特。 数据链路层(Datalink Layer) :定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问,这一层通常还提供错误检测和纠正,以确保数据的可靠传输。交换机(二层)、网桥设备在这一层。数据链路层协议的代表包括:PPP、STP、帧中继等。 网络层(Network Layer)

网络编程基础一

為{幸葍}努か 提交于 2019-12-05 00:39:44
一、架构 两种常见的架构: C/S架构 (客户机/服务器)和 B/S架构 (浏览器/服务器,也属于C/S架构的一种)。    C/S架构优点: 能充分发挥客户机的性能 由于只有一层交互,因此响应速度较快,安全性高    C/S架构缺点: 用户群固定,需要下载客户端才能使用 维护成本高   B/S架构优点: 客户端无需安装,有浏览器就行,跨平台 B/S架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强 统一了应用的接口    B/S架构缺点: 跨浏览器问题 在速度和安全性上需要花费巨大的设计成本 二、通信 网络编程基本上都是基于请求/响应方式的,即一个设备发送请求数据给另外一个,然后接收另一个设备的反馈。   MAC地址:物理地址,由网卡决定的,是固定且唯一的。在OSI模型中第二层数据链路层负责。   IP地址:四位点分十进制,在计算机内部存储时只需要4个字节即可。在OSI模型中第三层网络层负责。标识了计算机在网络中的位置。 可以使用IP或域名来标识网络上的一台设备 。   域名:由于IP地址不方便记忆,给IP取一个字符的名字,IP和域名之间存在一定的对应关系。在网络中只能使用IP地址进行数据传输,所以在传输以前,需要把域名转换为IP,这个由DNS的服务器完成。   端口:规定一个设备有2 16 个,即65536个端口,每个端口对应一个唯一的程序