节点服务器

一次活动引发的血案

泪湿孤枕 提交于 2020-01-19 03:41:31
本文来自 网易云社区 作者: 方金德 “咚咚”,接连收到好几个报警短信,显示线上集群的几个tomcat应用的接连端口异常。不好,线上可能出状况了,访问网站,果然已经显示为维护中了。赶紧登陆到服务器,但服务器的cpu,load,内存,io等基本指标都还是挺正常的,应用日志端也没有明显异常信息,不过nginx的访问日志的确显示后端服务器都已基本为504请求超时了。不管那么多了,距离上次发布已经有几个小时了,应该不是新版本bug直接导致的问题,先尝试不回滚重启吧。于是火速重启了集群中一个节点,很快线上应用访问正常了。然后把另外两个节点的jvm的stack和memory信息导出来后,也重启后加回到线上。 线上是正常了,但我们其实并没有找到问题的原因。没有找到问题的诱因,也就意味着这个问题可能还会再发生。和相关的同事们再一起排查了一遍线上应用日志和tomcat容器日志,也没有发现什么可挖掘的异常点。再跑到网易的监控平台看历史的监控数据,系统层面的cpu、load、 中断、 memory、 swap、 ioutil、网络流量等都没有特别的异常;jvm层面的gc、thread数也都没有什么明显异常。gc没有问题,直接放弃了memory dump信息的查看。再简单地看了下jstack信息,好像也没有什么异常,统计了下线程数,跟线上的线程数也差不多,猜测应该也不是属于并发超限吧。。。

redis集群

风格不统一 提交于 2020-01-19 02:34:52
一、集群与分布式概述 1.什么是集群? 集群就是 很多服务器组成的一个网络。指的是将多台服务器集中在一起,实现同一业务。 2.为什么要集群? 一台服务器不能满足开发需要的时候,需要多台服务器来支持。这个时候就需要做集群,但是集群往往伴随着分布式; 3.什么是分布式? 分布式是指将不同的业务分布在不同的地方. web应用和数据库服务分开. 4.集群的优化 5.集群的两大关键特性及两大能力 集群提供了以下两个关键特性: 1、可扩展性--集群的性能不限于单一的服务实体,新的服务实体可以动态地加入到集群,从而增强集群的性能。动态添加服务器 2、高可用性--集群通过服务实体冗余使客户端免于轻易遇到out of service的警告。在集群中,同样的服务可以由多个服务实体提供。如果一个服务实体失败了,另一个服务实体会接管失败的服务实体。集群提供的从一个出错的服务实体恢复到另一个服务实体的功能增强了应用的可用性 当访问的服务器挂了时,集群要有能力找可以正常使用额服务器继续提供服务器。 两大能力: 1、负载均衡--负载均衡能把任务比较均衡地分布到集群环境下的计算和网络资源。 2、错误恢复--由于某种原因,执行某个任务的资源出现故障,另一服务实体中执行同一任务的资源接着完成任务。这种由于一个实体中的资源不能工作,另一个实体中的资源透明的继续完成任务的过程叫错误恢复。 当访问的服务器挂了时

CDN

被刻印的时光 ゝ 提交于 2020-01-18 09:54:30
CDN是什么? CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。 CDN的关键技术主要有内容存储和分发技术。 ,内容分发网络(CDN)是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件,而内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。 内容服务基于缓存服务器,也称作代理缓存(Surrogate),它位于网络的边缘,距用户仅有"一跳"(Single Hop)之遥。同时,代理缓存是内容提供商源服务器(通常位于CDN服务提供商的数据中心)的一个透明镜像。这样的架构使得CDN服务提供商能够代表他们客户,即内容供应商,向最终用户提供尽可能好的体验

RabbitMQ安装与原理详解

人走茶凉 提交于 2020-01-18 02:40:32
文章目录 一、概述 1. 什么是消息队列 2. 为什么要使用消息队列 3. RabbitMQ特点 二、安装 1. 安装Erlang 2. 安装RabbitMQ 三、RabbitMQ 1. 启动和关闭 2. 插件管理 3. 用户管理 4. 权限管理 5. vhost管理 6. 设置管理员权限 四、消息发送和接收 1. RabbitMQ消息发送和接收机制 2. AMQP 中的消息路由 3. Exchange与Queue关联绑定 4. Exchange 类型 (1)direct (2)fanout (3)topic 5. Client与Brocker进行连接 五、RabbitMQ镜像集群 1. 准备 2. 配置Cookie文件 3. 配置hosts文件 4. 组建集群 5. 节点类型 一、概述 1. 什么是消息队列 消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。 消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。 2. 为什么要使用消息队列 从上面的描述中可以看出消息队列是一种应用间的 异步协作机制

