高可用

支付宝的技术架构及实践——阅读心得

雨燕双飞 提交于 2020-01-15 05:19:30
架构 支付宝的架构设计需要考虑到互联网金融业务的特殊性,比如要求更高的业务连续性,更好的高扩展性,更快速的支持新业务发展等特点。将 整个平台划分为三层: 1. 运维平台( IAAS):主要提供基础资源的可伸缩性,比如网络、存储、数据库、虚拟化、IDC ( 互联网数据中心 ) 等,保证底层系统平台的稳定性; 2. 技术平台( PAAS):主要提供可伸缩、高可用的分布式事务处理和服务计算能力,能够做到弹性资源的分配和访问控制,提供一套基础的中间件运行环境,屏蔽底层资源的复杂性; 3. 业务平台( SAAS):提供随时随地高可用的支付服务,并且提供一个安全易用的开放支付应用开发平台。 图示如下。 可伸缩性的含义: 种对软件系统计算处理能力的设计指标,高可伸缩性代表一种弹性,在系统扩展成长过程中,软件能够保证旺盛的生命力,通过很少的改动甚至只是硬件设备的添置,就能实现整个系统处理能力的线性增长,实现高吞吐量和低延迟高性能。 简单的说就是做更多的事情。 架构特性 逻辑数据中心架构 双十一大促当天业务量倍增,系统的复杂度越来越高,之前按照点的伸缩性架构无法满足要求,需要一套整体的可伸缩方案,可以按照一个单元的维度进行扩展。 能够提供支持异地伸缩的能力,提供 N+1 的灾备方案,提供整体性的故障恢复体系。 于是提出了 逻辑数据中心架构,核心思想是把数据水平拆分的思路向上层提到接入层、终端,

(nginx,Varnish,Squid,Apache TrafficServer)之 nigix与narnish的区别和比较二

a 夏天 提交于 2020-01-15 02:03:26
在前面的文章中,我们曾对HAProxy、Varnish的性能、配置做过详细介绍。今天给各位带来的是这三款开源代理服务器软件的区别,以及什么样的场景使用哪款软件。 哪个软件能够支撑高可用,高并发,还要好维护,运维和网络管理员如何从这些方案中选择一个适合的代理服务器解决方案。 下面我们就来看这三种代理服务器的基本资料,然后对比异同。 关于代理服务器 代理服务器的位置是后端服务的前端,用来负载流量,分配资源,以及解决安全攻击等问题,比如DDOS,并且支持Web应用的高可用。 Varnish Varnish是一款反向HTTP代理服务器,提供加速设计给大流量的网站应用。不像其它 ,如果你要使用代理和负载均衡。 Varnish的典型用户有WikiPedia,纽约时报。我在好乐买(Okbuy.com)也部署了Varnish。保证了服务器的性能和高可用。 还有很多实例,不再枚举。Varnish是从2006年开始开发的。 Nginx Nginx恐怕是Web服务器里排名老大,它兼具负载均衡、反向代理等一身的Web服务器。Nginxr的开发活跃度和社区也都非常活跃。 目前,Nginx分为开源版和企业版两种,另外还有变体版本,比如淘宝优化的Tenginx等。Nginx已经被大量高负载网站所应用,国内外知名大部分都已经使用Nginx做为Web服务器,如WordPress,Aribnb,中国的BAT等大量采用

MHA高可用架构部署配置实例

江枫思渺然 提交于 2020-01-15 01:13:36
MHA高可用架构部署配置实例 一、前言 1.1What‘s MHA?——原理简介 ​ MHA——Master High Availability,目前在MySQL高可用方面是一个相对成熟的解决方案,是一套优秀的MySQL故障切换和主从提升的高可用软件。 ​ 这里我们提到了两个个关键点:“高可用”,“故障切换“。我们逐一简单介绍一下这两者的含义。 1.1.1何为高可用? ​ 高可用就是可用性强,在一定条件下(某个服务器出错或宕机)可以保证服务器可以正常运行,在一定程度上不会影响业务的运行。 1.1.2故障切换 ​ 当主服务器出现错误时,被manager服务器监控到主库mysqld服务停止后,首先对主库进行SSH登录检查(save_binary_logs -command=test),然后对mysqld服务进行健康检查(PING(SELECT)每个3秒检查一次,持续3次),最后作出Master is down!的判断,master failover开始进行对应的处理,具体的过程可以参考网上的博客,这里给出一个链接: https://www.cnblogs.com/xiaoboluo768/p/5210820.html 大家可以参考这位朋友的文章,讲的非常详细。 二、MHA高可用架构部署实例 2.1部署环境与基础配置要求 在虚拟机环境下,需要四台Centos7服务器

当我们在谈论“服务治理”的时候,都在谈论些什么?

