集群服务器

乐视秒杀:每秒十万笔交易的数据架构解读

爱⌒轻易说出口 提交于 2019-12-24 10:50:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 随着乐视硬件抢购的不断升级,乐视集团支付面临的请求压力百倍乃至千倍的暴增。作为商品购买的最后一环,保证用户快速稳定地完成支付尤为重要。所以在2015年11月,我们对整个支付系统进行了全面的架构升级,使之具备了每秒稳定处理10万订单的能力。为乐视生态各种形式的抢购秒杀活动提供了强有力的支撑。 一. 分库分表 在redis,memcached等缓存系统盛行的互联网时代,构建一个支撑每秒十万只读的系统并不复杂,无非是通过一致性哈希扩展缓存节点,水平扩展web服务器等。支付系统要处理每秒十万笔订单,需要的是每秒数十万的数据库更新操作(insert加update),这在任何一个独立数据库上都是不可能完成的任务,所以我们首先要做的是对订单表(简称order)进行分库与分表。 在进行数据库操作时,一般都会有用户ID(简称uid)字段,所以我们选择以uid进行分库分表。 分库策略我们选择了“二叉树分库” , 所谓“二叉树分库”指的是:我们在进行数据库扩容时,都是以2的倍数进行扩容。比如:1台扩容到2台,2台扩容到4台,4台扩容到8台,以此类推。 这种分库方式的好处是,我们在进行扩容时,只需DBA进行表级的数据同步,而不需要自己写脚本进行行级数据同步。 光是有分库是不够的,经过持续压力测试我们发现,在同一数据库中

乐视秒杀:每秒十万笔交易的数据架构解读

淺唱寂寞╮ 提交于 2019-12-24 10:41:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 随着乐视硬件抢购的不断升级,乐视集团支付面临的请求压力百倍乃至千倍的暴增。作为商品购买的最后一环,保证用户快速稳定地完成支付尤为重要。所以在2015年11月,我们对整个支付系统进行了全面的架构升级,使之具备了每秒稳定处理10万订单的能力。为乐视生态各种形式的抢购秒杀活动提供了强有力的支撑。 一. 分库分表 在redis,memcached等缓存系统盛行的互联网时代,构建一个支撑每秒十万只读的系统并不复杂,无非是通过一致性哈希扩展缓存节点,水平扩展web服务器等。支付系统要处理每秒十万笔订单,需要的是每秒数十万的数据库更新操作(insert加update),这在任何一个独立数据库上都是不可能完成的任务,所以我们首先要做的是对订单表(简称order)进行分库与分表。 在进行数据库操作时,一般都会有用户ID(简称uid)字段,所以我们选择以uid进行分库分表。 分库策略我们选择了“二叉树分库”,所谓“二叉树分库”指的是:我们在进行数据库扩容时,都是以2的倍数进行扩容。比如:1台扩容到2台,2台扩容到4台,4台扩容到8台,以此类推。这种分库方式的好处是,我们在进行扩容时,只需DBA进行表级的数据同步,而不需要自己写脚本进行行级数据同步。 光是有分库是不够的,经过持续压力测试我们发现,在同一数据库中

MySQL集群(四)之keepalived实现mysql双主高可用

爱⌒轻易说出口 提交于 2019-12-24 06:43:12
前面大家介绍了主从、主主复制以及他们的中间件mysql-proxy的使用,这一篇给大家介绍的是keepalived的搭建与使用! 一、keepalived简介 1.1、keepalived介绍     Keepalived起初是为LVS设计的, 专门用来监控集群系统中各个服务节点的状态 ,它根据TCP/IP参考模型的第三、第四层、第五层交换机制检测每个服务节点的状态, 如果某个服务器节点出现异常,   或者工作出现故障,Keepalived将检测到,并将出现的故障的服务器节点从集群系统中剔除, 这些工作全部是自动完成的,不需要人工干涉,需要人工完成的只是修复出现故障的服务节点。     后来Keepalived又加入了VRRP的功能,VRRP(Vritrual Router Redundancy Protocol,虚拟路由冗余协议)出现的目的是解决静态路由出现的单点故障问题,通过VRRP可以实现网络不间断稳定运行,   因此Keepalvied 一方面具有服务器状态检测和故障隔离功能,另外一方面也有HA cluster功能,下面介绍一下VRRP协议实现的过程。 1.2、VRRP协议与工作原理     在现实的网络环境中。 主机之间的通信都是通过配置静态路由或者(默认网关)来完成的,而主机之间的路由器一旦发生故障,通信就会失效 ,因此这种通信模式当中,路由器就成了一个单点瓶颈

