节点服务器

JAVA学习要点总结

落花浮王杯 提交于 2020-03-05 09:38:26
文章目录 缓存 memcache的分布式原理 memcache的内存分配机制 如何存放数据到memcached缓存中?(memcache内存分配机制) memcache的惰性失效机制 memcache缓存的无底洞现象 一致性Hash算法的实现原理 Hash环 一致性Hash算法 Hash环的倾斜 虚拟节点解决Hash环倾斜 hash算法平衡性 memcached与redis的区别 Redis的主从复制 Redis的部分复制过程 Redis的主从复制阻塞模式 Redis的数据持久化方式 Redis的高可用部署方式 哨兵模式 Redis哨兵主要功能 Redis哨兵的高可用 哨兵如何判断redis主从节点是否正常? 集群模式 Redis可以在线扩容吗?zk呢 Redis高并发和快速的原因 浏览器本地缓存的了解和使用 缓存雪崩 缓存穿透 HashMap HashMap的Hash碰撞 HashMap的get和put原理 HashMap的rehash HashMap的线程不安全问题 HashMap和Hashtable的区别 为什么collection没有实现clonable接口 为什map没有实现collection接口 Map接口的实现有哪些,区别是什么 线程池 Executors框架的四种线程池及拒绝策略 四种线程池 JDK拒绝策略 Reactor模式 Reactor单线程模型

高可用集群-Keepalived

倖福魔咒の 提交于 2020-03-05 07:15:34
Keepalived keepalived 是一个类似于 layer3, 4 & 5 交换机制的软件,也就是我们平时说的第 3 层、第 4 层和第5 层交换。 Keepalived 的作用是检测 web 服务器的状态,如果有一台 web 服务器死机,或工作出现故障,Keepalived 将检测到,并将有故障的 web 服务器从系统中剔除,当 web 服务器工作正常后Keepalived 自劢将 web 服务器加入到服务器群中,这些工作全部自劢完成,不需要人工干涉,需要人工做的只是修复故障的 web 服务器。 工作原理 Layer3,4&5 工作在 IP/TCP 协议栈的 IP 层, TCP 层,及应用层,。 Layer3: Keepalived 使用 Layer3 的方式工作式时, Keepalived 会定期向服务器群中的服务器发送一个 ICMP 的数据包(既我们平时用的 Ping 程序) , 如果发现某台服务的 IP 地址没有激活,Keepalived 便报告这台服务器失效,并将它从服务器群中剔除,这种情况的典型例子是某台服务器被非法关机。 Layer3 的方式是以服务器的 IP 地址是否有效作为服务器工作正常不否的标准。 Layer4: 主要以 TCP 端口的状态来决定服务器工作正常不否。如 web server 的服务端口一般是80,如果 Keepalived 检测到 80

Mongodb 副本与分片 学习笔记

青春壹個敷衍的年華 提交于 2020-03-03 18:26:39
副本 实例1 m1.config port=27017 #端口 replSet=spock #副本名称随便取 dbpath=/usr/local/mongodb/fuben/db1 #数据存放目录 logpath=/usr/local/mongodb/fuben/log1/mongodb.log #日志目录 实例2 m2.config port=27027 replSet=spock dbpath=/usr/local/mongodb/fuben/db2 logpath=/usr/local/mongodb/fuben/log2/mongodb.log 实例3 m3.config port=27037 replSet=spock dbpath=/usr/local/mongodb/fuben/db3 logpath=/usr/local/mongodb/fuben/log3/mongodb.log 启动3个实例 /usr/local/mongodb/bin/mongod -f m*.config 连接任意一个实例 mongo --port 27017 配置变量 config ={ '_id':'spock', 'members':[ {'_id':0,'host':'localhost:27017'}, {'_id':1,'host':'localhost:27027'}, {'

Redis 详解 (二) redis的配置文件介绍

