可用性

Azure 中虚拟机的区域和可用性

一笑奈何 提交于 2020-02-07 01:06:09
Azure 在中国的两个数据中心运行。 这些数据中心分组到地理区域,让用户可灵活选择构建应用程序的位置。 请务必了解 Azure 中虚拟机 (VM) 运行的方式和位置,以及最大化性能、可用性和冗余的选项。 本文提供了 Azure 的可用性和冗余功能的概述。 什么是 Azure 区域? 可以在规定的地理区域(例如“中国北部”或“中国东部”)创建 Azure 资源。 目前中国有 2 个 Azure 区域:中国东部和中国北部, 可查看 区域及其位置的列表 。为了提供冗余和可用性,每个区域都设有多个数据中心。 这样,便可灵活设计应用程序,创建距离用户最近的 VM,满足任何法律、符合性或税务要求。 这些区域在 Microsoft 和 21Vianet 达成唯一合作关系之后可供用户使用,有了这种关系,Microsoft 就不需直接维护相关数据中心。 请参阅有关 中国区 Azure 的详细信息。 区域对 每个 Azure 区域都与同一地理位置内的另一区域配对。 此方法适用于跨地域复制资源(例如 VM 存储),降低因自然灾害、社会动乱、电力中断或物理网络中断而同时影响两个区域的可能性。 区域对的其他优点包括: 出现范围较广的 Azure 区域中断时,每个区域对中有一个区域优先级更高,这样可以缩短应用程序的还原时间。 将逐一对配对的区域进行计划内 Azure 更新

如何保证消息队列的高可用?

若如初见. 提交于 2020-02-06 19:23:09
面试题 如何保证消息队列的高可用? 面试官心理分析 如果有人问到你 MQ 的知识, 高可用是必问的 。 上一讲 提到,MQ 会导致 系统可用性降低 。所以只要你用了 MQ,接下来问的一些要点肯定就是围绕着 MQ 的那些缺点怎么来解决了。 要是你傻乎乎的就干用了一个 MQ,各种问题从来没考虑过,那你就杯具了,面试官对你的感觉就是,只会简单使用一些技术,没任何思考,马上对你的印象就不太好了。这样的同学招进来要是做个 20k 薪资以内的普通小弟还凑合,要是做薪资 20k+ 的高工,那就惨了,让你设计个系统,里面肯定一堆坑,出了事故公司受损失,团队一起背锅。 面试题剖析 这个问题这么问是很好的,因为不能问你 Kafka 的高可用性怎么保证?ActiveMQ 的高可用性怎么保证?一个面试官要是这么问就显得很没水平,人家可能用的就是 RabbitMQ,没用过 Kafka,你上来问人家 Kafka 干什么?这不是摆明了刁难人么。 所以有水平的面试官,问的是 MQ 的高可用性怎么保证?这样就是你用过哪个 MQ,你就说说你对那个 MQ 的高可用性的理解。 RabbitMQ 的高可用性 RabbitMQ 是比较有代表性的,因为是 基于主从 (非分布式)做高可用性的,我们就以 RabbitMQ 为例子讲解第一种 MQ 的高可用性怎么实现。 RabbitMQ 有三种模式:单机模式、普通集群模式

学习Apollo服务配置中心,与SpringBoot整合

こ雲淡風輕ζ 提交于 2020-02-06 16:24:54
学习Apollo服务配置中心,与SpringBoot整合 通过spring-boot搭建的业务系统,可以通过Apollo提供远程的配置服务,以达到集群环境统一使用一套动态配置的目的。 1.关于NameSpace https://github.com/ctripcorp/apollo/wiki/Apollo%E6%A0%B8%E5%BF%83%E6%A6%82%E5%BF%B5%E4%B9%8B%E2%80%9CNamespace%E2%80%9D 1.1 namespace的使用场景 提供一份全公司默认的配置且可动态调整 RPC客户端项目可以自定义某些配置项且可动态调整 1.2 apollo的注解在java中配置 @EnableApolloConfig要和@Configuration一起使用。 想把日志配置也放阿波罗里,那么要把阿波罗的加载顺序提前,但是如此一来,阿波罗的启动就没日志了。 2. 注解 1.@ApolloConfig 自动注入Apollo对象 2.@ApolloConfigChangeListener 自动注册ConfigChangeListener事件 3.@ApolloJsonValue 转换配置的json字符串 3. 使用实践 3.1 单元测试 1.单元测试的时候用的是mockdata+{namespace}.properties 2

网站缓存