老子叫甜甜 提交于 2020-01-14 18:11:22
高并发、高可用架构系列 –带你构建大规模分布式服务 阅读本(系列)文章,你将会收获: 全面、体系化的了解大规模分布式系统中的服务治理 一线互联网公司如何应对高并发、大流量场景,稳定性保障体系揭秘(高并发高可用必备) 常见限流算法的实现,阿里巴巴(历年双十一)限流、熔断保护利器sentinel的设计原理和实践经验(高并发高可用必备) 高性能、高可用配置中心的本质、架构设计思想、原理和实践经验(微服务架构必备) 高性能、高可用服务注册中心的本质、架构设计思想、原理和实践经验(微服务架构必备) 互联网公司技术架构的普遍痛点、架构愿景及解法(技术广度和思维能力) 当我们在谈论“服务治理”的时候,都在谈论些什么? 我从业之初接触到的便是一堆基于Webservice、Hessain等实现的跨语言的分布式系统,那是SOA架构和理念十分盛行的时代,我常常听到前辈们在谈论**“SOA治理” 等高大上的词,但我当时并没有理解何为 “治理” ,甚至在想:为什么不叫 “管理”呢?在此之前,我仅在小学课本上接触过 “污水治理”这个词。直到近些年互联网企业大规模服务化进程的推进,以Dubbo、Spring Cloud为代表的开源服务框架流行起来, “服务治理” 又热门了起来。 那到底何为 “治理” 呢?大型互联网公司动辄几千上万个应用,而中型公司也至少几百上千个应用。微服务流行后,服务数量更是与日俱增,

高性能Mysql学习笔记-1-总览

天涯浪子 提交于 2020-01-14 06:16:30
《高性能mysql》,这本经典之作,是个程序员就会买买买,但真正看完的确实不易。本篇博客记录的,也只是本人第一遍快速阅读完之后的一个简易总结和记录,尚未未深入学习,但已经感受到此书的“神力”,似乎没有这本书解决不了的问题(前提是要对本书的每一个字都要深入研究),看似700多页的一本书,实际学习起来,恐怕7000多页也不止。 简言之,本书更多的是给予一种宏观的指导,告诉我们有哪些点可能会从性能的角度去优化。当然任何一个点,书中都未详细到可以作为手册去看的程度,更多的是方向。 总结感受:开阔眼界,但要想实际操作,恐怕不是一时半会儿能消化的,其中很多场景,制作测试条件都很难。另外,由于买的年头有点长了(2017年买的),本书的印次是2016年4月的印次,故书中很多内容也存在过时现象,有不少在写书的版本需要做的优化,到了高版本,5.5及以上都已经由mysql自身解决,dba或研发人员不需要再为此烦劳。对,还有一点,十分推荐看看本书的附录,相对于前面的章节,附录,反而对于普通研发人员及dba,是更常见的操作。 随话说:一张图胜过千言万语: 关于本书的目录,就不再赘述,此文是本人学习的一个总结,所以有不妥之处,还望读者指正。 一、基准测试,在第二章节,提到的基准测试,始终贯穿全书几乎每个章节,哈哈,默默的说一句,截止到本文,对基准测试这一章节的印象就是各种难难难。。。但又很重要

Flink的高可用集群环境

我是研究僧i 提交于 2020-01-14 04:36:21
Flink的高可用集群环境 Flink简介 Flink核心是一个流式的数据流执行引擎,其针对数据流的分布式计算提供了数据分布,数据通信以及容错机制等功能。 因现在主要Flink这一块做先关方面的学习,因此准备要开通Apache Flink专栏这一块定期发布一些文章。今天在自己的博客因为专栏无法申请通过,所以先在此记录第一篇关于Flink部署的文章。 在这里顺便打个小广告,Flink社区第一季线下meetup,已在上海,北京举办。接下来分别会在成都和深圳举办接下来的几期,也希望小伙伴们踊跃的加入到Flink社区来,下载钉钉,扫描下方二维码即可加入大群。 首先今天先介绍一下Flink的安装,安装部署最新1.6版本支持有8种安装方式,详细可以参考安装部署方式【Clusters & Deployment】 。下面主要介绍Standalone Cluster模式和on yarn模式 。 软件包下载地址 一.Flink独立集群模式安装(Cluster Standalone) 1.1.解压安装 [root@h001 soft]# tar -zxvf flink-1.2.0-bin-hadoop26-scala_2.11.tgz -C /usr/bigdata/ 1 1.2.Flink配置(Configuring Flink) 对其进行相关的配置。主要涉及到的配置文件是conf/flink

MySQL高可用——PXC简介

