集群服务器

一、spring cloud alibaba学习(nacos,ribbon)

北城余情 提交于 2020-02-08 02:11:41
对比 Nacos 服务发现组建,也是配置服务器 用来解决服务a如何找到服务b、并且管理微服务 下载应用程序,并打开,以启动Nacos Server 加依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>${latest.version}</version> </dependency> 没有注解。 写配置,制定Nacos Server的地址、服务名称 spring: cloud: nacos: discovery: #指定nacos server的地址 server-addr: localhost:8848 application: #服务名称尽量用-,不要用_及特殊字符 name: user-center 领域模型 namespace:主要用于隔离,例如隔离开发环境,生产环境,测试环境等。不能跨namespace调用实例。 group:把不同的微服务放到一个分组里,方便管理。(alibaba0.9.0中没有用到) service:微服务 cluster:集群,对指定微服务的虚拟划分 instance:微服务实例 namespace和cluster:

MySQL数据库集群实战(4)——MySQL主从复制之全同步复制(单主模式和多主模式)

好久不见. 提交于 2020-02-08 00:23:12
文章目录 一、mysql全同步复制(组复制) 1、理解组复制工作原理 2、搭建mysql全同步复制多主模式 实验环境 实验 3、多主模式切换成单主模式 4、单主模式切换成多主模式 一、mysql全同步复制(组复制) 1、理解组复制工作原理 MySQL组复制是一个MySQL插件,它基于常规的MySQL复制,利用了基于行格式的二进制日志和GTID等特性。 MySQL组复制是MySQL 5.7.17开始引入的新功能,为主从复制实现高可用功能。它支持单主模型和多主模型两种工作方式 (默认是单主模型) 。 单主模型:从复制组中众多个MySQL节点中自动选举一个master节点,只有master节点可以写,其他节点自动设置为read only。当master节点故障时,会自动选举一个新的master节点,选举成功后,它将设置为可写,其他slave将指向这个新的master。 多主模型:复制组中的任何一个节点都可以写,因此没有master和slave的概念,只要突然故障的节点数量不太多,这个多主模型就能继续可用。 组由多个服务器构成,通过传递消息进行交互,通信层保证原子消息传递。MGR构建于此通信层抽象之上,并实现了多主更新复制协议。组中的每个服务器独立地执行事务,但是所有读写事务只有在得到组的批准后才会提交。只读事务在组内不需要协调,因此立即提交。对于任何读写事务

Redis 面试题汇总

本小妞迷上赌 提交于 2020-02-07 15:18:32
Redis 面试题汇总 1.Redis 使用场景有哪些? 答:Redis 使用场景如下: 记录帖子点赞数、点击数、评论数 缓存近期热帖 缓存文章详情信息 记录用户会话信息 2.Redis 有哪些功能? 答:Redis 功能如下: 数据缓存功能 分布式锁的功能 支持数据持久化 支持事务 支持消息队列 3.Redis 支持哪些数据类型? 答:Redis 支持的数据类型如下: String 字符串 List 列表 Set 无序集合 ZSet 有序集合 Hash 哈希类型 4.Redis 相比 Memcached 有哪些优势? 答:Redis 相比 Memcached 优势如下: Memcached 所有的值均是简单的字符串,Redis 支持更为丰富的数据类型 Redis 的速度比 Memcached 要快 Redis 可以持久化 Redis 可以设置过期时间 Redis 支持主从同步 5.Redis 支持哪些淘汰策略? 答:Redis 淘汰策略如下: noeviction:禁止淘汰数据; allkeys-lru:尝试回收最少使用的键,使得新添加的数据有空间存放; volatile-lru:尝试回收最少使用的键,但仅限于在过期集合的键,使得新添加的数据有空间存放; allkeys-random:回收随机的键使得新添加的数据有空间存放; volatile-random

ZooKeeper原理解析

