可用性

孙宇聪:《评判云服务靠谱程度 -- Coding 安全那些事》

梦想的初衷 提交于 2020-04-07 10:58:05
云服务真的靠谱吗? 相信对这个问题每个人心里都有不同的答+案。我今天想讲的是如何客观的去回答这个问题, 其中结合了 Coding 的一些实践和思考。 广义范围的“靠谱” 有几个比较重要的点。 第一个点就是 Availability (可用性) ,24x7随时可用。一个靠谱的云服务一定是可用性非常高的。 第二点是 Access Control ,可控性一定要好,非云服务你可以上个锁,云服务如何能做到可控性很好,很难。 第三点是 灾难恢复 ,是软件就会有问题。怎么样积极的面对这个问题,这是任何一个云厂商都要诚实面对的问题。 可用性 首先第一点我们看来讲一下可用性,可用性只有一个评判标准,就是 SLA,Service Level Agreement,更多的时候是 SLO, 只是 Objective。 一个东西是不是高可用,那么就问他几个九,敢不敢拿出来说一下。 实实在在的看着这个图说话,3个9基本上是国内云服务的基础线。也就是说**云服务至少要做到3个9才称为基本上可用**,是合格性产品。如果是做 不到这个,你的东西就只是玩具,快回去好好把技术内功修炼修炼再出来刷脸。从3个9迈向4个9,也就是99.99%的可用性,每年只有52.6分钟的时间 是不可用的。 以前的谷歌搜索可用度大概是全球5个9到6个9之间,每一个小节点都是5个9不到6个9之间。想想吧,这其实是很可怕的一个概念。*

ITIL的考核管理体系

China☆狼群 提交于 2020-04-07 07:45:18
是的,我们ITIL的考核管理体系,大概是从几个方面进行考核的。阿里巴巴作为一个上市公司,是全球的B2B电子商务的领先者,那么作为我们的运维部,保证完整的可用性是首当其冲的。我们的ITIL考核体系里面,把完整的可用性是放在第一位的。除此之外,对变更的一些管理的质量,还有事件处理的质量,监控的质量,以及问题管理的质量,从这几个方面进行考核,其中可用性是重中之中。 来源: https://www.cnblogs.com/jhj117/p/5642658.html

通过Portworx在AWS上运行高可用SQL Server容器