痴心易碎 提交于 2020-02-05 04:48:24
网站技术高速发展的今天,缓存技术已经成为大型网站的一个关键技术,缓存设计好坏直接关系的一个网站访问的速度,以及购置服务器的数量,甚至影响到用户的体验。   网站缓存按照存放的地点不同,可以分为客户端缓存、服务端缓存。 客户端缓存   客户端缓存又可分为:浏览器缓存、网关或代理服务器缓存   网关或代理服务器缓存是将网页缓存中网关服务器上,多用户访问同一个页面时,将直接从网关服务器把页面传送给用户。   浏览器缓存是最靠近用户的缓存,如果启用缓存,用户在访问同一个页面时,将不再从服务器下载页面,而是从本机的缓存目录中读取页面,然后再浏览器中展现这个页面。   浏览器缓存的控制,可以设置meta标签,可以设置数字,也可以设置时间,如下: <Meta http-equiv="Expires" Content="3600"> <Meta http-equiv="Expires" Content="Wed, 26 Feb 1997 08:21:57 GMT">   HTTP头信息如下: HTTP/1.1 200 OK Date: Fri, 30 Oct 1998 13:19:41 GMT Server: Apache/1.3.3 (Unix) Cache-Control: max-age=3600, must-revalidate Expires: Fri, 30 Oct 1998 14

面向使用的软件设计随笔01

和自甴很熟 提交于 2020-02-01 22:13:43
  以使用为中心的软件设计是一种流线型但系统化的开发方法,用来设计能很好满足用户真正需求的软件,即不仅更加有用和易于使用,而且简单且易于建造。这种设计方法适应了当前软件开发面临巨大压力的现实。通过几个简单而功能强大的模型,它提供了一种快速理解用户的有关特征、用户执行任务时的工作意图及其所需系统支持的手段。其方法和模型几乎可以用于任何一种软件开发生命周期(SDLC)模型,可以被结合到任何一种现代开发实践中,包括像统一建模语言(UML)这样的各种面向对象(OO)的方法中。以使用为中心的设计方法并不局限于任何特定的语言平台,不论是在使用最新集成技术的可视化开发环境下进行快速迭代开发,还是对于运行在特殊硬件上基于字符显示的控制系统,这种方法都同样有效。   可用性并不能一蹴而就。这经常是一项艰苦的工作,需要对细节的关注,但通过使用几件基本的概念工具,设计开发人员也可以学会怎样发现可用性问题,怎样改进所开发系统的可用性。麻省理工学院的Woody Flowers教授曾经将摄像机交给一些中学生,让他们去发现和拍摄那些难以使用的产品及其现象,并对其原因加以解释。如果没有经过训练的中学生尚且可以学会可用性的基础知识,那就没有理由怀疑成年人能够掌握可用性的基本原理。 来源: https://www.cnblogs.com/dgb152/p/12250203.html

oracle Data guard

泄露秘密 提交于 2020-02-01 16:37:16
DATA GUARD的最主要的功能是冗灾。当然根据配置的不同,DATA GUARD还可以具备以下特点:高可用、性能提升、数据保护以及故障恢复等。 DATA GUARD可以分为物理STANDBY和逻辑STANDBY两种。二者的最大差别在于,物理STANDBY应用的是主库的归档日志,而逻辑STANDBY 应用的是主库的归档日志中提取的SQL语句。由于二者这一点的区别,决定了物理STANDBY无论从逻辑结构和物理结构都是和主库保持一致,而逻辑 STANDBY则只需保证逻辑结构一致,且逻辑STANDBY在应用SQL语句的时候, 数据库 可以处于打开的状态。 如果从DATA GUARD的保护模式分,可以分为三种不同的保护模式: 保护最大化:这种模式的配置可以保证主库和备库的同步,任何情况下主库的损毁都不会导致已提交数据的丢失。如果主库和备库之间的网络出现问题,或者备库本身出现问题,都会导致主库停止数据处理。 可用最大化:这种模式和上面一种类似,也是会保证主库和备库的同步,区别在于,当网络或备库不可用时,主库仍然可以继续处理。 性能最大化:主库和备库是异步的。这种模式可能在主库出现损毁时,丢失一部分数据。但是这种模式对主库负荷最小,因此具有最好的性能 ========================================================================

分布式--BASE原则