Redis集群原理

会有一股神秘感。 提交于 2020-01-17 13:02:58
节点主从(镜像全量)+哈希slot(分片) 无主模型 遵循 CAP原则 C一致性 A可用性 P分区容错性,三者不可兼得 数据放在大数据集群中的方式/集群承载数据的方式:分片 镜像全量 镜像全量 优:做数据的高可用(节点不单一),不担心某一个节点故障,数据在其他节点有相同备份 缺:占用内存资源,横向来说,没有对数据的扩展能力(4G–>12G) 分片 优:横向扩展能力强 缺:没有备份 CRUD操作 增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete) 主从复制 主可以进行CRUD所有操作 从只能R 主从模型 图上能看得到的信息: 只有1个Master,可以有N个slaver,而且Slaver也可以有自己的Slaver,由于这种主从的关系决定他们是在配置阶段就要指定他们的上下级关系,而不是Zookeeper那种平行关系是自主推优出来的。 读写分离,Master只负责写和同步数据给Slaver,Slaver承担了被读的任务,所以Slaver的扩容只能提高读效率不能提高写效率。 Slaver先将Master那边获取到的信息压入磁盘,再load进内存,client端是从内存中读取信息的,所以Redis是内存数据库。 当一个新的Slaver加入到这个集群时,会主动找Master来拜码头,Master发现新的小弟后将全量数据发送给新的Slaver

Zookeeper【从五个方面,渐进】

情到浓时终转凉″ 提交于 2020-01-17 12:02:17
【一、Zookeeper中的角色】 ①领导者(leader) Leader服务器为客户端提供读写服务。它是集群工作机制的核心,事务请求唯一调度者和处理者,保证集群事务请求处理的顺序性。 ②学习者(learner) ,学习者又分为跟随者和观察者: 跟随者(follower) Follower服务器为客户端提供读服务,参与Leader选举过程,参与写操作“过半写成功”策略。处理非事务请求,转发事务请求给领导者,同时参与投票。 观察者(observer) Observer服务器为客户端提供读服务,不参与Leader选举过程,不参与写操作“过半写成功”策略。用于在不影响写性能的前提下提升集群的读性能。该服务不参与投票,可有可无的。 ③客户端(client) 服务请求发起方。 【二、Zookeeper选举】 上面提到的服务器角色是怎么产生的呢,就是通过选举。 我这里,以一个例子的来形象说明选举的过程: 1、咱们现在有10台服务器,刚刚上线的服务器没有任何数据,崭新的。咱们给它编个号:1,2,3,4,5,6,7,8,9,10,咱们呢把这10个服务器逐个都开机了哈。 2、在服务器启动的时候啊,选举就开始了。1号服务器启动,先给自己投票,然后把自己的信息发出去,让别的也投。但是呢其他服务器还没有启动啊,于是1号服务器就收不到反馈。心情很是失落,像笔者那年一样,此时1号服务器就开始处于选举状态了

LVS负载均衡概述

我的未来我决定 提交于 2020-01-17 09:36:09
什么是LVS负载均衡 ? 可伸缩网络服务涉及到几种不同的结构,它们都需要一个前端的负载调度器(或者多个进行主从备份)。 先分析实现虚拟网络服务的主要技术,指出 <strong>IP</strong> 负载均衡技术是在负载调度器的实现技术中效率最高的。在已有的IP负载均衡技术中,主要有通过网络地址转换NAT(Network Address Translation)将一组服务器构成一个高性能的、高可用的虚拟服务器,称之为VS/NAT技术(Virtual Server via Network Address Translation)。在分析VS/NAT的缺点和网络服务的非对称性的基础上,提出了通过IP隧道实现虚拟服务器的方法VS/TUN (Virtual Server via IP Tunneling),和通过直接路由实现虚拟服务器的方法VS/DR(Virtual Server via Direct Routing),它们可以极大地提高系统的伸缩性。VS/NAT、VS/TUN和VS/DR技术是LVS集群中实现的三种IP负载均衡技术。 企业群及应用概述 群集的含义 Cluster,集群、群集 由多台主机构成,但对外只表现为一个整体 在互联网应用中 ,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器力不从心 解决方法 使用价格昂贵的小型机、大型机

