高可用

(5.15)mysql高可用系列——MHA实践

自古美人都是妖i 提交于 2019-12-01 08:55:53
关键词:MHA,mysql mha 【1】需求   采用mysql技术,实现MHA高可用主从环境   MHA概念参考: MYSQL高可用技术概述 【2】环境技术架构   操作系统:5台 centos7.5   数据库版本:mysql5.7.24   MHA 软件 :MHA 0.58   数据库架构:基于MHA 软件实现主从复制,采用GTID+无损同步复制技术,双主多从。 项目具体部署信息 角色 ip地址 主机名 server_id 类型 Monitor host 192.168.1.201 db1 监控复制组 master 192.168.1.202 db2 2023306 写入 slave1 192.168.1.203 db3 2033306 读(备用master) slave2 192.168.1.204 db4 2043306 读 slave3 192.168.1.205 db5 2053306 读 111 来源: https://www.cnblogs.com/gered/p/11674463.html

SpringCloud(四)Hystrix熔断器

北战南征 提交于 2019-12-01 07:33:35
SpringCloud(四)Hystrix熔断器 目录2477203708 一、Ribbon中使用熔断器 二、Feign中使用熔断器 三、熔断器仪表盘监控 前面已经学习了服务注册与发现组件,负载均衡组件,这样我们的微服务系统已经可以使用了。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证 100% 可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入, Servlet 容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的 “雪崩” 效应。 这就让需要对故障和延迟进行隔离和管理,以便单个依赖关系的失败,不能取消整个应用程序或系统。 为了解决这个问题,业界提出了熔断器模型。 Hystrix是一个用于处理分布式系统的延迟和容错的开源库,在分布式系统里,许多依赖不可避免的会调用失败,比如超时、异常等,Hystrix能够保证在一个依赖出问题的情况下,不会导致整体服务失败,避免级联故障,以提高分布式系统的弹性。 “断路器”本身是一种开关装置,当某个服务单元发生故障之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个符合预期的、可处理的备选响应(FallBack),而不是长时间的等待或者抛出调用方无法处理的异常

Redis哨兵

我怕爱的太早我们不能终老 提交于 2019-12-01 07:29:46
  1. 需求     如果搭建redis分片,如果其中一台服务器宕机.则导致整个分片不能正常使用.     需求:能否实现服务器尽可能”不宕机”.(高可用)   2. Redis哨兵工作原理          前提:如果需要实现redis高可用,必须先配置主从结构:     1. 用户通过哨兵之后连接当前集群中的主机;     2. 哨兵通过心跳检测机制实时向主机发出心跳检测:PING-PONG。如果连续3次没有收到主机的回执,则发现主机宕机,开始进行推选;     3. 哨兵通过连接主机时已经获取了主机的全部信息。如果主机宕机,哨兵通过推选的机制选择一台从机当做新的主机,之后将其他的服务器改为当前主机的从机;   3. 哨兵高可用搭建     1. 复制目录 cp -r shards sentinel     2. 删除持久化文件       因为redis节点的配置文件名称都是一致的,启动redis时会导致内存数据都是相同,所以必须先删除持久化文件: rm -f dump.rdb appendonly.aof     3. 主从搭建       a. 启动三台redis       b. 检查redis节点状态( 执行命令 src/redis-cli -p 6379 进入redis操作界面 ,执行 info replication 查看节点状态)               

【高级架构师实战】Spring Cloud微服务大型电商架构亿级流(免费不加密)

我的梦境 提交于 2019-12-01 07:24:15
第一版 001. 课程介绍以及高并发高可用复杂系统中的缓存架构有哪些东西? 002. 基于大型电商网站中的商品详情页系统贯穿的授课思路介绍 003. 小型电商网站的商品详情页的页面静态化架构以及其缺陷 004. 大型电商网站的异步多级缓存构建+nginx数据本地化动态渲染的架构 005. 能够支撑高并发+高可用+海量数据+备份恢复的redis的重要性 006. 从零开始在虚拟机中一步一步搭建一个4个节点的CentOS集群 007. 单机版redis的安装以及redis生产环境启动方案 008. redis持久化机对于生产环境中的灾难恢复的意义 009. 图解分析redis的RDB和AOF两种持久化机制的工作原理 010. redis的RDB和AOF两种持久化机制的优劣势对比 011. redis的RDB持久化配置以及数据恢复实验 012. redis的AOF持久化深入讲解各种操作和相关实验 013. 在项目中部署redis企业级数据备份方案以及各种踩坑的数据恢复容灾演练 014. redis如何通过读写分离来承载读请求QPS超过10万+? 015. redis replication以及master持久化对主从架构的安全意义 016. redis主从复制原理、断点续传、无磁盘化复制、过期key处理 017. redis replication的完整流运行程和原理的再次深入剖析