怎甘沉沦 提交于 2020-03-03 14:05:55
目录 1、开头说明 2、INCLUDES 3、MODULES 4、NETWORK 5、GENERAL 6、SNAPSHOTTING 7、REPLICATION 8、SECURITY 9、CLIENTS 10、MEMORY MANAGEMENT 11、APPEND ONLY MODE 12、LUA SCRIPTING 13、REDIS CLUSTER   上一篇博客我们介绍了如何安装Redis,在Redis的解压目录下有个很重要的配置文件 redis.conf (/opt/redis-4.0.9目录下),关于Redis的很多功能的配置都在此文件中完成的,在上一讲我也说过,一般为了不破坏安装的文件,出厂默认配置最好不要去改,所以我们将此配置文件复制到 /etc/redis/目录下了。   通过 vim /etc/redis/redis.conf 命令打开此文件。下面我们将详细介绍此配置文件。   ps:大家不懂这些配置意思没关系,后面会在具体实例中进行介绍,先过个眼熟即可。 回到顶部 1、开头说明      这里没什么好说的,需要注意的是后面需要使用内存大小时,可以指定单位,通常是以 k,gb,m的形式出现,并且 单位不区分大小写 。 回到顶部 2、INCLUDES      我们知道Redis只有一个配置文件,如果多个人进行开发维护,那么就需要多个这样的配置文件

geth控制台命令

