集群服务器

【Redis】集群教程(Windows)

核能气质少年 提交于 2020-04-08 04:34:53
概述 Redis集群数据分片 Redis集群节点通讯 环境准备 搭建Redis集群 测试Redis集群 概述 Redis Cluster provides a way to run a Redis installation where data is automatically sharded across multiple Redis nodes Redis集群提供一个在多个Redis节点数据自动共享的方式,简单来说就是添加服务器的数量,达到 高可用,让Redis服务长时间有效运行,不会因为硬件/软件问题导致不可用 可扩展性,动态添加节点/删除节点,达到增加性能/减少服务器资源 分布式,节点可以不是 容错,若其中一台服务器故障挂了Redis也能继续使用(前提是有从节点并且可用) Redis集群数据分片 Redis 集群没有使用一致性hash, 而是引入了 哈希槽的概念. Redis 集群有16384个哈希槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽.集群的每个节点负责一部分hash槽,举个例子,比如当前集群有3个节点,那么: 节点 A 包含 0 到 5500号哈希槽. 节点 B 包含5501 到 11000 号哈希槽. 节点 C 包含11001 到 16384号哈希槽 这种结构的好处就是非常容易增加/删除节点,并且不会影响集群的使用 增加节点

Zookeeper-deploy

心已入冬 提交于 2020-04-08 03:21:35
一、概述 1.1、简介 Zookeeper是一个开源的,分布式的,为分布式应用提供协调服务的Apache项目 1.2、工作机制 Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化Zookeeper就将负责通知已经在Zookeeper.上注册的那些观察者做出相应的反应。 1.3、特点 1) Zookeeper: 一个领导者(Leader) ,多个跟随者(Follower) 组成的集群。 2)集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。 3)全局数据一致:每个Server保存一份相同的数据副本,Client无论 连接到哪个Server,数据都是一致的。 4)更新请求顺序进行,来自同一个Client的更新请求按其发送顺序依次执行。 5)数据更新原子性,一次数据更新要么成功,要么失败。 6)实时性,在一定时间范围内,Client能读到最新数据。 1.4、数据结构 ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode。每一个ZNode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识。 znode一共有4种类型:持久的(persistent)、临时的 (ephemeral)、持久有序的

[转帖]Kubernetes之Service

爱⌒轻易说出口 提交于 2020-04-07 21:17:20
Kubernetes之Service https://blog.lecury.cn/2016/06/20/Kubernetes之Service/ 在Kubernetes中Pod是终将消失的,从创建到销毁的过程中,它们是无法自动重启的。而ReplicationController可以用来动态的创建和销毁Pod(比如说在进行滚动升级的时候,可以进行扩展和收缩)。每一个Pod都得到一个属于自己的IP,但这些IP不能一直有效存在,因为这些IP随着Pod的销毁而变得没有了意义。那么这就导致了一个问题,如果一些Pods为集群内部的其他Pods(我们称它们为前端)提供服务,那么这些前端怎么发现、追踪这些后端集合中的服务呢?Service就是做这个事情的。 Service是一个抽象概念,它定义了一些逻辑上的Pods集合,并且定义了访问这些Pods集合的策略,也被称作为micro-service。Service通常通过Label标签选择器来对应相应的Pods集合(也有一些没有标签选择器的,请看下文介绍)。 举个例子,考虑一个运行的镜像,它在集群中有三个副本,这些副本是可以相互替代的,前端并不关心它现在与哪个后端服务打交道。实际上Pods组成的后端服务集合可以是变化的,比如说通过scale进行副本增加或者副本减少,但我们的前端不应该关心或者跟踪后端服务的变化,Service这一层抽象可以做到这一点。

部署Rabbitmq集群

