高可用

运维分类

。_饼干妹妹 提交于 2019-12-13 00:00:14
系统运维 主要负责:系统运维负责IDC、网络、CDN和基础服务的建设(LVS、NTP、DNS);负责资产管理,服务器选型、交付和维修 IDC数据中心建设 收集业务需求,预估未来数据中心的发展规模,从骨干网的分布,数据中心建筑,以及Internet接入、网络攻击防御能力、扩容能力、空间预留、外接专线能力、现场服务支撑能力等方面评估选型数据中心。负责数据中心的建设、现场维护工作。 == 网络建设== 设计及规划生产网络架构,这里面包括:数据中心网络架构、传输网架构、CDN网络架构等,以及网络调优等日常运维工作 LVS负载均衡和SNAT建设 LVS是整个站点架构中的流量入口,根据网络规模和业务需求,构建负载均衡集群;完成网络与业务服务器的衔接,提供高性能、高可用的负载调度能力,以及统一的网络层防攻击能力;SNAT集中提供数据中心的公网访问服务,通过集群化部署,保证出网服务的高性能与高可用。 CDN规划和建设 CDN工作划分为第三方和自建两部分。建立第三方CDN的选型和调度控制;根据业务发展趋势,规划CDN新节点建设布局;完善CDN业务及监控,保障CDN系统稳定、高效运行;分析业务加速频道的文件特性和数量,制定最优的加速策略和资源匹配;负责用户劫持等CDN日常故障排查工作。 服务器选型、交付和维护 负责服务器的测试选型,包含服务器整机、部件的基础性测试和业务测试,降低整机功率

高可用数据库UDB主从复制延时的解决

╄→尐↘猪︶ㄣ 提交于 2019-12-12 16:18:36
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> MySQL主从复制的延时一直是业界困扰已久的问题。延时的出现会降低主从读写分离的价值,不利于数据实时性较高的业务使用MySQL。 UDB是UCloud推出的云数据库服务,上线已达六年,运营了数以万计的UDB MySQL实例。除了提供高可用、高性能、便捷易用的产品特性,团队还平均每天帮助用户解决2-3起MySQL实例主从复制延时的问题。从大量实践中我们总结了主从复制延时的各种成因和解决方法,现分享于此。 延时问题的重要性 主从复制机制广泛应用在UDB的内部实现中:UDB创建的从库和主库就采用了“主从复制”的数据复制;另外,UDB的主打产品“UDB MySQL高可用实例”,也是采用2个数据库互为主从的“双主模式”来进行数据复制,而双主模式的核心就是主从复制机制。 如果主从复制之间出现延时,就会影响主从数据的一致性。 在高可用复制场景下,我们在UDB高可用容灾设计上考虑到,若出现主备数据不一致的场景,默认是不允许进行高可用容灾切换的。因为在主备数据不一致的情况下,此时发生容灾切换,且在新的主库写入了数据,那么从业务角度上,会产生意想不到的严重后果。 复制延时问题,不仅在UDB高可用中会带来不良后果,在只读从库的场景下,若从库产生复制延时,也可能会对业务造成一定影响,比如在业务上表现为读写不一致——新增

hadoop环境搭建

巧了我就是萌 提交于 2019-12-12 15:05:31
一 hadoop 简介 1 Hadoop 整体框架 Hadoop 由HDFS 、MapReduce、HBASE、hive 和zookeeper 等成员组成,其中最 基础最重要的元素是底层用于存储集群中所有存储节点文件的文件系统HDFS 来 执行MapReduce 程序的MapReduce 引擎 1 pig 是一个基于Hadoop 的大规模数据分析平台,pig 为复杂的海量数据并行计 算提供了一个简单的操作和编程接口 2 hive 是基于Hadoop 的一个工具,提供完整的SQL 查询,可以将sql 语句转换 为MapReduce (映射)任务进行执行 3 zookeeper:高效的,可扩展的协调系统,存储和协调关键共享状态 4 HBASE 是一个开源的,基于列存储模型的分布式数据库 5 hdfs 是一个分布式文件系统,具有高容错的特点,适合于那些超大数据集的应 用程序, 6 MapReduce 是一种编程模式,用于大规模数据集的并行计算 2 hadoop 集群部署结构 3 hadoop 核心设计 1 HDFS 是一个高度容错性的分布式文件系统,可以被广泛的部署于廉价的PC 上,他以流式访问模式访问应用程序的数据,这样可以提高系统的数据吞吐量,因而非常适合用于具有超大数据集的应用程序中 HDFS 架构采用主从架构,一个HDFS 集群应该包含一个namenode

使用keepalived打造redis双机热备