zookeeper感知服务器节点动态上下线案例

半城伤御伤魂 提交于 2020-01-17 05:30:17
大家好,我是AC,下面是关于zookeeper的一个案例,供练习 关于zookeeper,请看上一篇文章 文章目录 (1)服务器端代码 (2)客户端代码 1)需求:某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线 2)需求分析 3)具体实现: (0)先在集群上创建/servers节点 [ zk : localhost : 2181 ( CONNECTED ) 10 ] create / servers "servers" Created /servers (1)服务器端代码 package com . bigdata . anli ; import org . apache . zookeeper . CreateMode ; import org . apache . zookeeper . WatchedEvent ; import org . apache . zookeeper . Watcher ; import org . apache . zookeeper . ZooDefs . Ids ; import org . apache . zookeeper . ZooKeeper ; public class RegistServer { private ZooKeeper client = null ; String

网络协议 18 - CDN:家门口的小卖铺

旧巷老猫 提交于 2020-01-16 04:36:01
【前五篇】系列文章传送门: 网络协议 13 - HTTPS 协议:加密路上无尽头 网络协议 14 - 流媒体协议:要说爱你不容易 网络协议 15 - P2P 协议:小种子大学问 网络协议 16 - DNS 协议:网络世界的地址簿 网络协议 17 - HTTPDNS:私人定制的 DNS 服务     到现在为止,我们基本上已经了解了网络协议中的大部分常用协议,对于整个 HTTP 请求流程也较为熟悉了。从无到有后,我们就要考虑如何优化“有”这个过程,也就是我们常见的 请求优化 。而现在的技术栈中,CDN 是最常用的一种方式。     在了解 CDN 前,我们可以先了解下现代社会的物流配置。     例如我们去电商网站下单买东西,这个东西一定要从电商总部的中心仓库送过来吗?在电商刚兴起的时候,所有的配送都是从中心仓库发货,所以买家可能要很久才能收到货。但是后来电商网站的物流系统学聪明了,他们在全国各地建立了很多仓库,而不是只有总部的中心仓库才可以发货。     电商网站根据统计大概知道,北京、上海、广州、深圳、杭州等地,每天能够卖出去多少书籍、纸巾、包、电器等存放期较长的商品,就将这些商品分布存放在各地仓库中,客户一下单,就从临近的仓库发货,大大减少了运输时间,提高了用户体验。     同样的,互联网也借鉴了 “就近配送” 这个思路。 CDN 就近配送     全球有那么多的数据中心

LVS负载均衡群集理论讲解

笑着哭i 提交于 2020-01-15 09:41:12
文章目录 群集概念 群集介绍 群集分类 负载均衡群集的工作模式 地址转换NAT IP隧道TUN 直接路由DR 负载均衡群集架构 LVS负载调度算法(常用) NFS网络文件系统 群集概念 群集介绍 群集(Cluster):由多台主句构成,但对外只表现为一个整体 在互联网应用中,随着站点对硬件的性能、影响速度、服务稳定性、数据可靠性越来越高,单台服务器力不从心。 解决方案:使用价格昂贵的小型机、大型机;使用普通服务器构建群集。 群集分类 根据群集所针对的目标差异,可分为三种类型 负载均衡群集 以提高应用系统的响应能力、尽可能处理更多的访问的请求、减少延迟目标,并获得高并发、高负载(LB)的整体性能。LB的负载分配依赖于主节点的分流算法。 高可用集群 以提高应用系统的可靠性、尽可能减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果。HA的工作方式包括双工和主从两种模式。 高性能运算集群 以提高应用系统的的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型,超级计算机的高性能(HPC)能力。高性能运算群集的高性能依赖于“分布式计算”、“并行计算”,通过专用硬件和软件,将多个服务器的CPU、内存等资源整合在一起,实现有大型,超级计算机才具备的能力。 负载均衡群集的工作模式 地址转换NAT 简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关