|▌冷眼眸甩不掉的悲伤 提交于 2020-04-05 15:45:01
通过Portworx云原生存储,在Amazon EKS里运行高可用SQL Server容器 在本文我们将分析,如何使用Amazon Elastic Container Service for Kubernetes (Amazon EKS, https://amazonaws-china.com/eks/),来在容器中部署Microsoft SQL Server。文中讨论的方式和与原理,也适用于其他需要高可用和持久性、并符合可复用的DevOps方式的有状态应用。例如运行MongoDB、Apache Cassandra、MySQL、或者大数据处理等。 首先能够被支持在容器中运行的是SQL Server 2017版本。我们可以在Linux容器中,使用Kubernetes (https://amazonaws-china.com/kubernetes/)来运行SQL Server生产负载。 Microsoft SQL Server是被广泛使用的数据库。SQL Server提供一系列很不错的功能,也有很不错的开发者社区。但是它需要比较多的运维,也比开源的或者云端的数据库成本要更高。很多为了降低成本的用户会转向开源方案来降低软件授权的成本。另一些用户会迁移工作负载到关系数据库管理系统(RDBMS)服务里,比如Amazon RDS for Microsoft SQL Server或者Amazon

Skype for business混合部署系列之三后端SQL Server Always on配置

大兔子大兔子 提交于 2020-03-31 18:07:37
Skype for business混合部署系列之二后端SQL Server Always on配置 skype for business 后端数据库配置always on 支持的数据库版本 SQL Server 2014 Enterprise Edition 和 SQL Server 2012 Enterprise Edition 1.2台SQL Server 服务器配置双网卡,心跳线网卡配置如下 2.2台SQL Server数据库服务器上安装 Windows Server 故障转移群集。在每台服务器上,执行以下操作 打开“服务器管理器”,然后单击“ 添加角色和功能 ”。 单击“ 下一步 ”,直至达到“ 选择功能 ”框。在这里选中“ 故障转移群集 ”复选框。 在“ 添加故障转移群集所需的功能? ”框中,单击“ 添加功能 ”。 单击“ 安装 ”。 3.验证群集配置。 在“服务器管理器”中,单击“ 工具 ”菜单,然后单击“ 故障转移群集管理器 ”。 在屏幕右侧的“ 操作 ”中,单击“ 验证配置 ”。 在“ 在你开始前 ”页上,单击“ 下一步 ”。 选择要添加到群集的服务器,然后单击“ 运行所有测试 ”。 在“ 摘要 ”框中,检查向导报告的任何错误。然后单击“ 完成 ”完成验证。 3.创建群集。 在“ 故障转移群集管理 ”向导中,右键单击“ 故障转移群集管理 ”,然后单击“ 创建群集

详解Session分布式共享(.NET CORE版)

感情迁移 提交于 2020-03-29 00:56:06
一、前言&回顾 在上篇文章 Session分布式共享 = Session + Redis + Nginx 中,好多同学留言问了我好多问题,其中印象深刻的有:nginx挂了怎么办?采用Redis的Session方案与微软Session方案相比,有什么优势呢?Cookie也可以取代Session的,采用Redis的Session方案优势在哪里?Nginx的iphash方式到底是什么?MachineKey有啥用?Net Core怎样实现? 那会儿看到大家的提问,我的回答也只是从应用层面回答,基本上的回答可以总结为:“别人这么做了,解决了这个问题,我用这个方法也解决了这个问题,原理请看链接。”很惭愧的说,那时的我并没有完全理解他真正的优势在哪里,只是凭着直觉和经验知道这样做比较好,知道当一部分东西不可控时候,将其解耦、可视化、集群就可以让一个系统更加健壮,但没有一个理论支撑。经过最近一段时间的查阅资料和阅读书籍,对此有了深刻理解,本文将从网站架构的可用性角度对这种Session共享进行分析和讲解,并用.net core再次实现这种架构模式。(Session分布式共享的net core版,因为工作没有机会应用到生产环境,过往经验就更别提了,所以只是研究性的,请大家注意,但园子里早有大牛写出了相关文章,本文结束会将相关文章贴出) 二、网站可用性--Session管理

SQL Server高可用性(High Availability)——Log Shipping

余生长醉 提交于 2020-03-28 21:51:21
参考文献: http://msdn.microsoft.com/en-us/library/ms187103.aspx 概述 SQL Server 使用日志传送,您可以自动将“主服务器”实例上“主数据库”内的事务日志备份发送到单独“辅助服务器”实例上的一个或多个“辅助数据库”。 事务日志备份分别应用于每个辅助数据库。 可选的第三个服务器实例(称为“监视服务器”)记录备份和还原操作的历史记录及状态,还可以在无法按计划执行这些操作时引发警报。 优点 为单个主数据库以及一个或多个辅助数据库(每个数据库都位于单独的 SQL Server 实例上)提供灾难恢复解决方案。 支持对辅助数据库的受限的只读访问权限(在还原作业之间的间隔期间)。 允许用户将延迟时间定义为:从主服务器备份主数据库日志到辅助服务器必须还原(应用)日志备份之间的时间。 例如,如果主数据库上的数据被意外更改,则较长的延迟会很有用。 如果很快发现意外更改,则通过延迟,您可以在辅助数据库反映此更改之前从其中检索仍未更改的数据。 术语和定义 主服务器 (primary server):位于生产服务器上的 SQL Server 实例。 主数据库 (primary database):希望备份到其他服务器的主服务器上的数据库。 通过 SQL Server Management Studio

知名网站的技术发展历程

非 Y 不嫁゛ 提交于 2020-03-28 10:03:35
互联网已经发展多年,其中不乏脱颖而出者,这些网站多数都已存在了接近 10 年或 10 年以上,在如此长时间的发展过程中,除了业务上面临的挑战,在技术上也面临了很多的挑战。 我挑选了一些 Alexa 排名较前的网站 ( 排名截止到 2012 年 4 月 21 日),看看它们在技术上是如何应对业务发展过程中的挑战的。 Google 目前 Alexa 排名第 1 。它诞生于 1997 年,当时是一个研究性项目,每个月 build 一次索引, build 出来的索引通过 sharding ( shard by doc )的方式分散到多台服务器( Index Server )上,具体的网页数据同样通过 sharding 的方式分散到多台服务器( Doc Server )上,当用户提交请求时,通过前端的一台服务器将请求提交给 Index Server 获得打了分的倒排索引,然后从 Doc Server 提取具体的网页信息(例如网页标题、搜索关键词匹配的片段信息等),最终展现给用户。 随着索引的网页增加,这个结构可通过增加 Index Server 以及 Doc Server 来存储索引以及网页的数据,但仍然会面临其他很多方面的问题,于是在这之后的十多年的时间里, Google 做了很多事情来改进上面的结构。 1999 年, Google 增加了一个 Cache Cluster ,用来

SQL Server AlwaysOn搭建

此生再无相见时 提交于 2020-03-27 12:07:57
SQL Server Alwayson概念总结 原地址: https://www.cnblogs.com/chenmh/p/6972007.html 一、alwayson概念 “可用性组” 针对一组离散的用户数据库(称为“可用性数据库” ,它们共同实现故障转移)支持故障转移环境。 一个可用性组支持一组主数据库以及一至八组对应的辅助数据库(包括一个主副本和两个同步提交辅助副本)。 辅助数据库不是备份,应继续定期备份您的数据库及其事务日志。 每组可用性数据库都由一个“可用性副本” 承载。 有两种类型的可用性副本:一个“主副本” 和一到四个“辅助副本”。 它承载主数据库和一至八个“辅助副本” ,其中每个副本承载一组辅助数据库,并用作可用性组的潜在故障转移目标。 可用性组在 可用性副本级别 进行故障转移。 可用性副本仅在数据库级别提供冗余 - 针对一个可用性组中的该组数据库。 故障转移不是由诸如因数据文件丢失或事务日志损坏而使数据库成为可疑数据库等数据库问题导致的。 主副本使主数据库可用于客户端的读写连接。 此外,它在称为“数据同步” 的过程中使用,在数据库级别进行同步。 主副本将每个主数据库的事务日志记录发送到每个辅助数据库。 每个次要副本缓存事务日志记录(“硬化”日志),然后将它们应用到相应的辅助数据库。 主数据库与每个连接的辅助数据库独立进行数据同步。 因此

Kafka基础入门

孤街醉人 提交于 2020-03-25 13:24:58
一:初识kafka   对于大型的分布式系统来说,消息中间件可以说是必不可少的,它的核心功能有 解耦 、 异步 、 削峰, 之前说的 RabbitMQ 就是其中一种,而kafka则是消息中间件的又一利器。 首先看一下官网( http://kafka.apache.org/intro )的介绍:Apache Kafka is a distributed streaming platform。 流平台具有三个关键功能: 发布和订阅记录流,类似于消息队列或企业消息传递系统。 以容错的持久方式存储记录流。 处理记录流。 Kafka是一款基于发布与订阅的消息系统。 二:kafka核心概念 1:主题和分区日志:   kafka中消息订阅和发布都是基于某个主题(topic)的,一个主题中又可以被分为很多分区(partition),kafka无法保证整个主题内消息的顺序但是可以保证分区消息的顺序性。 当消息被写入时,如果键为null,默认的分区器会使用轮询算法均衡的把消息写入到各个分区上,如果键不为null,默认分区器会根据键的散列值映射到特定的分区上,同一个键的消息一定是会被写入到同一个分区上的。因此创建主题时就确认好分区,不要后在主题下新增分区。 2:生产者   生产者一般是将一个消息发布到一个自己选择的主题上,在某些情况下,生产者可以把消息发布到指定的分区,这是通过消息键和分区器实现的。

调整 Windows VM 的大小

杀马特。学长 韩版系。学妹 提交于 2020-03-21 15:39:17
本文说明如何使用 Azure Powershell 调整在 Resource Manager 部署模型中创建的 Windows VM 的大小。 创建虚拟机 (VM) 后,可以通过更改 VM 大小来扩展或缩减 VM。在某些情况下,必须先解除分配 VM。如果新大小在当前托管 VM 的硬件群集上不可用,则可能会出现这种情况。 调整不在可用性集中的 Windows VM 的大小 列出托管 VM 的硬件群集上可用的 VM 大小。 复制 Get-AzureRmVMSize -ResourceGroupName <resourceGroupName> -VMName <vmName> 如果列出了所需大小,请运行以下命令来调整 VM 的大小。如果未列出所需大小,请转到步骤 3。 复制 $vm = Get-AzureRmVM -ResourceGroupName <resourceGroupName> -VMName <vmName> $vm.HardwareProfile.VmSize = "<newVMsize>" Update-AzureRmVM -VM $vm -ResourceGroupName <resourceGroupName> 如果未列出所需大小,请运行以下命令来解除分配 VM、调整其大小,然后将它重新启动。 复制 $rgname = "<resourceGroupName>"