♀尐吖头ヾ 提交于 2020-02-07 11:16:27
文章目录 1.ZooKeeper介绍 1.1文件系统 1.2监听机制 1.3监听工作原理 1.4ZooKeeper典型应用场景 1.4.1命名服务 1.4.2配置管理 1.4.3集群管理 1.4.4分布式锁 1.4.5队列管理 2.ZooKeeper特点 3.Zookeeper原理解析 3.1集群角色描述 3.2Paxos 算法概述(ZAB 协议) 3.2.1ZooKeeper的全新集群选主 3.2.2ZooKeeper的非全新集群选主 3.3数据同步 3.4ZooKeeper工作流程 3.4.4Leader工作流程 3.4.2Follower工作流程 3.4.3Observer工作流程 1.ZooKeeper介绍 ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,是 Google 的 Chubby 一个开源的实现。它提供了简单原始的功能,分布式应用可以基于它实现更高级的服务,比如 分布式同步,配置管理,集群管理,命名管理,队列管理 。它被设计为易于编程,使用文 件系统目录树作为数据模型。服务端跑在 java 上,提供 java 和 C 的客户端 API。 1.1文件系统 ZooKeeper 的命名空间就是 ZooKeeper 应用的文件系统,它和 linux 的文件系统很像,也是树 状,这样就可以确定每个路径都是唯一的,对于命名空间的操作必须都是绝对路径操作

Moebius集群:SQL Server一站式数据平台

狂风中的少年 提交于 2020-02-07 02:27:47
一、Moebius集群的架构及原理   1、无共享磁盘架构   Moebius集群采用无共享磁盘架构设计,各个机器可以不连接一个共享的设备,数据可以存储在每个机器自己的存储介质中。这样每个机器就不需要硬件上的偶合,只需要能够互相连通。 ▲无共享磁盘架构    2、SQL解析及调度引擎 ——监控SQL语句,透明地切分应用与数据库   解析:解析应用程序传递的SQL语句,并作相应的优化加速及缓存。   调度:按照业务的需要将SQL语句调度到相应的 服务器 上;在对SQL语句进行分发时采用多种负载均衡策略,可以实现SQL语句一级的负载均衡。   处理:按照业务的需要对SQL语句进行相应的处理,包括修改、替换SQL语句等等。    3、故障监控引擎——快速发现故障节点并将其剥离   Moebius 集群通过“网络心跳”及“仲裁机制”可以实现自动故障监测,当侦测到集群中某节点发生故障时,会在最短的时间内发现并通过虚拟IP转移技术自动将故障节点的业务转移,同时将此节点剥离出集群。    4、数据同步引擎——同步数据,保证数据一致性及事务的连续性   数据实时复制是构建多机高可用及负载均衡,系统实时容灾、备份所采用的一种核心技术。Moebius Core宿主在SQL Server 数据库引擎中,监测数据库内数据的变化并分析导致数据变化的原因,将变化的数据以最小的消耗同步到其它节点中

搭建zookeeper集群,无废话

*爱你&永不变心* 提交于 2020-02-07 00:40:43
1、集群规划 本次集群搭建采用伪集群,即在一台主机上分别使用三个端口进行搭建,接下来就不多废话,直接上步骤 文件夹 主机ip 端口 zk1 192.168.146.21 2181 zk2 192.168.146.21 2182 zk3 192.168.146.21 2183 2、复制三份zookeeper包 3、创建数据目录和日志目录 mkdir zk1 / data zk1 / log mkdir zk2 / data zk2 / log mkdir zk3 / data zk3 / log 4、创建myid文件 vi zk1 / data / myid 文件内容为1 vi zk2 / data / myid 文件内容为2 vi zk3 / data / myid 文件内容为3 如下所示 5、 修改配置文件 zk1 数据目录 # ookeeper的数据存放地址 dataDir= / home / zk - mq / cluster / zk - cluster / zk1 / data # zookeeper的日志目录 dataLogDir= / home / zk - mq / cluster / zk - cluster / zk1 / log # 连接的端口号 clientPort=2181 zk2数据目录 # ookeeper的数据存放地址 dataDir= / home

ZooKeeper面试题

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-06 21:35:05
前言 ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper 的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 面试题 ZooKeeper 是什么? ZooKeeper 提供了什么? Zookeeper 文件系统 ZAB 协议? 四种类型的数据节点 Znode Zookeeper Watcher 机制 -- 数据变更通知 客户端注册 Watcher 实现 服务端处理 Watcher 实现 客户端回调 Watcher ACL 权限控制机制 Chroot 特性 会话管理 服务器角色 Zookeeper 下 Server 工作状态 数据同步 zookeeper 是如何保证事务的顺序一致性的? 分布式集群中为什么会有 Master? zk 节点宕机如何处理? zookeeper 负载均衡和 nginx 负载均衡区别 Zookeeper 有哪几种几种部署模式? 集群最少要几台机器,集群规则是怎样的? 集群支持动态添加机器吗? Zookeeper 对节点的 watch 监听通知是永久的吗?为什么不是永久的? Zookeeper 的 java 客户端都有哪些? chubby 是什么,和 zookeeper 比你怎么看?