雨燕双飞 提交于 2020-01-30 09:26:28
分布式–BASE原则 概念 BASE 是基本可用(Basically Available)、软状态(Soft State)和最终一致性(Eventually Consistent)三个短语的缩写。 BASE 理论是对 CAP 中一致性和可用性权衡的结果,它的理论的核心思想是: 即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。 基本可用(Basically Available) 什么是基本可用呢?指分布式系统在出现故障的时候,保证核心可用,允许损失部分可用性。**假设系统,出现了不可预知的故障,但还是能用,相比较正常的系统而言: 响应时间上的损失:正常情况下的搜索引擎0.5秒即返回给用户结果,而基本可用的搜索引擎可以在2秒作用返回结果。 功能上的损失:在一个电商网站上,正常情况下,用户可以顺利完成每一笔订单。但是到了大促期间,为了保护购物系统的稳定性,部分消费者可能会被引导到一个降级页面。 软状态 什么是软状态呢? 相对于原子性而言,要求多个节点的数据副本都是一致的,这是一种“硬状态”。 软状态指的是: 指允许系统中的数据存在中间状态,并认为该中间状态不会影响系统整体可用性,即允许系统不同节点的数据副本之间进行同步的过程存在延时。 最终一致性 上面说软状态,然后不可能一直是软状态,必须有个时间期限。在期限过后

分布式--CAP原则

早过忘川 提交于 2020-01-29 12:59:55
CAP原则 分布式–CAP原则 CAP理论是指分布式系统架构中通常只能够满足CAP三个指标中的两个,而不能同时满足CAP三个指标。 C(Consistency):一致性 一致性指的是All nodes see the same data at the same time,也就是说所有节点在同一时间看到的数据必须是一模一样的 ,比如足球比赛中,当比分发生了改变,客户端A看到的比分是1:0,而客户端B看到的比分还是0:0;又比如在银行系统中,通过微信进行银行卡转账,卡上余额从100变成了0,但是在支付宝中查看银行卡余额还是100,这显然就破坏了数据的一致性。 A(Avalilability):可用性 可用性指的是Reads and writes always succeed,也就是说无论是读操作还是写操作,始终是成功的,也就是服务一直可用,不存在服务失败或者用户操作失败的情况 。比如说用户发起提现操作,过了会显示提现失败;在进行转账的时候提示了需要等2天后才能到账,显然就破坏了可用性,因为用户的一系列操作换来的是提现失败,转账延迟才能到账,而不是立马响应到账。 P( Partition Toleranc):分区容错性 分区容错性指all nodes look like one node,也就是说多个节点的运行看起来就像是一个节点在运行一样,一个节点宕机不可用,其他节点还可以正常运行

Redis-cluster服务器集群

送分小仙女□ 提交于 2020-01-29 04:45:02
1.特性 两大关键特性 集群提供了以下两个特性 1、可扩展性--集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。动态添加服务器 2、高可用性--集群通过服务实体冗余使客户端免于轻易遇到out of service的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出错的服务实体恢复到另一个服务实体的功能增强了应用的可用性 当访问的服务器挂了时,集群要有能力找可以正常使用额服务器继续提供服务器。 两大能力 为了具有可扩展性和高可用性特点,集群的必须具备以下两大能力: 1、负载均衡--负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。 2、错误恢复--由于某种原因,执行某个任务的资源出现故障,另一服务实体中执行同一任务的资源接着完成任务。这种由于一个实体中的资源不能工作,另一个实体中的资源透明的继续完成任务的过程叫错误恢复。 当访问的服务器挂了时,集群要有能力找可以正常使用额服务器继续提供服务器。 负载均衡和错误恢复都要求各服务实体中有执行同一任务的资源存在,而且对于同一任务的各个资源来说,执行任务所需的信息视图(信息上下文)必须是一样的 分布式和集群相同点和不同点? 相同点: 都是处理高并发,而且都需要多台服务器协同.一般在一个系统中同时存在分布式和集群.

分布式数据库CAP原理+BASE

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-26 17:28:41
1:CAP理论核心 CAP理论的核心是:一个分布式系统不可能同时很好的满足 一致性,可用性和分区容错性 这三个需求, 最多只能同时较好的满足两个。 因此,根据CAP原理将NoSQL数据库分成了 满足CA原则、满足CP原则和满足AP原则 三大类: CA:单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。 CP:满足一致性,分区容忍必的系统, 通常性能不是特别高 。 AP:满足可用性,分区容忍性的系统, 通常可能对一致性要求低一些 。 CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以 分区容忍性 是我们必须需要实现的。所以我们只能在 一致性和可用性 之间进行权衡,没有 NoSQL系統能同时保证这三点。 C:强一致性 A:高可用性 P:分布式容忍性 CA:传统Oracle数据库 AP:大多数网站架构的选择 CP :Redis、Mongodb 注意:分布式架构的时候必须做出取舍。 2:一致性与可用性抉择 对于web2.0网站来说,关系数据库的很多主要特性却往往无用武之地。 数据库事务一致性需求: 很多web实时系统并不要求严格的数据库事务,对读一致性的要求很低,有些场合对写一 致性要求 并不高。允许实现最终一致性。 数据库的写实时性和读实时性需求: 对关系数据库来说,插入一 条数据之后立刻查询