高可用

Keepalived高可用服务

三世轮回 提交于 2019-12-02 14:53:25
Keepalived高可用服务 避免负载均衡服务出现单点问题 高可用服务原理 Keepalived的工作原理: Keepalived高可用对之间是通过VRRP通信的,因此,我从 VRRP开始了解起: 1) VRRP,全称 Virtual Router Redundancy Protocol,中文名为虚拟路由冗余协议,VRRP的出现是为了解决静态路由的单点故障。 2) VRRP是通过一种竟选协议机制来将路由任务交给某台 VRRP路由器的。 3) VRRP用 IP多播的方式(默认多播地址(224.0.0.18))实现高可用对之间通信。 4)工作时主节点发包,备节点接包,当备节点接收不到主节点发的数据包的时候,就启动接管程序接管主节点的开源。备节点可以有多个,通过优先级竞选,但一般Keepalived系统运维工作中都是一对。 5) VRRP使用了加密协议加密数据,但Keepalived官方目前还是推荐用明文的方式配置认证类型和密码。 介绍完 VRRP,接下来我再介绍一下 Keepalived服务的工作原理: Keepalived高可用之间是通过 VRRP进行通信的, VRRP是通过竞选机制来确定主备的,主的优先级高于备,因此,工作时主会优先获得所有的资源,备节点处于等待状态,当主挂了的时候,备节点就会接管主节点的资源,然后顶替主节点对外提供服务。 在 Keepalived服务对之间

saltstack实现高可用(apache+nginx+keepalived)

给你一囗甜甜゛ 提交于 2019-12-02 05:53:30
上一篇用server1(salt-master节点)给server2,3分别配置了httpd,nginx服务,现在用server1,继续给2,3配置keepalived 实验过程如下 在salt目录下面建立keepalived目录 将之前apache的推送脚本拷贝一份,然后编辑 写入变量,高可用两个节点的状态,vrid,优先级别均要使用变量 在keepalived目录下面建立files目录 复制一份keepalived的配置文件到这个目录下面,作为模板文件使用 编辑模板文件 编辑文件 [root@server1 keepalived]# vim files/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { root@localhost ##修改主机名 } notification_email_from keepalived@localhost ##修改用户名 smtp_server 127.0.0.1 ##本机IP smtp_connect_timeout 30 router_id LVS_DEVEL vrrp_skip_check_adv_addr #vrrp_strict ##禁用服务 vrrp_garp_interval 0 vrrp_gna

Nginx配置高可用的集群