Solr6.2.0 + zookeeper 集群配置

♀尐吖头ヾ 提交于 2019-12-24 06:42:35
zookeeper1 : 192.168.1.103 zookeeper2 : 192.168.1.104 zookeeper3 : 192.168.1.105 solr1 : 192.168.1.106 solr2 : 192.168.1.107 solr3 : 192.168.1.108 JDK安装目录:/data/jdk Solr安装目录:/data/SolrCloud/Solr/solr Solr配置文件目录:/data/SolrCloud/Solr/solr-config Solr数据文件目录:/data/SolrCloud/solr-cores Tomcat安装目录:/data/tomcat 除了安装JDK的目录不需要创建,其它目录都需要进行创建 6台集群全部安装 基础环境配置 tomcat jdk, 1. tomcat放置目录为 /data/tomcat 2. jdk 放置目录为 /data/jdk solr集群安装: 192.168.1.106 solr1服务器上操作 解压 solr-6.2.0.tgz ,并把solr.war解压到/data/SolrCloud/Solr/solr 目录下。 tar -zxvf solr-6.2.0.tgz mv /data/solr-6.2.0/server/solr-webapp/webapp /data/SolrCloud

啥叫K8s?啥是k8s?

旧城冷巷雨未停 提交于 2019-12-24 04:21:07
•Kubernetes介绍 1.背景介绍   云计算飞速发展     - IaaS     - PaaS     - SaaS   Docker技术突飞猛进     - 一次构建,到处运行     - 容器的快速轻量     - 完整的生态环境 2.什么是kubernetes   首先,他是一个全新的基于容器技术的分布式架构领先方案。Kubernetes(k8s)是Google开源的容器集群管理系统(谷歌内部:Borg)。在Docker技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等一系列完整功能,提高了大规模容器集群管理的便捷性。   Kubernetes是一个完备的分布式系统支撑平台,具有完备的集群管理能力,多扩多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和发现机制、內建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制以及多粒度的资源配额管理能力。同时Kubernetes提供完善的管理工具,涵盖了包括开发、部署测试、运维监控在内的各个环节。 Kubernetes中,Service是分布式集群架构的核心,一个Service对象拥有如下关键特征: 拥有一个唯一指定的名字 拥有一个虚拟IP(Cluster IP、Service IP、或VIP)和端口号 能够体统某种远程服务能力

部署Nginx+Tomcat负载均衡集群

