高可用

keepalived

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-26 02:38:31
回顾: 1.四层和七层负载均衡区别,实际环境; 2.负载均衡的选择 Nginx 四层和七层 LVS 四层 懂网络(NAT,iptables) HAproxy 四层和七层 F5 四层和七层 硬件,不适合云平台 SLB 四层和七层 3.session 会话保持 ip_hash 会话共享 写入redis或mysql 写入浏览器 开发人员实现 Nginx双机热备 高可用 指2台机器启动着相同的业务系统,当有一台机器down机了,另一台服务器能快速接管 使用场景 业务系统需要保证7x24小时不down机。作为业务来说随时都可用,让你的业务系统更顽强。 双机热备 hot standby HSRP (cisco私有) VRRP 虚拟路由冗余协议 keepalived高可用安装 1.环境准备 服务器系统 角色 外网IP 内网IP centOS7.7 keepalived-master eth0:10.0.0.5 eth1:172.16.1.5 centOS7.7 keepalived-slave eth0:10.0.0.6 eth1:172.16.1.6 2.在lb01与lb02上分别安装keepalived [root@1b01 ~]# yum install -y keepalived [root@1b02 scripts]# yum install -y keepalived 3

分布式调度平台 xxl-job 个人改进(灌水)思路

旧街凉风 提交于 2020-02-26 02:06:09
分布式调度平台 xxl-job 个人改进(灌水)思路 本人 刚入门 后端开发, 错误之处请批评指正 被导师安排的🌚 本人于2019年9月6日与同事进行的分享 1 xxl-job 是什么 1.1 xxl-job 是什么 轻量级、易扩展的分布式任务调度框架 通过Cron表达式配置计划任务 0 0/30 9-18 ? * MON-FRI 朝九晚六每半个小时执行 支持多语言(Java、Shell、Python、NodeJS、PHP、PowerShell 等,需要执行器部署环境支持),任务逻辑可在 Web 界面编写代码,或在执行器编写代码 1.2 常见任务调度框架 Quartz Java 常用计划任务框架,虽然 Quartz 可以基于数据库实现作业的高可用,但分布式并行调度方面有所欠缺。 elastic-job 当当开发的弹性分布式任务调度系统,功能丰富强大,采用 zookeeper 实现分布式协调,实现任务高可用以及分片。 xxl-job 是大众点评员工徐雪里于2015年发布的分布式任务调度平台,是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。 1.3 xxl-job 与 elastic-job 怎么选 xxl-job 核心设计目标是开发迅速、学习简单、轻量级、易扩展 登记在用公司数>228家 开箱即用 持续更新,社区活跃、文档齐全 elastic

CapitalOne - Artifactory高可用集群的自动化部署实践

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-26 00:04:46
背景 本文为大家介绍Capital One如何利用自动化流水线实现Artifactory HA集群进行自动化运维。Capital One银行是美国最大的数字化银行之一,在Capital One的devops体系中应用了JFrog Artifactory HA集群进行软件制品管理。由于Capital One规模庞大并且为满足业务连续性要求,其部署的Artifactory HA拥有primary和DR(灾备)两套集群的架构。在运维Artifactory HA集群维护中通过建设和运行自动化的流水线,在不影响用户使用和业务连续性的前提下,自动地完成了版本升级、配置更新、功能更新,安全检测等工作,并且在检测到问题时,实现自动化的回滚。 流水线总体介绍: 通过Jenkins与Github集成驱动流水线。每个PULL请求触发一个小规模测试并提供快速反馈。每个Merge会触发研发环境HA集群范围的部署,并进行相关测试。标签(Tag)被用来标记代码更新的验证阶段和对应的环境。 使用Terraform创建基础设施,实现蓝/绿的发布。并通过Chef Cookbook完成整个集群内所有角色服务器配置 流水线构成 静态分析流水线 通过对代码静态分析对代码结构进行快速反馈,确保其符合行业标准。同时使用一系列的Linters进行不同类型的代码分析。 安全扫描流水线 Capital

MySQL高可用之KeepAlived+双主