☆樱花仙子☆ 提交于 2020-03-03 06:48:08
命令: account 管理账户 attach 启动交互式JavaScript环境(连接到节点) bug 上报bug Issues console 启动交互式JavaScript环境 copydb 从文件夹创建本地链 dump Dump(分析)一个特定的块存储 dumpconfig 显示配置值 export 导出区块链到文件 import 导入一个区块链文件 init 启动并初始化一个新的创世纪块 js 执行指定的JavaScript文件 ( 多个 ) license 显示许可信息 makecache 生成ethash验证缓存 ( 用于测试 ) makedag 生成ethash 挖矿DAG ( 用于测试 ) monitor 监控和可视化节点指标 removedb 删除区块链和状态数据库 version 打印版本号 wallet 管理Ethereum预售钱包 help,h 显示一个命令或帮助一个命令列表 ETHEREUM选项: --config value TOML 配置文件 --datadir “xxx” 数据库和keystore密钥的数据目录 --keystore keystore存放目录 ( 默认在datadir内 ) --nousb 禁用监控和管理USB硬件钱包 --networkid value 网络标识符 ( 整型, 1 = Frontier, 2 = Morden (

MySQL高可用群集----MHA

纵然是瞬间 提交于 2020-03-03 02:48:54
文章目录 前言: 一、MHA概述 1.1 MHA简介 1.2 MHA特点 1.3 MHA作用 二、MHA实验 2.1 实验环境 2.2 拓扑图 2.3 实验目的 2.4 案例配置思路 2.5 实验配置 2.5.1 定义节点服务器名称 2.5.2 安装编译依赖环境 2.5.3 手工编译安装MySQL5.6 2.5.4 修改MySQL配置文件 2.2.5 新增数据库授权 2.5.6 配置主从同步 2.5.7 安装MHA 2.5.8 配置无密码认证 2.5.9 配置MHA 2.6 验证配置 2.6.1 验证密钥对 2.6.2 测试mysql主从复制 2.6.4 启动MHA 2.6.5 模拟故障 总结: 前言: MHA目前在MySQL高可用方面是一个相对成熟的解决方案 但是在搭建的过程中容易报错,且MHA的构建综合了主从复制,所以MHA安装时需要严格执行每一个部署 一、MHA概述 1.1 MHA简介 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,MHA是由日本人开发,是一套优秀的MySQL故障切换和主从复制的高可用软件 在MySQL故障切换的过程中,MHA能做到0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能够最大程度上保证数据库的一致性,以达到真正意义上的高可用 MHA由perl语言编写

架构:亿级Web系统负载均衡几种实现方式

扶醉桌前 提交于 2020-03-01 22:37:31
负载均衡(Load Balance)是集群技术(Cluster)的一种应用技术。负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力。目前最常见的负载均衡应用是Web负载均衡。根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询、IP负载均衡和CDN。其中IP负载均衡可以使用硬件设备或软件方式来实现。 什么是web负载均衡 服务器集群(Cluster)使得多个服务器节点能够协同工作,根据目的的不同,服务器集群可以分为: 高性能集群:将单个重负载的请求分散到多个节点进行处理,最后再将处理结果进行汇总。 高可用集群:提高冗余单元,避免单点故障。 负载均衡集群:将大量的并发请求分担到多个处理节点。由于单个处理节点的故障不影响整个服务,负载均衡集群同时也实现了高可用性。 一般提到的负载均衡(Load Balance),是指实现负载均衡集群。负载均衡实现了横向扩展,避免纵向的升级换代。本文中的web负载均衡,特指能够分担web请求(http,https等)的负载均衡技术。 基本原理 任何的负载均衡技术都要想办法建立某种一对多的映射机制: 一个请求的入口映射到多个处理请求的节点,从而实现分而治之(Divide and Conquer)。 这种映射机制使得多个物理存在对外体现为一个虚拟的整体,对服务的请求者屏蔽了内部的结构。 采用不同的机制建立映射关系

Zookeeper学习系列【二】Zookeeper 集群章节之集群搭建

我们两清 提交于 2020-03-01 13:45:14
转载 https://segmentfault.com/a/1190000019153491 java zookeeper 更新于 2019-10-15 约 9 分钟 前言 同道们,好久不见,上一章中,我主要讲了Zookeeper的一些基础的知识点。数据模型 + 原语集 + Watches机制。本章内容主要讲的是集群搭建相关的知识。 本篇的内容主要包含以下几点: Zookeeper 运行模式 Zookeeper 搭建 一、Zookeeper 运行模式 Zookeeper 有两种运行模式,单点模式和集群模式。 单点模式(standalone mode)- Zookeeper 只运行在单个服务器上,常用于开发测试阶段,这种模式比较简单,但是不能保证Zookeeper服务的<font color= 'red'>高可用性</font>和<font color= 'red'>恢复性</font>。 集群模式(replicated mode)- 英文原文这种模式叫做“复制模式”;这个模式下,Zookeeper运行于一个集群上,适合生产环境。 同一个集群下的server节点被称为 quorum ,翻译过来就是“一个正式会议的法定人数”,如果你看完下一章介绍的ZAB协议的两种模式之后,应该会觉得这个比喻实际上很形象。 NOTE: 在集群模式下,最少需要三个server节点

Redis系列(三)Redis主从复制

孤者浪人 提交于 2020-03-01 11:47:33
持久化保证了即使redis服务重启也不会丢失数据,因为redis服务重启后会将硬盘上持久化的数据恢复到内存中,但是当redis服务器的硬盘损坏了可能会导致数据丢失, 如果通过redis的主从复制机制就可以避免这种单点故障。主从复制架构如下图 说明: 主redis中的数据有两个副本(replication)即从redis1和从redis2,即使一台redis服务器宕机其它两台redis服务也可以继续提供服务。 主redis中的数据和从redis上的数据保持实时同步,当主redis写入数据时通过主从复制机制会复制到两个从redis服务上。 只有一个主redis,可以有多个从redis。 主从复制不会阻塞master,在同步数据时,master 可以继续处理client 请求。 一个redis可以即是主又是从,如下图: 主从复制配置 配置从服务器,主服务器不需要做任何修改 。修改从服务器的redis.conf文件。 总结: 上述操作之后,在主服务器添加数据后,在从服务器中就可以获取到主服务器添加的key了,但是从服务器是只读的,不允许写(为了保证和主服务器时刻数据一致,如果主服务器冗机了,需要将从服务器变为主服务器,就需要手工写脚本使其不是只读,但是集群可以避免从服务器为只读这种情况的)。 Redis主从工作原理 如果你为master配置了一个slave

J2EE集群之failover小点子

。_饼干妹妹 提交于 2020-03-01 03:42:54
J2EE集群不太了解的人首先可以看看附件里面的《解开J2EE集群的神秘面纱》, 讲的挺好的。 J2EE的服务器集群主要的就是 负载均衡 和 失败转移 这些。 负载均衡这个话题都烂大街了,随处可以找到相关的帖子或博文,我也就不谈了。 但是这些帖子中大部分都只谈了负载均衡,顶多再说一下 Tomcat 的 HttpSession 复制(失败转移的一种解决方案吧)。更有甚者,直接决定“集群中服务器节点宕机丢失的部分 HttpSession 不碍事”。。。 我的感觉就是, 像 Tomcat 的 HttpSession 交叉复制,如果集群中服务器过多对性能的影响肯定非常之大。 像 JBoss、WebLogic 等的服务器链式 HttpSession 复制,如果一个服务器节点宕机,此节点的下一个服务器节点就得负责两个服务器的用户请求。是不是有点怕人奥。 至于“集群中某个节点宕机就宕机, HttpSession 丢失无所谓”这样的观点也是挺匪夷所思的,毕竟后台中2000个 HttpSession 同时丢失的后果不是那么容易承担的。 为了解决上面这些问题,我自己琢磨了一套方案,感觉挺不错的(不知道网上是不是有类似“轮子”,反正我是没有搜索到)。 就发出来共享一下,嘿嘿 我想到的是 缓存服务器和Web服务器双向备份HttpSession ,这个。。。。咱语文挺烂的,表达的不好。