深度解析数据缓存技术

旧街凉风 提交于 2019-12-01 07:13:32
1.缓存概述 ​ 缓存是分布式系统中的重要组件,主要解决高并发,大数据场景下,热点数据访问的性能问题。提供高性能的数据快速访问。 1.1.缓存的原理 将数据写入/读取速度更快的存储(设备); 将数据缓存到离应用最近的位置; 将数据缓存到离用户最近的位置; 1.2.缓存分类 在分布式系统中,缓存的应用非常广泛,从部署角度有以下几个方面的缓存应用: - CDN缓存; - 反向代理缓存; - 分布式Cache; - 本地应用缓存; 1.3.缓存媒介 常用中间件:Varnish,Ngnix,Squid,Memcache,Redis,Ehcache等; 缓存的内容:文件,数据,对象; 缓存的介质:CPU,内存(本地,分布式),磁盘(本地,分布式) 1.4.缓存设计 缓存设计需要解决以下几个问题: 1>缓存什么?哪些数据需要缓存:1.热点数据;2.静态资源。 2>缓存的位置?CDN,反向代理,分布式缓存服务器,本机(内存,硬盘) 3>如何缓存的问题? - 过期策略 - 固定时间:比如指定缓存的时间是30分钟; - 相对时间:比如最近10分钟内没有访问的数据; - 同步机制 - 实时写入;(推) - 异步刷新;(推拉) 2.CDN缓存 ​ CDN主要解决将数据缓存到离用户最近的位置,一般缓存静态资源文件(页面,脚本,图片,视频,文件等)。国内网络异常复杂,跨运营商的网络访问会很慢

基于SOA的高并发和高可用分布式系统架构和组件详解

瘦欲@ 提交于 2019-12-01 07:02:41
基于SOA的分布式高可用架构和微服务架构,是时下如日中天的互联网企业级系统开发架构选择方案。在核心思想上,两者都主张对系统的横向细分和扩展,按不同的业务功能模块来对系统进行分割并且使用一定的手段实现服务之间的通信,并且基于弹性云服务搭建高可用的分布式解决方案。 但它们之间的区别可能比相似的地方要多,特别是体现在对服务的使用和与云服务的深度结合上。在具体实践中,微服务的架构也可以与其它互联网中间件组合在一起,组成规模更为庞大的SOA分布式系统。本文主要对一个典型的SOA分布式应用的架构和组件做详细的说明。 企业级系统架构的演变 单体式 单体架构即所有系统功能和模块基于MVC的设计模式耦合在一个单体服务器单元中。基于传统的MVC思想,单体应用基于前后端分离的原则,通过Model、Control和View共同来完成一个特点的服务请求。这种传统的架构模式带了了多人团队合作、代码更新和维护、持续部署方面的困难,更重要的是,这种架构无法支持互联网行业对高并发的需求。下图为一个典型商城应用的单体架构及其SSM实现架构: 关于单体式应用的更多资料,可参看: JavaWeb开发之详解Servlet及Servlet容器 基于SSM的Java Web应用开发原理初探 集群 至少在高并发的需求上,单体应用的缺陷是行业所无法忍受的, 那如何提升并发性能呢?一个直接的思路是,把单体应用变成多体,变成集群

细谈八种架构设计模式及其优缺点概述

无人久伴 提交于 2019-12-01 00:33:26
一、什么是架构 我想这个问题,十个人回答得有十一个答案,因为另外的那一个是大家妥协的结果。哈哈,我理解,架构就是 骨架 ,如下图所示: 人类的身体的支撑是主要由骨架来承担的,然后是其上的肌肉、神经、皮肤。架构对于软件的重要性不亚于骨架对人类身体的重要性。 二、. 什么是设计模式 这个问题我问过的面试者不下于数十次,回答五花八门,在我看来,模式就是经验,设计模式就是 设计经验 ,有了这些经验,我们就能在特定情况下使用特定的设计、组合设计,这样可以大大节省我们的设计时间,提高工作效率。 作为一个工作10年以上的老码农,经历的系统架构设计也算不少,接下来,我会把工作中用到的一些架构方面的设计模式分享给大家,望大家少走弯路。总体而言,共有八种,分别是: 单库单应用模式 :最简单的,可能大家都见过 内容分发模式 :目前用的比较多 查询分离模式 :对于大并发的查询、业务 微服务模式 :适用于复杂的业务模式的拆解 多级缓存模式 :可以把缓存玩的很好 分库分表模式 :解决单机数据库瓶颈 弹性伸缩模式 :解决波峰波谷业务流量不均匀的方法之一 多机房模式 :解决高可用、高性能的一种方法 三、单库单应用模式 这是最简单的一种设计模式,我们的大部分本科毕业设计、一些小的应用,基本上都是这种模式,这种模式的一般设计见下图: 如上图所示,这种模式一般只有一个数据库,一个业务应用层,一个后台管理系统

