信息架构

Tungsten Fabric如何支撑大规模云平台丨TF Meetup演讲实录

痴心易碎 提交于 2020-01-17 17:38:17
点击 下载 文档,查看本文所有相关资料。 https://163.53.94.133/assets/uploads/files/large-scale-cloud-yy.pdf 今天的分享偏技术一些,首先我们来看SDN的本质,然后从Tungsten Fabric(以下简称TF)架构上解析为什么比OVS更好,为什么能支撑更大的场景。 先来看云对网络的要求。首先是租户隔离,IaaS就是多租户,对于地址重用的要求,以VLAN的传统方式也是可以实现的。另外,传统VXLAN的协议或OVS的协议,只提供二层隔离的能力,没有三层隔离的能力,只要你的机器绑到外网IP,或者绑到公共的路由层面上,三层是可以互通的,所以说在租户隔离的层面,也有三层隔离的需求。 其次,云需要网络支持虚拟机跨机柜的迁移。VXLAN的话还要跨数据中心大二层,不是说不可以实现,但除了网络要求,还有存储的要求,比较难。虚拟机跨机柜的迁移,最难的是什么?传统网络架构,就是接入-汇聚-核心,路由器以下都是二层架构,机器可以在不同机架上迁移,但一个数据中心,云足够大的时候,二层基础网络是支撑不了整个云的,不同机架在不同三层里面,这时虚拟机做迁移就要要求IP地址不能变。 另外,还有网络功能和服务的要求。在云上面都是共享的资源池,如果以负载均衡为例,将一个性能强大的硬件负载均衡虚拟化给多个租户使用

分布式之消息队列

旧巷老猫 提交于 2020-01-16 10:58:21
1、为什么要使用消息队列? 主要有三个原因: 解耦、异步、削峰 (1)解耦 传统模式: 传统模式的 缺点 : 系统间耦合性太强,如上图所示,系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦! 中间件模式: 中间件模式的的 优点 : 将消息写入消息队列,需要消息的系统自己从消息队列中订阅,从而系统A不需要做任何修改。 (2)异步 传统模式: 传统模式的 缺点 : 一些非必要的业务逻辑以同步的方式运行,太耗费时间。 中间件模式: 中间件模式的的 优点 : 将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度 (3)削峰 传统模式 传统模式的 缺点 : 并发量大的时候,所有的请求直接怼到数据库,造成数据库连接异常 中间件模式: 中间件模式的的 优点 : 系统A慢慢的按照数据库能处理的并发量,从消息队列中慢慢拉取消息。在生产中,这个短暂的高峰期积压是允许的。 2、使用了消息队列会有什么缺点? 分析 :一个使用了MQ的项目,如果连这个问题都没有考虑过,就把MQ引进去了,那就给自己的项目带来了风险。我们引入一个技术,要对这个技术的弊端有充分的认识,才能做好预防。 要记住,不要给公司挖坑! 回答 :回答也很容易,从以下两个个角度来答 系统可用性降低 :你想啊,本来其他系统只要运行好好的,那你的系统就是正常的。现在你非要加个消息队列进去

LNMP架构部署

杀马特。学长 韩版系。学妹 提交于 2020-01-08 23:33:30
第1章 部署LNMP架构步骤 1.1 ①部署Linux系统(OK) 基本优化完成(ip地址设置 yum源更新 字符集设置) 安全优化完成(iptables关闭 selinux关闭 /tmp/ 1777) 1.2 ②部署nginx网站服务 A.安装软件依赖包 B.创建进程管理用户 C.下载nginx软件,进行编译安装(编译安装三步曲) D.创建软链接文件 E.编写nginx配置文件 F.启动nginx服务 G.编写hosts解析文件,进行浏览器访问测试 第2章 ③部署mysql数据库服务(web服务器) 2.1 软件部署过程 A.下载mysql软件 mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz B.二进制包方式安装mysql数据库软件 2.1.1 a.解压二进制包软件 1 cd /server/ tools 2 3 tar xf mysql- 5.6 . 34 -linux-glibc2. 5 -x86_64.tar.gz 2.1.2 b.创建mysql虚拟用户 1 useradd -s /sbin/nologin -M mysql 2.1.3 c.将解压后的二进制包放置到程序目录中 1 cd /server/tools 2 3 mv mysql-5.6.34-linux-glibc2.5-x86_64 /application/mysql-5