淺唱寂寞╮ 提交于 2019-12-12 10:44:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> redis是非常实用的优秀nosql开源产品,在高并发的服务器环境中,可以作为缓存和队列使用.美中不足的是,到现在为止,redis并没有推出自己的集群方案,对一个完善的生产环境,负载均衡,高可用,主从备份都是必不可少的选项,redis提供了稳定·的主从备份功能,提供了数种持久化策略,在主从备份上也提供了增量备份的功能,现在通过sentinel提供主从热备的功能,可惜功能上并不完善,达不到生产环境的要求。 现在我们选定keepalived作为redis的高可用支持,keepalived不仅可以比较完善的支持redis的高可用,而且作为lvs负载均衡的配套产品,和lvs天然具有较好的配合,对于搭建redis集群有较好的扩展性。 redis和keepalived的安装非常简单,网上大把的文章可以参考,这里就不再赘述,这里按照redis双机主从热备的场景,讲需要注意的几点,网上的很多文章没有讲清楚。 1,lvs和keepalived的关系,lvs起的是负载均衡功能,而keepalived则是高可用(热备)的支持,keeplaived可以单独使用。 2,keepalived通过VIP虚拟ip的绑定转换来打造热备支持,在转化主从身份的过程中,还支持脚本的调用,根据不同的脚本,keepalived可以用于不同的场景要求

架构学习笔记

こ雲淡風輕ζ 提交于 2019-12-11 13:31:03
架构设计的主要目的是为了解决软件系统复杂度带来的问题 当我们对这样一个系统进行架构设计的时候,首先应识别其复杂度到底体现在哪里。 复杂度来源: 高性能 单机性能,集群性能 高可用 计算(轮询,分发)的高可用,存储的高可用 高扩展 提炼出一个“抽象层”和一个“实现层”,依赖接口,不要依赖具体实现 低成本 低成本与高性能相冲突 安全 功能安全,常见的 XSS 攻击、CSRF 攻击、SQL 注入、Windows 漏洞、密码破解等 架构安全 防火墙 规模 功能越来越多,导致系统复杂度指数级上升 数据越来越多,系统复杂度发生质变 架构设计的三个原则 1,合适原则 人力物力,合适优于业界领先 2,简单原则 简单优于复杂 3,演化原则 版本迭代,演进,演化优于一步到位 架构设计流程 1,排除法识别复杂度 对于架构师来说,关注的不是一天的数据,而是 1 秒的数据,即 TPS 和 QPS 2,设计架构的备选方案 3,详细方案设计 高性能数据库集群 1,读写分离 2,分库分表 3,NoSQL 高性能缓存架构 1,更新锁 对缓存更新操作进行加锁保护,保证只有一个线程能够进行缓存更新 2,后台更新 后台线程除了定时更新缓存,还要频繁地去读取缓存(例如,1 秒或者 100 毫秒读取一次),如果发现缓存被“踢了”就立刻更新缓存,这种方式实现简单,但读取时间间隔不能设置太长,因为如果缓存被踢了

漫谈分布式系统

只愿长相守 提交于 2019-12-11 04:29:50
漫谈分布式系统 1.分布式架构中的相关概念 2.分布式架构的发展过程和历史 3.分布式架构的难点 ==================================== 一. 分布式架构中的相关概念 1.集群 小饭店原来只有一个厨师,切菜洗菜备料炒菜全干。后来客人多了,厨房一个厨师忙不过来,又请了个厨师,两个厨师都能炒一样的菜,这两个厨师的关系是集群 2.分布式 为了让厨师专心炒菜,把菜做到极致,又请了个配菜师负责切菜,备菜,备料,厨师和配菜师的关系是分布式,一个配菜师也忙不过来了,又请了个配菜师,两个配菜师关系是集群 3.节点 节点是指一个可以独立按照分布式协议完成一组逻辑的程序个体。在具体的项目中,一个节点表示的是一个操作系统上的进程。 4.副本 副本(replica/copy)指在分布式系统中为数据或服务提供的冗余。节点的数据丢失时,可以从副本上读取到数据。数据副本是分布式系统中解决数据丢失问题的唯一手段。服务副本表示多个节点提供相同的服务,通过主从关系来实现服务的高可用方案 5.中间件 中间件位于操作系统提供的服务之外,又不属于应用,他是位于应用和系统层之间为开发者方便的处理通信、输入输出的一类软件,能够让用户关心自己应用的部分。 二. 分布式架构的发展过程和历史 一个成熟的大型网站系统架构并不是一开始就设计的非常完美,也不是一开始就具备高性能、高可用、安全性等特性

《云时代架构系列经典技术书籍》