分布式网站架构后续:zookeeper技术浅析

梦想的初衷 提交于 2019-12-01 00:24:37
 Zookeeper是hadoop的一个子项目,虽然源自hadoop,但是我发现zookeeper脱离hadoop的范畴开发分布式框架的运用越来越多。今天我想谈谈zookeeper,本文不谈如何使用zookeeper,而是zookeeper到底有哪些实际的运用,哪些类型的应用能发挥zookeeper的优势,最后谈谈zookeeper对分布式网站架构能产生怎样的作用。   Zookeeper是针对大型分布式系统的高可靠的协调系统。由这个定义我们知道zookeeper是个协调系统,作用的对象是分布式系统。为什么分布式系统需要一个协调系统了?理由如下:   开发分布式系统是件很困难的事情,其中的困难主要体现在分布式系统的“部分失败”。“部分失败”是指信息在网络的两个节点之间传送时候,如果网络出了故障,发送者无法知道接收者是否收到了这个信息,而且这种故障的原因很复杂,接收者可能在出现网络错误之前已经收到了信息,也可能没有收到,又或接收者的进程死掉了。发送者能够获得真实情况的唯一办法就是重新连接到接收者,询问接收者错误的原因,这就是分布式系统开发里的“部分失败”问题。   Zookeeper就是解决分布式系统“部分失败”的框架。Zookeeper不是让分布式系统避免“部分失败”问题,而是让分布式系统当碰到部分失败时候,可以正确的处理此类的问题,让分布式系统能正常的运行。  

云数据库 Memcache 版使用教程

落花浮王杯 提交于 2019-11-30 23:55:53
简介: 云数据库 Memcache 版是基于内存的缓存服务,支持海量小数据的高速访问。云数据库 Memcache 版可以极大缓解对后端存储的压力,提高网站或应用的响应速度。 云数据库 Memcache 版支持 Key-Value 的数据结构,兼容 Memcached 协议的客户端都可与阿里云云数据库 Memcache 版进行通信。 云数据库 Memcache 版支持即开即用的方式快速部署。对于动态 Web、APP 应用,可通过缓存服务减轻对数据库的压力,从而提高网站整体的响应速度。 与本地自建 Memcached 相同之处在于云数据库 Memcache 版同样兼容 Memcached 协议,与用户环境兼容,可直接使用。不同之处在于硬件和数据部署在云端,有完善的基础设施、网络安全保障、系统维护服务。 教程链接: 云数据库 Memcache 版使用教程 (课程主要介绍阿里云 E-MapReduce 的使用方法) 架构: 云数据库 Memcache 版采取集群版架构。 云数据库 Memcache 版内置数据分片及读取算法,整体过程对用户透明,免去用户开发及运维烦恼。每个分片节点采取主备架构保证服务高可用。 云数据库 Memcache 版由 Proxy 服务器(服务代理)、分片服务器和配置服务器三个组件组成。 Proxy 服务器 单节点配置,集群版结构中会有多个 Proxy 组成

大型网站架构系列:电商网站架构案例

匆匆过客 提交于 2019-11-30 23:11:30
#0 系列目录# 大型分布式网站架构 大型分布式网站架构技术总结 大型网站架构系列:电商网站架构案例 #1 电商案例原因# 分布式大型网站,目前看主要有几类1.大型门户,比如网易,新浪等;2.SNS网站,比如校内,开心网等;3.电商网站:比如阿里巴巴,京东商城,国美在线,汽车之家等。 大型门户一般是新闻类信息,可以使用CDN,静态化等方式优化 , 开心网等交互性比较多,可能会引入更多的NOSQL,分布式缓存,使用高性能的通信框架等 。电商网站具备以上两类的特点, 比如产品详情可以采用CDN,静态化,交互性高的需要采用NOSQL等技术 。因此,我们采用电商网站作为案例,进行分析。 #2 电商网站需求# 客户需求: 建立一个全品类的电子商务网站(B2C),用户可以在线购买商品,可以在线支付,也可以货到付款; 用户购买时可以在线与客服沟通; 用户收到商品后,可以给商品打分,评价; 目前有成熟的进销存系统;需要与网站对接; 希望能够支持3~5年,业务的发展; 预计3~5年用户数达到1000万; 定期举办双11,双12,三八男人节等活动; 其他的功能参考京东或国美在线等网站。 客户就是客户,不会告诉你具体要什么,只会告诉你他想要什么,我们很多时候要引导,挖掘客户的需求。好在提供了明确的参考网站。因此,下一步要进行大量的分析,结合行业,以及参考网站,给客户提供方案。 需求管理传统的做法