杀马特。学长 韩版系。学妹 提交于 2019-12-24 04:18:56
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强 下面将讲解以Nginx为负载均衡器,Tomcat为应用服务器的负载集群的设置方 本次的实验服务器系统为 CentOS 7 环境包:pcre-devel zlib-devel openssl-devel gcc gcc-c++ Nginx :192.168.10.130/24 (安装包nginx-1.6.0) Tomcat1:192.168.10.128/24 (jdk-8u91-linux-x64.

大数据(2)---HDFS集群搭建

不问归期 提交于 2019-12-24 01:01:07
一、准备工作   1. 准备几台机器,我这里使用 VMware 准备了四台机器, 一个 name node ,三个 data node 。   VMware 安装虚拟机: https://www.cnblogs.com/nijunyang/p/12001312.html   2.Hadoop 生态几乎都是用的 java 开发的,因此四台机器还需要 安装 JDK 。   3. 集群内 主机域名映射 ,将四台机器的 IP 和主机名映射分别写到 hosts 文件中 ( 切记主机名不要带非法字符 ,图片中的下划线 ”_” 请忽略 )   vim /etc/hosts   配好一个之后可以直接将这个复制到其他机器上面去,不用每台都去配置:   scp /etc/hosts nijunyang69:/etc/   scp /etc/hosts nijunyang70:/etc/   scp /etc/hosts nijunyang71:/etc/ 二、 hdfs 集群安装   1. 下载 hadoop 安装包到 linux 服务器上面,并进行解压,我这里使用的的 2.8.5 ,   tar -zxvf hadoop-2.8.5.tar.gz   2. hadoop 指定 java 环境变量 :   hadoop-2.8.5/etc/hadoop/hadoop-env.sh 文件中指定 java

Keepalived高可用集群应用实践

房东的猫 提交于 2019-12-23 22:35:42
一,Keepalived高可用软件   1,Keepalived介绍   1.1 Keepalived软件起初是专门为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能。   1.2 Keepalived软件主要是通过VRRP协议实现高可用功能的。   2,Keepalived服务三个重要功能     2.1 管理 LVS负载均衡软件     2.2 实现对 LVS集群节点健康检查功能( healthcheck)     2.3 作为系统网络服务的高可用功能( failover)   3,Keepalived高可用故障切换原理     3.1 Keepalived高可用服务之间的故障切换转移,是通过VRRP(Virtual Router Redundancy Protocol,虚拟路由器冗余协议)来实现的。     3.2 在Keepalived服务正常工作时,主Master节点会不断地向备节点发送(多播的方式)心跳消息,用以告诉备Backup节点自己还活着,当主Master节点发生故障时,就无法发送心跳消息,备节点也就因此无法继续检测到来自主Master节点的心跳了,于是调用自身的接管程序,接管主Master节点的IP资源及服务。而当主Master节点恢复时

利用Helm部署高可用rancher集群

旧巷老猫 提交于 2019-12-23 19:01:48
一、背景 Rancher HA有多种部署方式: Helm HA安装,将Rancher部署在已有的Kubernetes集群中,Rancher将使用集群的etcd存储数据,并利用Kubernetes调度实现高可用性。 RKE HA安装,使用RKE工具安装独立的Kubernetes集群,专门用于Rancher HA部署运行,RKE HA安装仅支持Rancher v2.0.8以及之前的版本,Rancher v2.0.8之后的版本使用helm安装Rancher。 本方案将基于已有的Kubernetes集群,利用Helm安装Rancher HA,并采用四层负载均衡方式。 二、添加Chart仓库地址 使用helm repo add命令添加Rancher chart仓库地址 Rancher tag和Chart版本选择参考: https://www.cnrancher.com/docs/rancher/v2.x/cn/installation/server-tags/ #替换<CHART_REPO>为您要使用的Helm仓库分支(即latest或stable)。 helm repo add rancher-stable https://releases.rancher.com/server-charts/stable 三、使用自签名证书安装Rancher server Rancher

Redis集群架构

无人久伴 提交于 2019-12-23 18:16:08
一、Redis Cluster(Redis集群)简介: (1)edis是一个开源的key value存储系统,受到了广大互联网公司的青睐。redis3.0版本之前只支持单例模式,在3.0版本及以后才支持集群,这里我搭建用的是最新的版本 redis-5.0.7; (2)redis集群采用P2P模式,是完全去中心化的,不存在中心节点或者代理节点; (3)redis集群是没有统一的入口的,客户端(client)连接集群的时候连接集群中的任意节点(node)即可,集群内部的节点是相互通信的(PING-PONG机制),每个节点都是一个redis实例。 二、集群搭建需要的环境: (1)Redis集群至少需要3个节点,因为投票容错机制要求超过半数节点认为某个节点挂了该节点才是挂了,所以2个节点无法构成集群。 (2)要保证集群的高可用,需要每个节点都有从节点,也就是备份节点,所以Redis集群至少需要6台服务器。 (3)安装ruby 三、部署集群: 为了节省资源,这边准备了两台虚拟机,各自安装三个网卡,这样总共就是六个网卡,也就是同时运行6个 redis 实例。 角色 IP地址 redis1 192.168.220.131 redis2 192.168.220.164 redis3 192.168.220.165 redis4 192.168.220.135 redis5 192.168.220