六眼飞鱼酱① 提交于 2020-01-14 02:45:04
PXC简介: galera产品是以galera cluster方式为mysql提高高可用集群解决方案的。galera cluster就是集成了galera插件的mysql集群。galera replication是codership提供的mysql数据同步方案,具有高可用性,方便扩展,并且可以实现多个mysql节点间的数据同步复制与读写,可保障数据库的服务高可用及数据强一致性。 PXC属于一套近乎完美的mysql高可用集群解决方案,相比那些比较传统的基于主从复制模式的集群架构MHA和MM+keepalived,galera cluster最突出特点就是解决了诟病已久的数据复制延迟问题,基本上可以达到实时同步。而且节点与节点之间,他们相互的关系是对等的。本身galera cluster也是一种多主架构。galera cluster最关注的是数据的一致性,对待事物的行为时,要么在所有节点上执行,要么都不执行,它的实现机制决定了它对待一致性的行为非常严格,这也能非常完美的保证MySQL集群的数据一致性; 对galera cluster的封装有两个,虽然名称不同,但实质都是一样的,使用的都是galera cluster。一个MySQL的创始人在自己全新的MariaDB上实现的MAriaDB cluster;一个是著名的MySQL服务和工具提供商percona实现的percona

keepalived+Haproxy搭建高可用Web群集

随声附和 提交于 2020-01-14 02:08:47
Haproxy是目前比较流行的一种群集调度工具,同类群集调度工具有很多,如LVS和Nginx。相比较而言,LVS性能最好,但是搭建相对复杂,搭建LVS群集可以参考博文: 搭建:LVS+Keepalived高可用Web服务群集环境 ;Nginx的upstream模块支持群集功能,但是相对群集节点健康检查功能不强,性能没有Haproxy好,更多的是应用在企业内网环境中。Nginx群集可以参考博文: centos 7部署Tomcat及其负载均衡配置详解 。 上述几个web群集调度器属于软件类型的,还有很多硬件群集调度器,硬件一般使用比较多的是F5,也有很多公司使用国产的一些产品,如梭子鱼、绿盟等。硬件群集调度器有一些比较显而易见的缺点,如果说出问题了,还要需要厂家的技术支持,厂家维护时还需要我们的错误日志,在出现问题到问题解决这段时间,可能一个月的时间都过去了。若是使用软件型的群集调度器,那么只要我们运维人员技术过硬,发现问题到解决问题,很快的。 关于Haproxy常用的调度算法、配置文件及参数优化可以参考博文: centos 7 之haproxy的配置文件详解及haproxy参数调优 现在以下面的环境,进行搭建一个keepalived的高可用web群集(关于高可用存储服务器,这里就省略了,将在以后的文章写出如何搭建高可用的存储服务器),环境如下: 一、准备工作: 1、调通网络

redis的特点以及搭建

杀马特。学长 韩版系。学妹 提交于 2020-01-13 04:09:12
Redis介绍 为了更好的了解Redis,我们不妨从以下几点来分析Redis: Redis是什么,有什么特点 我们使用Redis是为了解决什么样的问题 Redis有哪些特别棒的技术,这些技术又为了解决实际工作中的哪些问题 了解Redis,我们怎么去使用Redis,需要get哪些知识技能点 运用Redis来搭建高可用的环境 Redis是什么,有什么特点 官方的解释:Redis是使用C语言编写,支持网络、内存,亦可持久化的日志型、key-value数据库; 首先明确一点,Redis是一个数据库,不同于我们熟悉的关系型数据:Oracle和Mysql等; Redis是基于内存的key-value数据库。Redis跟Memcached比较像,不同的是Redis的value支持多种数据结构类型。 Redis有如下一些很棒的优点: Redis支持多种数据类型:String, hash, list, set以及zset(sorted set),这些数据类型能让我们很好的定义不同数据类型来满足我们的业务的需要。 Redis数据库支持事务,所有的操作都是原子性的 内存数据库,速度非常快,使用目前流行的SSD硬盘,性能得到更优 支持将内存中的数据库持久化硬盘上,并且支持在启动的时候恢复数据 Redis支持主从架构(复制) Redis可以配置高可用缓存架构(主备切换) Redis可以搭建分布式集群架构

Keepalived+Haproxy实现高可用负载均衡

僤鯓⒐⒋嵵緔 提交于 2020-01-12 17:47:41
高可用负载(主备节点)部署步骤 完成下图一个简单的高可用负载机制: 1.拷贝keepalived-1.2.19.tar.gz至Linux的/home目录(也可以是其它目录) 2.解压并安装keepalived: tar -zxvf keepalived-1.2.19.tar.gz yum install popt-devel yum -y install openssl-devel cd keepalived-1.2.19 ./configure make && make install 这样keepalived编译及安装完成! 3.拷贝并复制keepalived: cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ mkdir /etc/keepalived cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/ cp /usr/local/sbin/keepalived /usr/sbin/ 上传并覆盖keepalived.conf至/etc/keepalived 备注:keepalived.conf详见步骤4 上传check