集群、负载均衡、微服务、分布式的概念

南笙酒味 提交于 2020-02-06 16:06:23
集群 多台主机干同样的事 比如web容器,只使用一个主机: 这个主机发生故障,直接gg。 数据库并发量大时,这个主机负担很大 数据库集群:使用多个主机,这些主机上都运行web容器。 某些主机发生故障,其它主机还能工作,影响不大 更好应对并发 常见的集群: web服务器集群,比如tomcat集群 数据库集群(读写分离) 缓存集群,比如redis集群 搜索引擎集群 负载均衡(Load Balancer) 集群之后,一大片主机都干同样的事儿,具体交给哪台机器处理呢?这就需要单独使用一台机器来完成负载均衡。 请求发送给负载均衡的服务器,由负载均衡服务器决定发给集群中的哪个机器来处理。 微服务 将一个大项目拆分为多个子模块 传统的项目是单体应用,如果项目很大,升级维护会很麻烦,修改某一模块,需要重新部署整个项目。 微服务是把子模块抽取出来,变成一个个微服务,可单独修改、部署,在项目主体中调用这些微服务即可。微服务之间通过消息队列来通信。 分布式 将一个大的项目、应用划分为多个子模块,单独部署到多个主机上。 比如将web容器单独安装到一台主机上,把redis单独安装到一个主机上,把数据库单独安装到一个主机上,协同完成一个项目。 分布式是一个很笼统的概念,集群、微服务也算是分布式的。 分布式储存 有时需要将数据以文件形式储存到硬盘,比如session钝化、对象序列化、上传文件的储存、大数据储存等

Redis

喜你入骨 提交于 2020-02-06 03:53:52
Redis Redis是NoSQL(非关系性数据库的一种) 安装Redis Redis 的官方下载站是 http://redis.io/download,可以去上面下载最新的安装程序 redis中文网站 http://redis.cn/ windows下的安装和使用 1.下载redis程序软件 使用redisbin32 或redisbin64 https://github.com/microsoftarchive/redis/releases 2.绿色软件,不需要安装,直接使用 3.启动redis服务(带配置文件启动,和不带配置文件启动) 直接点击redis-cli.exe是不带配置文件启动 4.连接到redis进行操作 cmd>{%redis%}/redis-cli -h ip地址 -p 端口号 ip 默认为本地 -p 默认6379 Redis集群&&分布式 集群:多个服务器 都去处理同一个业务 分布式:多个服务器 去处理不同的业务 redis为什么要集群 1.处理高并发 2.防止单点故障 3.处理大量数据 集群具备的特性 集群应该具有如下特性: 可扩展性 : 方便的增加集群中的机器 , 动态扩容缩容 高可用性 :从性能,相应等方面提升效率,不会挂掉,不相应结果 1.6.集群的能力 集群应该具备如下能力: 负载均衡 把请求根据某种算法相对平衡的路由到集群的应用 错误恢复

基于NFS实现集群文件共享

不羁岁月 提交于 2020-02-05 14:00:48
集群文件共享的目的 之前我们已经把集群关联起来了,接下来我们需要配置文件共享来实时地对集群文件进行增删改查。 简单来说有两个步骤:一是通过NFS在每个节点上形成挂载点,二是用节点下的目录文件替代同名的容器内的目录文件 最终由各个节点里的目录文件通过共享文件夹关联到了1个NFS Server的一个目录中,我们通过对这个目录里的文件进行修改,全局都会发生变更~ 删除之前的deploy和service部署 主服务器 我们采取从新部署的形式,先通过以下两条命令先删除之前部署的deploy和service kubectl delete deployment tomcat-deploy kubectl delete service tomcat-service 目录 集群文件共享的目的 删除之前的deploy和service部署 实现NFS实现集群文件共享 1.进入deploy目录下 2.编辑tomcat-deploy.yml文件 3.重新部署deploy 4.主节点新建文件 5.在从节点查看文件 如何在主节点上查看从节点的内容 实现NFS实现集群文件共享 1.进入deploy目录下 cd /usr/local/k8s/tomcat-deploy 2.编辑tomcat-deploy.yml文件 在里面增加如下配置 3.重新部署deploy kubectl create -f tomcat