浪子不回头ぞ 提交于 2020-04-06 16:25:08
一、部署Rabbitmq集群 Rabbitmq集群大概分为两种方式: 1、普通模式:默认的集群模式,消息的尸体只存在一个节点上; 2、镜像模式:把需要的队列做成镜像,存在于多个节点。 ha-mode: all:列队到所有节点; exatly:随机镜像到其他节点上; nodes:镜像到指定节点上。 集群节点模式: 1、内存节点:工作在内存上; 2、磁盘节点:工作在磁盘上; 例外:内存节点和磁盘节点共同存在,提高访问速度的同时增加数据持久化。 相比内存节点虽然不写入磁盘,但是它执行比磁盘节点要好,集群中,只需要一个磁盘来保存状态就足够了,如果集群中只有内存节点,那么节点一旦宕机,所有的状态、消息都会丢失,无法实现数据的持久化。 rpm包(提取码:rv8g) 1、环境如下 2、安装rabbitmq服务 在192.168.171.134/135/140节点上进行如下操作,部署rabbitmq服务: [root@localhost ~]# mkdir rabbitmq [root@localhost ~]# cd rabbitmq/ [root@localhost rabbitmq]# ls erlang-18.1-1.el6.x86_64.rpm rabbitmq-server-3.6.6-1.el6.noarch.rpm socat-1.7.3.2-2.el7.x86_64.rpm

五分钟学后端技术:一篇文章教你读懂大数据技术栈!

青春壹個敷衍的年華 提交于 2020-04-06 08:22:52
作者:网易云 链接: https://www.zhihu.com/question/27696290/answer/381993207 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 什么是大数据 近几年,市场上出现了很多和大数据相关的岗位,不管是数据分析、数据挖掘,或者是数据研发,都是围绕着大数据来做事情,那么,到底什么是大数据,就是我们每一个要学习大数据技术的朋友要了解的事情了,根据百度百科的介绍 大数据(big data),IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》 [1] 中大数据指不用随机分析法(抽样调查)这样捷径,而采用所有数据进行分析处理。大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。 [2] 思维导图 大数据方面核心技术有哪些? 大数据的概念比较抽象,而大数据技术栈的庞大程度将让你叹为观止。 大数据技术的体系庞大且复杂,基础的技术包含数据的采集、数据预处理、分布式存储、NoSQL数据库、数据仓库、机器学习、并行计算

五分钟学后端技术:如何学习分布式系统和相关技术

倾然丶 夕夏残阳落幕 提交于 2020-04-06 05:21:46
转载自 https://www.cnblogs.com/wetest/p/6806506.html 和 https://www.cnblogs.com/dudu0614/p/8821811.html 什么是分布式系统 分布式这一概念,一直都是后端工程师绕不过去的一个坎,今天,我们就一起来看看到底什么是分布式系统,又有哪些分布式技术世我们需要学习的。 根据百度百科的介绍,分布式系统(distributed system)是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的内聚性和透明性。因此,网络和分布式系统之间的区别更多的在于高层软件(特别是操作系统),而不是硬件。 从分布式系统的诞生说起 我们常常会听说,某个互联网应用的服务器端系统多么牛逼,比如QQ、微信、淘宝。那么,一个互联网应用的服务器端系统,到底牛逼在什么地方?为什么海量的用户访问,会让一个服务器端系统变得更复杂?本文就是想从最基本的地方开始,探寻服务器端系统技术的基础概念。 承载量是分布式系统存在的原因 当一个互联网业务获得大众欢迎的时候,最显著碰到的技术问题,就是服务器非常繁忙。当每天有1000万个用户访问你的网站时,无论你使用什么样的服务器硬件,都不可能只用一台机器就承载的了。因此,在互联网程序员解决服务器端问题的时候,必须要考虑如何使用多台服务器,为同一种互联网应用提供服务,这就是所谓

Kubernetes从小白到CKA系列

大城市里の小女人 提交于 2020-04-05 23:01:49
本文大部分是原理,后期打算开个专栏,咱也玩玩知识付费~ 一、发展史 在云计算领域有几个很常见的词汇:IaaS、PaaS、SaaS。IaaS就是基础平台即服务,国内有阿里云等;PaaS是平台即服务,在早些时候新浪云SAE较为有名;SaaS就是软件即服务,最大的Office厂商MS的Office365就是一个很好的代表。在最开始的时候PaaS基本就是人肉运维,慢慢的又出现了一系列的自动化工具,再后来专门做PaaS的一家公司创造了Docker。Docker变成了PaaS的一个标准,但是随着容器化的发展也出现了一系列的问题。容器化后容器的映射关系变得异常艰难,而且这仅仅是容器化发展的一个小小的问题。那么随着容器化的步伐,衍生出了一些列的资源管理器,最开始是Apache Mesos,Mesos由加州的伯克利大学研发出来,随后被推特选中,大规模的在推特盛行。在2019年5月,特推在旧金山开展了技术发布会,在该会上产品负责人宣布推特以后全部使用Kubernetes。第二款资源管理软件是Docker自家推出的Docker Swarm平台。Docker Swarm是一个非常轻量的资源管理平台。但是Swarm功能较为简单,而且国内云厂商阿里云在2019年7月宣布在选择资源管理框架的时候不支持Swarm,默认Kubernetes