HTTP、BS架构

非 Y 不嫁゛ 提交于 2020-01-08 12:03:07
Django 底层原理 各种形式的web框架 B/S概念 快捷键 方向键 方向键本键如果活动选项是 选项按钮 或文件则为移动焦点; 方向键 + Win键(简称Win键)使窗口全屏、最小化、靠左半边、靠右半边(部分版本不支持); 方向键+Shift键将连续的文字或文件选中 方向键(左右)+Ctrl键 在英文单词或中文词语间跳跃 方向键(上下)+Ctrl键 在段落开头间跳跃 按Home(定位到行首)然后按Shift+End(行尾)或者 然后按Shift+↓ (下一行这个位置) 或者 按End(定位到行尾)然后按Shift+Home ctrl Ctrl+b 粗体 Bold Ctrl+e 居中对齐 Encenter Ctrl+f 查找 Find Ctrl+h 替换 Huan Ctrl+k 超级链接 King Link win Win键+E打开Windows资源管理器Explorer【即我的电脑、计算机】 Win键+R:运行 Win键+Shift+S:Windows 自带截图 win键+PrtScSysRq键 快速截屏 HTTP 超文本传输协议(英文: HyperText Transfer Protocol ,缩写: HTTP )是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是 万维网WEB 的数据通信的基础。 现今广泛使用的一个版本——HTTP 1.1(已更新至2.0)

rsyslog与journal日志架构

瘦欲@ 提交于 2020-01-07 03:16:04
系统日志架构概述 在centos7系统中有两个日志服务,分别是传统的rsyslog和新添加的systemd-journal systemd-journal是一个改进型的日志管理服务,可以收集来自内核、系统早期的启动阶段的日志、系统守护进程在启动和运行中的标准 输出和错误信息、还有syslog的日志。 该日志服务仅仅把日志集中保存在单一结构化的日志文件/run/log默认情况下并不会持久化保存日志、每次重启后,之前的日志都会丢失 。另外,一些rsyslog无法收集的日志也会被jounral记录到 rsyslog作为传统的系统日志服务,把所有收集到的日志都记录到/var/log目录下的各个日志文件中。常见的日志文件如下: 系统日志 /var/log/message //绝大多数的系统日志都记录到文件 /var/log/secure //所有跟安全和认知授权等日志都会记录到此文件中 ***** /var/log/maillog //邮件服务日志 /var/log/cron //计划任务日志 ***** /var/log/boot.log //系统启动相关的日志 /var/log/demsg //内核缓冲信息,系统启动时,硬件相关信息 /var/log/audit/audit.log //系统审计相关的日志 程序日志 /var/log/yum.log //yum相关的日志 *** /var

k8s架构基础介绍

ぐ巨炮叔叔 提交于 2020-01-06 17:07:17
kubernetes架构 在这张系统架构图中,我们把服务分为运行在工作节点上的服务和组成集群级别控制板的服务。 Kubernetes节点有运行应用容器必备的服务,而这些都是受Master的控制。 每次个节点上当然都要运行Docker。Docker来负责所有具体的映像下载和容器运行。 Kubernetes主要由以下几个核心组件组成: kubectl: k8s是命令行端,用来发送客户的操作指令。 master节点 1. API server[资源操作入口] :是k8s集群的前端接口,各种各样客户端工具以及k8s的其他组件可以通过它管理k8s集群的各种资源。它提供了HTTP/HTTPS RESTful API,即K8S API。 提供了资源对象的唯一操作入口,其他所有组件都必须通过它提供的API来操作资源数据,只有API Server与存储通信,其他模块通过API Server访问集群状态。 第一,是为了保证集群状态访问的安全。 第二,是为了隔离集群状态访问的方式和后端存储实现的方式:API Server是状态访问的方式,不会因为后端存储技术etcd的改变而改变。 作为kubernetes系统的入口,封装了核心对象的增删改查操作,以 RESTFul 接口方式提供给外部客户和内部组件调用。对相关的资源数据“全量查询”+“变化监听”,实时完成相关的业务功能。 2. Scheduler

今日头条架构演进之路