元气小坏坏 提交于 2020-02-25 23:36:25
MySQL高可用之KeepAlived双主 生产环境中一台mysql主机存在单点故障,所以要确保mysql的高可用性,即两台MySQL服务器。如果其中有一台MySQL服务器挂掉后,另外一台能立马接替其进行工作。 MySQL的高可用方案一般有如下几种:keepalived+双主,MHA,PXC,MMM,Heartbeat+DRBD等,比较常用的是keepalived+双主,MHA和PXC。 主要介绍利用 keepalived 实现 MySQL 数据库的高可用。 Keepalived+mysql双主来实现MySQL-HA,我们必须保证两台MySQL数据库的数据完全一样。 基本思路 两台MySQL互为主从关系,通过Keepalived配置虚拟IP,实现当其中的一台MySQL数据库宕机后,应用能够自动切换到另外一台MySQL数据库,保证系统的高可用。 环境 Mysql版本:mysql 5.7 Keepalived: keepalived-1.2.20 主机 操作系统 mysql-VIP IP地址 mysql-master01 CentOS 7 192.168.10.100 192.168.1.1 mysql-master02 CentOS 7 192.168.10.100 192.168.1.8 一、配置两台服务器主主同步 该过程的第一部分就是master记录二进制日志

Heartbeat基础知识

拈花ヽ惹草 提交于 2020-02-25 22:16:37
在日常的集群系统架构中,一般用到Heartbeat的主要就2种: 1)高可用(High Availability)HA集群, 使用Heartbeat实现,也称为”双机热备”, “双机互备”, “双机”; 2)负载均衡群集(Load Balance Cluster),使用Linux Virtual Server(LVS)实现; Heartbeat 的介绍 Heartbeat是Linux-HA项目中的一个组件,它实现了一个高可用集群系统。 心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat项目里,由heartbeat模块实现了这两个功能 。Heartbeat是目前开源HA项目中十分成功的一个例子,它提供了所有 HA 软件所需要的基本功能,比如 心跳检测和资源接管、监测群集中的系统服务、在群集中的节点间转移共享 IP 地址的所有者 等,自1999年开始到现在,Heartbeat在行业内得到了广泛的应用。heartbeat最核心的功能包括两个部分,心跳监测和资源接管。心跳监测可以通过网络链路和串口进行,而且支持冗 余链路,它们之间相互发送报文来告诉对方自己当前的状态,如果在指定的时间内未收到对方发送的报文,那么就认为对方失效,这时需启动资源接管模块来接管运行在对方主机上的资源或者服务。 Hearbeat和Keepalived区别 1)

企业级高可用集群---RHCS(二)---配置集群套件

烂漫一生 提交于 2020-02-23 22:59:28
企业级高可用集群—RHCS(二)—配置集群套件 文章目录 企业级高可用集群---RHCS(二)---配置集群套件 1.部署实验环境 2.搭建RHCS环境 3.创建集群 4.配置fence 1.部署实验环境 此实验中需要3台rhel6版本的虚拟机,分别是server1 server2 server3。 配好同一网段的ip地址,提前写好解析。(操作比较简单,这里就不在赘述了) vim /etc/hosts #添加解析 172.25.254.1 server1 172.25.254.2 server2 172.25.254.3 server3 在server1和server2搭建高级的yum源: 在server1中: cd /etc/yum.repos.d/ ls vim rhel-source.repo 将写好的文件发给server2: scp rhel-source.repo root@172.25.254.2:/etc/yum.repos.d/ 配置成功: yum clean all yum repolist 2.搭建RHCS环境 ricci---图形里的集群管理 luci---图形界面 在server1中安装: yum install ricci luci -y 给ricci设置密码: id ricci passwd ricci 启动ricci luci: 注意

Linux 集群架构

三世轮回 提交于 2020-02-22 12:05:38
Linux 集群架构 一、Linux 集群概述 根据功能划分为两大类:高可用和负载均衡 高可用集群,通常为两台服务器,一台工作,另外一台作为冗余;当提供服务的机器宕机,冗余将接替继续提供服务。实现高可用的开源软件有:heartbeat、keepalived 负载均衡集群,需要有一台服务器作为分发器,它负责把用户的请求分发给后端的服务器处理;在这个集群里,除了分发器外,就是给用户提供服务的服务器了,这些服务器数量至少为2台。实现负载均衡的开源软件有LVS、keepalived、haproxy、nginx,商业的有F5、Netscaler。 二、高可用集群配置 1. keepalived介绍 在这里我们使用keepalived来实现高可用集群,因为heartbeat在centos6上有一些问题,影响实验效果;keepalived通过VRRP(Virtual Router Redundancy Protocl)来实现高可用。在这个协议里会将多台功能相同的路由器组成一个小组,这个小组里会有1个master角色和N(N>=1)个backup角色。master会通过组播的形式向各个backup发送VRRP协议的数据包,当backup收不到master发来的VRRP数据包时,就会认为master宕机了。此时就需要根据各个backup的优先级来决定谁成为新的mater。