redis 常用命令总结

雨燕双飞 提交于 2020-04-05 19:23:15
转载—— 第一部分 redis的常用指令 一、针对key的操作 1.1 del key [key .. ] , 删除指定的一个或者多个key; 1.2 dump key , 序列化给定的key 1.3 restore key ttl serialized-value , 反序列化到key 1.4 exists key , 判断某一key是否存在 1.5 expire key seconds , 设置key的过期时间 ① set命令可以覆盖过期时间;不改变key的操作不会影响key的生存时间 ② rename也不会改变key的过期时间 ③ persist命令可以删除key的过期时间,即永久 ④ ttl可以查看redis中key的过期时间 1.6 expireat key timestamp , 设置key的生存时间 1.7 keys pattern , 查找所有符合给定模式pattern的key ① *, ?, [m,n] 1.8 move key db , 将当前数据库中的key移动数据库 db中。使用select db可以切换数据库 1.9 persist key , 移除给定 key 的生存时间 1.10 pexpire,pexpireat , 设置key的过期、生存时间,单位毫秒 1.11 ttl,pttl , key的剩余过期时间,单位秒,单位是毫秒 1.12

Redis集群

我们两清 提交于 2020-04-05 17:37:12
Redis 的哨兵模式基本已经可以实现高可用,读写分离 ,但是在这种模式下每台 Redis 服务器都存储相同的数据,很浪费内存,所以在redis3.0上加入了 Cluster 集群模式,实现了 Redis 的分布式存储,也就是说每台 Redis 节点上存储不同的内容。 根据官方推荐,集群部署至少要 3 台以上的master节点,最好使用 3 主 3 从六个节点的模式。在测试环境中,只能在一台机器上面开启6个服务实例来模拟。 1、修改配置文件 将 redis.conf 的配置文件复制6份到7000 .....7005(文件名最好加上端口后缀),然后开始修改配置文件中的参数 mkdir cluster-test cd cluster-test mkdir 7000 7001 7002 7003 7004 7005采用最下配置,以7000为例(其他的参考修改端口和config-file): port 7000 protected-mode no cluster-enabled yes cluster-config-file nodes7000.conf cluster-node-timeout 5000 appendonly yes cd 7000 ../redis-server ./redis.conf 启动6个服务: 运行以下命令集群(5.0以上版本) redis-cli -

kubernetes基本概念和术语

我的未来我决定 提交于 2020-04-05 16:59:36
在Kubernetes中,几乎所有的概念,包括Master、Node、Pod、Label、Namespace、Volume等都可以看作是一种“资源对象”。 从这个角度上来说, Kubernetes是一个高度自动化的资源控制系统 , 它通过对比etcd中保存的“资源期望状态”和当前环境的“资源实际状态” , 以此来实现自动控制和自动纠错的功能。 1.Master Master是Kubernetes集群的控制节点,每个kubernetes集群至少有一个Master节点, 它负责整个集群的控制和管理 ,几乎所有的kubectl的命令都是同时Master节点来执行的。 Master节点也可以参与实际任务的执行,但是并不建议这样做,因为master节点必须保证高可用, 一旦master节点宕机,那么整个集群都会处于停滞状态。生产环境建议使用3台独立的服务器作为Master节点。 Master节点的主要组件包括:APIServer、Controller-Manager、Scheduler,还有kubelet、kubectl、etcd等组件。 这些组件会以进程的形式展开。    APIServer :整个集群的唯一入口,也是连接etcd的唯一入口,所有对资源对象进行的操作都必须通过这个组件来展开。     所有组件的操作也必须通过APIServer这个组件来实现。    Controller