半城伤御伤魂 提交于 2019-12-11 01:48:18
云时代架构系列经典技术书籍 转载 麦晓宇 发布于2018-01-17 08:29:50 阅读数 3198 收藏 展开 云时代架构系列经典技术书籍包括: 1. 《分布式服务架构:原理、设计与实战》 2. 《可伸缩服务架构:框架与中间件》 3. 《互联网轻量级框架SSM源码解密》 4. 《支付平台架构》 5. 《程序猿面试攻略:从技术到技巧》 6. 《从程序员到架构师的转型》 7. 《Java核心要点和最佳实践》 8. 《白话阿里巴巴Java研发手册》 1.《分布式服务架构:原理、设计与实战》 出版状态:已出版,京东有售 作者:艳鹏老师、杨彪老师 本书以分布式服务架构为主线,重点介绍保证服务化架构的一致性、高性能、高可用的解决方案和最佳实践,并介绍了微服务架构中倡导的容器化过程以及敏捷开发和敏捷上线的流程,对分布式服务系统架构设计的核心要点逐一介绍,重点的主题配有代码、设计文档和开源项目,每个主题独立成章,让读者不但可以了解大规模分布式微服务系统是怎么设计的,并且在了解原理的同时,给出了笔者在实际项目实践中积累的最佳实践和模式,大大的提高了读者在现实中互联网项目实现的效率。 本书的要点: 1. 介绍服务化和微服务架构的背景和演化。 2. 介绍微服务遇到的问题和解决问题的模式。 3. 提出解决分布式系统的一致性的切实有效的解决方案和设计模式。 4. 介绍酸碱平衡和最终一致性等理论

TIDB初识

一笑奈何 提交于 2019-12-10 13:28:12
前言: 又好久没写博客了,估计又要水一篇了,先写写看吧。 介绍: 数据现阶段大致分为三种,sql数据库,nosql数据库,newsql数据库,sql数据库最具代表就是我们常用的mysql数据库,这种数据库是关系型数据库,表,主外键关联,nosql数据库我们常用的如mongdb数据库,他以文档形式存储,每个类似json字符串的存储方式,发展到最近又出现了newsql数据库,简单的来说newsql数据库既有nosql数据库存储大数据的特性,又有sql数据库关系表,能用sql语句查询,事物等特性,TiDB数据库就是newsql数据库。 特性: 分布式,支持水平扩展 高可用,机器挂了部分不影响服务 ACID ,强一致 sql特性,关系型数据库 架构: 三大核心组件 TiDB TiDB Server 负责接收 SQL 请求,处理 SQL 相关的逻辑,并通过 PD 找到存储计算所需数据的 TiKV 地址,与 TiKV 交互获取数据,最终返回结果。TiDB Server 是无状态的,其本身并不存储数据,只负责计算,可以无限水平扩展。 PD Placement Driver (简称 PD) 是整个集群的管理模块,其主要工作有三个:一是存储集群的元信息(某个 Key 存储在哪个 TiKV 节点);二是对 TiKV 集群进行调度和负载均衡(如数据的迁移、Raft group leader 的迁移等)

高可用系统相关知识总结

自古美人都是妖i 提交于 2019-12-10 12:14:03
高可用背景介绍 高并发、高可用是互联网分布式系统架构设计中必须考虑的因素之一。 首先来说说高并发,啥是高并发,怎样才算是高并发。个人认为在衡量一个业务系统的并发能力,需要有一个维度,其中最重要的两个衡量标准是业务复杂度和硬件配置(cpu、内存、磁盘、带宽、网卡)。高并发的本质并不是一个数字这么简单,而是需要我们针对现有的业务系统再遇到高并发带来的问题时如何从架构上、设计上、编码上解决问题。微门户系统日均PV 1300W,Node端请求量日均4亿级,Java后端单个服务系统请求量日均1500W,个人认为这个量级和大多数公司相比已经很不错了。 那什么是高可用呢?简单来说就是减少系统不能提供服务的时间。一个高可用的系统需要支持服务故障自动转移、服务精准熔断降级、服务治理、服务限流、服务可回滚、服务自动扩容/缩容等能力。相比高并发,我认为高可用更重要一些。 “硬”投入 F5 VS Array 产品体系架构区别 Array操作系统是ArrayOS,使用自己编制的硬件操作系统,从稳定性来说系统不依赖于底层操作系统的稳定性。从性能来说由于使用了SpeedStack技术,相应的速度要更高。 F5的操作系统是Linux操作系统上起的应用服务(TMOS),从稳定性来说系统以来linux的稳定性。在实际应用中,相应的稳定性会差。从性能来说,采用了分层的处理,降低了数据包处理的速度。 负载均衡功能比较

学习记录 互联网项目---2(Eureka详解,负载均衡入门)

天大地大妈咪最大 提交于 2019-12-10 10:53:17
2.4 Eureka详解 2.4.1 优化集群:高可用的注册中心 Eureka demo即服务的注册中心,事实上Eureka demo也可以是一个集群,形成高可用的Eureka注册中心 服务同步 多个Eureka Server之间也会互相注册为服务,当服务提供者注册到Eureka Server集群中的某个节点时 该节点会把服务的信息同步给集群中的每个节点,从而实现 数据同步 。 因此,无论客户端访问到Eureka Server集群中的任意一个节点,都可以获取到完整的服务列表信息。 搭建高可用的注册中心 我们假设要搭建两条EurekaServer的集群,端口分别为:10086和10087 application-10086.yml # 端口号 server: port: 10086 # eureka的配置 eureka: client: service-url: defaultZone: http://localhost:10087/eureka/ application-10087.yml # 端口号 server: port: 10087 # eureka的配置 eureka: client: service-url: defaultZone: http://localhost:10086/eureka/ 所谓的高可用注册中心