那年仲夏 提交于 2019-12-02 05:27:50
1、什么是 nginx 高可用 (1)需要两台 nginx 服务器 (2)需要 keepalived (3)需要虚拟 ip 2、配置高可用的准备工作 (1)需要两台服务器 192.168.17.129 和 192.168.17.131 (2)在两台服务器安装 nginx (3)在两台服务器安装 keepalived 3、在两台服务器安装 keepalived (1)使用 yum 命令进行安装 yum install keepalived –y (2)安装之后,在 etc 里面生成目录 keepalived,有文件 keepalived.conf 4、完成高可用配置(主从配置) (1)修改/etc/keepalived/keepalivec.conf 配置文件 global_defs { notification_email { acassen@firewall.loc failover@firewall.loc sysadmin@firewall.loc } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 192.168.17.129 smtp_connect_timeout 30 router_id LVS_DEVEL } vrrp_script chk_http_port { script "

为程序员节日献礼--2019中国.NET开发者峰会主题内容发布

喜夏-厌秋 提交于 2019-12-02 04:29:56
2019年10月24日,组委会正式发布了China .NET Conf 2019中国 .NET 开发者峰会的主题内容。 2014年微软组织并成立.NET基金会,微软在成为主要的开源参与者的道路上又前进了一步。2014年以来已经有众多知名公司加入.NET基金会,Google,微软,AWS三大云厂商已经齐聚.NET基金会,在平台项目中,.NET平台上有87%贡献者其实并不在Microsoft工作。为了将.NET基金会变成一个更加多样化和成员驱动的组织,微软把.NET 的发展真正交给社区,为了让OSS真正蓬勃发展。 在中国这几年时间里我们不再局限于单打独斗的开源,我们通过协作来推动.NET开源项目和社区的发展,我们在github上成立了中国的开源组织dotnetcore,我们在全国各大城市有.NET 俱乐部定期举办活动。9月23号的2019年.Net Conf,今年它比以往任何时候规模都更大, .NET Core 3.0已经在大会上正式发布。中国区的活动也正式提上日程,好多年都没有像这样规模的社区大会,今年举办 .NET社区的中国峰会。预计1000人规模,覆盖中国 14个城市的.NET 社区及机构。 我们从开始筹备2019 中国.NET 开发者峰会已经有好一段时间,从确定主题到寻找举办地,我们都是在业余时间进行,这次完全由中国.NET社区自发组织的大会,我们希望通过这次大会汇聚中国

网络进阶管理

筅森魡賤 提交于 2019-12-02 02:52:34
目录 1.链路聚合 2.链路聚合配置 2.1Centos7/RHEL7配置bond聚合链路 2.1.1Centos7/RHEL7配置bond0 2.1.2Centos7/RHEL7配置bond1 3.Centos7/RHEL7配置team聚合链路(高可用模式) 1.链路聚合 网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度。 网卡的链路聚合方式: bond:最多可以添加两块网卡 team:最多可以添加八块网卡 bond的常用的2种模式: bond0(balance-rr) bond0用于负载轮询(2个网单独都是100MB,聚合为1个网络传输带宽为200MB) bond1(active-backup) bond1用于高可用,其中一条线若断线,其他线路将会自动备援 2.链路聚合配置 2.1Centos7/RHEL7配置bond聚合链路 2.1.1Centos7/RHEL7配置bond0 2.1.2Centos7/RHEL7配置bond1 3.Centos7/RHEL7配置team聚合链路(高可用模式) 来源: https://www.cnblogs.com/liping0826/p/11727154.html

云栖深度干货 | 打造“云边一体化”,时序时空数据库TSDB技术原理深度解密

房东的猫 提交于 2019-12-01 22:40:47
本文选自云栖大会下一代云数据库分析专场讲师自修的演讲——《TSDB云边一体化时序时空数据库技术揭秘》 自修 —— 阿里云智能数据库产品事业部高级专家 认识TSDB 第一代时序时空数据处理工具 虽然通用关系数据库可以存储时序数据,但是由于缺乏针对时间的特殊优化,比如按时间间隔存储和检索数据等等,因此在处理这些数据时效率相对不高。 第一代时序数据典型来源于监控领域,直接基于平板文件的简单存储工具成为这类数据的首先存储方式。 以RRDTool,Wishper为代表,通常这类系统处理的数据模型比较单一,单机容量受限,并且内嵌于监控告警方案。 第二代面向时序时空领域的数据库伴随着大数据和Hadoop的发展,时序数据量开始迅速增长,系统业务对于处理时序数据的扩展性等方面提出更多的要求。 基于通用存储而专门构建的时间序列数据库开始出现,它可以按时间间隔高效地存储和处理这些数据。像OpenTSDB,KairosDB等等。 这类时序数据库在继承通用存储优势的基础上,利用时序的特性规避部分通用存储的劣势,并且在数据模型,聚合分析方面做了贴合时序的大量创新。 比如OpenTSDB继承了HBase的宽表属性结合时序设计了偏移量的存储模型,利用salt缓解热点问题等等。 然而它也有诸多不足之处,比如低效的全局UID机制,聚合数据的加载不可控,无法处理高基数标签查询等等。 随着docker

ES集群

自古美人都是妖i 提交于 2019-12-01 22:08:47
集群管理 ES通常以集群方式工作,这样做不仅能够提高 ES的搜索能力还可以处理大数据搜索的能力,同时也增加了系统的容错能力及高可用,ES可以实现PB级数据的搜索。 下图是ES集群结构的示意图: ​ 集群相关概念 节点 ES集群由多个服务器组成,每个服务器即为一个Node节点(该服务只部署了一个ES进程)。 分片 当我们的文档量很大时,由于内存和硬盘的限制,同时也为了提高ES的处理能力、容错能力及高可用能力,我们将索引分成若干分片(可以类比MySQL中的分区来看,一个表分成多个文件),每个分片可以放在不同的服务器,这样就实现了多个服务器共同对外提供索引及搜索服务。 一个搜索请求过来,会分别从各各分片去查询,最后将查询到的数据合并返回给用户。 副本 为了提高ES的高可用同时也为了提高搜索的吞吐量,我们将分片复制一份或多份存储在其它的服务器,这样即使当前的服务器挂掉了,拥有副本的服务器照常可以提供服务。 主节点 一个集群中会有一个或多个主节点,主节点的作用是集群管理,比如增加节点,移除节点等,主节点挂掉后ES会重新选一个主节点. 节点转发 每个节点都知道其它节点的信息,我们可以对任意一个v发起请求,接收请求的节点会转发给其它节点查询数据. 节点的三个角色 主节点 master节点主要用于集群的管理及索引 比如新增节点、分片分配、索引的新增和删除等。 数据节点 data

分库分表中间件的高可用实践

孤者浪人 提交于 2019-12-01 19:46:02
前言 分库分表中间件在我们一年多的锤炼下,基本解决了可用性和高性能的问题 (只能说基本,肯定还有隐藏的坑要填),问题自然而然的就聚焦于高可用。本文就阐述了我们在这方面做出的一些工作。 高可用 存在 的问题 作为一个无状态的中间件,高可用问题并没有那么困难。但是尽量减少不可用期间的流量损失,还是需要一定的工作的。这些流量损失主要分布在 : (1)某台中间件所在的物理机突然宕机。 (2)中间件的升级和发布。 由于我们的中间件是作为数据库的代理提供给应用的 ,即应用把我们的中间件当做数据库,如下图所示: 所以出现上述问题后,业务上很难通过重试等操作去屏蔽这些影响。这就势必需要我们在底层做一些操作,能够自动的感知中间件的状态从而有效避免流量的损失。 中间件所在物理机宕机的情况 物理机宕机其实是一种常见现象,这时候应用一瞬间就没了响应。那么跑在上面的 sql肯定也是失败了的(准确来说是未知状态,除非重新查询后端数据库,应用无法得知准确的状态)。这部分流量我们肯定是无法挽救。我们所做的是在client端(Druid数据源)能够快速的发现并剔除宕机的中间件节点。 发现并剔除不可用节点 通过心跳去发现不可用节点 自然而然的我们通过心跳来探查后端中间件的存活状态。我们通过定时创建一个新连接 ping(mysql的ping)一下然后立马关闭来做心跳(这种做法便于我们区分正常流量和心跳流量

年薪40万Java开发在阿里巴巴是什么水平?

我们两清 提交于 2019-12-01 19:07:52
对于年薪40万的程序员,不只是技术过硬,还有一个原因是他们所在的公司福利高,或者会直接持股。在BAT中就是一个很好的案例,例如阿里巴巴P7、P8级别的员工不仅是年薪30到80万不等,还有更多股票持有。 当然现在很多互联网公司,只有在盈利的条件下才有资格谈这些年薪几十万,一个小公司,或者一个私企,刚开始起步的公司是不能做到这个地步的,举个例子,一线城市,找一个小的企业中,工资就是 8K——1.5K的范围,有工作经验,加上自己的技术 ,也许会做到一个经理的位置,到时候可能年薪 20万,或者30万不等。 阿里是Java大厂,所以可以参考阿里的标准,阿里一般是16薪水,所以就是税前2.5w,在阿里应该是P6就可以达到,而对P6的要求是什么呢,阿里内部有个简单的概述,那就是可以独立完成部门内部的项目,而面试过程中,也会有相应的考察。 今天刚好有此机会, 经过半年多的时间 我 整理一份架构图谱 , 主要是针对2-5年左右的Java开发程序员提升的,不管是传统行业还是互联网行业,掌握这些技术都能对自己有一个质的飞跃。 如何定义一个人可否完成部门内部项目 1.代码能力 代码能力是基本功, Java语言本身,包括语言的各个方面包括对并发的理解,对内存使用对理解,对Java运维的理解等等 ,语言本身外,社区里常用的框架是否可以十分清晰的了解,包括 spring,包括他实现的ioc,aop,orm

8分钟带你深入浅出搞懂Nginx

雨燕双飞 提交于 2019-12-01 19:00:30
Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。 图基本上说明了当下流行的技术架构,其中Nginx有点入口网关的味道。 反向代理服务器? 经常听人说到一些术语,如反向代理,那么什么是反向代理,什么又是正向代理呢? 正向代理: 反向代理: 由于防火墙的原因,我们并不能直接访问谷歌,那么我们可以借助VPN来实现,这就是一个简单的正向代理的例子。这里你能够发现,正向代理“代理”的是客户端,而且客户端是知道目标的,而目标是不知道客户端是通过VPN访问的。 当我们在外网访问百度的时候,其实会进行一个转发,代理到内网去,这就是所谓的反向代理,即反向代理“代理”的是服务器端,而且这一个过程对于客户端而言是透明的。 Nginx的Master-Worker模式 启动Nginx后,其实就是在80端口启动了Socket服务进行监听,如图所示,Nginx涉及Master进程和Worker进程。 Master进程的作用是? 读取并验证配置文件nginx.conf;管理worker进程; Worker进程的作用是? 每一个Worker进程都维护一个线程(避免线程切换),处理连接和请求;注意Worker进程的个数由配置文件决定,一般和CPU个数相关(有利于进程切换),配置几个就有几个Worker进程。 思考:Nginx如何做到热部署?