喜夏-厌秋 提交于 2020-01-01 14:06:56
夏绪宏,今日头条架构师,专注对高性能大规模 Web 架构,云计算、性能优化、编程语言理论等方向,PHP committer,HHVM 项目贡献者。2009 加入百度,先后从事大规模 IDC 自运维设施建设、云计算平台的架构设计、贴吧业务性能优化、百度通用 RPC 设计和优化等。2015 年加入今日头条负责基础设施,系统架构设计和优化,解决大流量高并发下的系统性能、可靠性和运维效率等方面的问题。 今天给大家分享今日头条架构演进,前面几位讲师讲了很多具体的干货,我的分享偏重基础设施及架构思路的介绍,我们想法是通过提供更好的基础设施,帮助架构做更好的迭代。 从架构的角度,技术团队应对的压力最主要来自三方面: 服务稳定性。接口的稳定性,让服务更可靠; 迭代速度。迭代速度对于大公司来讲相对没那么重要,规模比较大,生存压力相对小一点,但相对中型小型公司来讲,迭代速度是必须要保证的,时间窗也是一个决定能否成功的重要因素; 服务质量。主要关注用户满意度,它也是一个特别重要的 topic。 今日头条发展特别快,只有 4 年的历史,从人员数量和规模增长来看非常快,在稳定性可用性方面压力比较大,一方面需要快速把业务实现,但在另外一方面,类似这些高可用的问题会经常骚扰工程师:上线就挂、运营活动量大服务崩溃、单机性能顶不住、一个小服务上线把核心服务搞挂了……类似这些问题,技术团队需要如何更好的去应对?

应用架构的发展趋势

人走茶凉 提交于 2019-12-29 20:35:56
属性 信息 文档名称 应用架构的发展趋势 版本号 V0.0.0.0 文档修改日志 修改时间 修改人 修改描述 版本号 2019-12-29 15:23 宋全恒 新建应用架构的发展趋势 V0.0.0.0 1 简介 辛格的这本《Java设计模式及实践》是在11月28日看完的,三类设计模式、7大设计模式原则都在本书进行了阐述,自己也通过博客的输出尝试着及时的重复和强化关于这本书的记忆,总结博客的目的就是为了对这些材料能够强化记忆,在《高效记忆法》中,提高记忆效率的条件如下: 并且,记忆策略的主要原则如下图所示: 通过不断的总结,翻书页,目的很明确,就是不断的增强自己的知识基础,并且提高兴趣,因为人越是感兴趣的东西,注意力程度就会越高,在 程序员写个人技术博客的价值与意义 博文中,作者对于技术人员撰写博客的意义是如下阐述的: 确实,通过不断的在自己的专业领域深耕细作,不断加深对于技术的认识和理解,自己确实在这样的实践过程中取得了不少的进步,因此,写博客这个行为自己会坚持实践,并且在即将到来的2020年, 自己要坚持每周输出两篇博客 。自己会做到的。 2 应用架构的含义 开发应用程序之前,首先要确定的是要使用的架构设计。本文主要是对《设计模式及实践》第8章应用架构的梳理。应用架构(Software Architecture)在辛格认为,是在开发应用程序时,首先会有一系列的需求

nginx架构分析

烈酒焚心 提交于 2019-12-18 01:39:06
Nginx模块化 #Nginx基于模块化设计,每个模块是一个功能实现,分布式开发,团队协作 #核心模块、标准HTTP模块、可选HTTP模块、邮件模块、第三方模块 #编译后的源码目录objs/ngx_modules.c # https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/module.md Nginx的web请求机制 #并行处理:多进程、多线程、异步 # https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/IO.md Nginx事件驱动模型 # https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/event.md 设计架构概览 #Nginx基于模块化设计、基于事件驱动模型处理请求、主进程和工作进程 # https://coding.net/u/aminglinux/p/nginx/git/blob/master/4z/jg.md Nginx模块化结构 Nginx涉及到的模块分为核心模块、标准HTTP模块、可选HTTP模块、邮件服务模块以及第三方模块等五大类。 核心模块 核心模块是指Nginx服务器正常运行时必不可少的模块,它们提供了Nginx最基本最核心的服务,如进程管理、权限控制

基础网络概念

自作多情 提交于 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浏览器就能进行增删改查。 基础网络概念 以太网:局域网与交换机 广播  主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面