Redis架构之主从复制+keepalived

一个人想着一个人 提交于 2020-02-21 02:46:30
一、Redis主从复制架构的介绍 ## 基本介绍 01:一个主可以有多个从(一主多从);从库下可以有多个从(级联式主从); 02:Redis主从复制时是使用异步复制(主不管slave有没有接收到数据); 03:复制时不会阻塞主服务器响应客户端的请求,因为在进行数据同步时, 主上面执行bgsave命令for出一个子进程来进行数据的同步操作; 04:在复制时可能会影响slave端redis的主进程对客户端的响应;在2.8版本 以后,slave默认是只读的哈? 例如:主从复制架构,写是在master端进行,你通过手段做了读写分离, 让客户端在slave中进行读的操作,此时slave在同步(不管全同步,还是 增量同步)master端的数据时会不会阻塞客户端的读取操作呢? 解答:这个其实是由参数slave-serve-stale-data控制的,它有两个值, yes和no;yes表示仍然响应,可能数据不是最新的;默认就是yes;no表示 不响应,给客户端报"SYNC with master in progress"错误; 05:主从复制架构中,Master端需要开启持久化嘛?这个得根据需求: A:对数据没有持久化的需求,Master和slave都可以不开启的; B:对数据有持久化的需求,Master端不开启,slave端开启,这样会有危险的哈? 因为一但master端重启后

java进阶路线

旧街凉风 提交于 2020-02-17 06:45:39
第1章 架构师内功心法 1:架构设计原则 Open-Closed Principle开闭原则 Dependence Inversion Principle依赖倒置原则 Simple Responsibility Principle单一职责原则 Interface Segregation Principle接口隔离原则 Law of Demeter 迪米特法则 Liskov Substitution Principle里氏替换原则 Composite/Aggregate Reuse Principle合成复用原则 2:设计模式 为什么要从设计模式开始及工厂模式详解 单例模式及原型模式 深度分析代理模式 委派模式及策略模式 模板模式及适配器模式 装饰者模式及观察者模式 各设计模式总结与对比 第2章 架构师审美观 1:Spring源码 Spring框架的前世今生及系统概述 用300行代码手写提炼Spring的核心原理 Spring源码版本命名及源码下载构建技巧 一步一步手绘SpringIOC容器初始化时序图 用30个类高仿真提炼纯手写Spring框架V2.0 Spring事务传播原理及数据库事务操作原理 基于Spring JDBC手写定制自己的ORM框架 Spring5新特性简述及BATJ经典面试题分析 2:MyBatis源码 MyBatis应用分析与最佳实践

消息推送平台高可用实践(上)

末鹿安然 提交于 2020-02-17 06:40:54
本文来自 网易云社区 作者:李弈远 消息推送平台为公司内部和第三方应用提供统一消息推送服务,支持广播、私信、组播、附件等多种消息推送方式,覆盖IOS、Android、PC、Web等多种终端,并根据应用特定需求制定各种解决方案。 平台支持水平扩展,支持C5000K高并发下的实时消息推送,通过动态负载均衡、隔离部署、LXC虚拟化和监控报警等多种机制确保系统 的高可用,通过高可用消息队列、自动重连和ACK等机制实现消息可靠性(QoS1),并提供SDK方便产品和应用接入。 本文将在介绍消息推送服务相关功能/非功能特性的基础上,就系统为实现高可用进行的架构设计及部署方案进行探讨。 一、系统特性 1.1 功能特性 提供服务端SDK和各类终端SDK简化产品接入 对接入的产品服务端和终端进行安全认证 支持跨产品消息推送 支持广播、私信、组播、附件推送等多种消息推送方式 根据自定义条件筛选终端用户进行推送 支持IOS、Android、Web、PC、智能设备等多种终端 针对典型应用场景的各种解决方案 对接入的各产品进行统一配置管理 对推送效果进行统计 系统运行时监控及异常报警 1.2 非功能特性 消息可靠性满足QoS1 各种消息推送方式互不阻塞 具备快速水平扩展能力 系统高可用,无单点故障 异常隔离不扩散 消息推送路径跟踪及快速故障诊断 服务质量实时监测 易运维 支持C5000K高并发