江西建设网官方网站做网站做软件怎么赚钱

web/2025/10/6 3:47:58/文章来源:
江西建设网官方网站,做网站做软件怎么赚钱,教育培训学校,山东省建设局网站首页目录 环境 一#xff0c;安装和部署redis 1#xff0c;安装 2#xff0c;部署 ​编辑 3#xff0c;允许非本机连接redis 二、主从模式 主从模式搭建#xff1a; 三#xff0c;哨兵模式 哨兵模式搭建 四#xff0c;集群模式 架构细节: 心跳机制 集群模式搭建#xff1a… 目录 环境 一安装和部署redis 1安装  2部署 ​编辑 3允许非本机连接redis 二、主从模式 主从模式搭建 三哨兵模式 哨兵模式搭建 四集群模式  架构细节: 心跳机制 集群模式搭建 jedis连接集群  最后 环境 centOS7 redis5 vm12 一安装和部署redis 1安装 Redis是C语言开发的安装redis需要先去官网下载源码进行编译编译需要依赖于GCC编译环境如果 CentOS上没有安装gcc编译环境需要提前安装安装命令如下:这里我们使用root用户处理这些操 作 键入命令 yum install gcc有一个redis压缩包在/usr/myapps下至于redis的压缩包是如何放入centos的我在此就不做演示了我是使用Mobaterm连接虚拟机然后传输文件到虚拟机中然后解压该压缩包 键入命令 tar -zxvf redis-5.0.5.tar.gz 解压后解压完的文件名为redis.5.0.5然后我们进入到此文件下键入如下命令进行安装 make PREFIX/usr/myapps/redis install //这里指定了redis的安装目录为/usr/myapps/redis 安装完之后我们还需要将redis的配置文件复制过来因为在/usr/myapps/redis中只有bin/文件夹而没有配置文件配置文件在redis-5.0.5中将其复制过来就可以了。 2部署 redis的启动方式有两种一种是前端启动还有一种是端启动如下 启动的时候注意要关闭防火墙 systemctl disable firewalld //永久关闭 systemctl stop firewalld //临时关闭 systemctl status firewalld //查看防火墙状态 2.1前端启动用的很少 在/usr/myapps/redis下键入命令 ./bin/redis-server 前端启动之后不能再进行其他操 作如果要操作必须使用ctrlc同时redis-server程序结束不推荐此方法。 2.2后端启动 在后端启动之前我们首先要修改redis.conf文件来允许后端启动在redis.conf的文件中的如下位置修改daemonize将no改为yes然后保存退出。 之后键入命令后端启动redis ./bin/redis-server ./redis.conf 键入命令连接redis ./bin/redis-cli -h 127.0.0.1 -p 6379 //默认是127.0.0.1和6379所以也可以不用写 键入一下命令关闭redis连接 ./bin/redis-cli shutdown 当然其实也可以使用直接杀死redis进程的方式来结束redis连接。 3允许非本机连接redis 同样我们还是需要来修改redis.conf文件在redis.conf找到如下地方修改bind后面的ip改成允许连接的ip 修改完之后可以看到我们可以使用192.168.58.100来连接redis可以看到连接成功。 我们也可以使用redis的图形化工具在windows上链接contos上的redis服务器。如下 我们在redis客户端上存入数据 可以看到在redis的图形化工具上也存在我们存入的值。 系统中只有一台redis服务器是不可靠的容易出现单点故障。为了避免单点故障可以使用多台redis服务器组成redis集群。redis支持三种集群模式。 二、主从模式 至少需要两台redis服务器一台主节点master、一台从节点slave组成主从模式的Redis集群。通常来说master主要负责写slave主要负责读主从模式实现了读写分离。 集群中有多台redis节点就必须保证每个节点中的数据是一致的。redis中为了保持数据一致性数据总是从master复制到slave这就是redis的主从复制。 主从复制的作用 数据冗余实现了数据的热备份是持久化之外的另一种数据冗余方式 故障恢复master故障时slave可以提供服务实现故障快速恢复 负载均衡master负责写slave负责读。在写少读多的场景下可以极大提高redis吞吐量 高可用基石主从复制是redis哨兵模式和集群模式的基础。 主从复制实现原理 主从复制过程主要可以分为3个阶段连接建立阶段、数据同步阶段、命令传播阶段。 连接建立阶段在主从节点之间建立连接为数据同步做准备。 数据同步阶段执行数据的全量或增量复制复制RDB文件 命令传播阶段主节点将已执行的命令发送给从节点从节点接收命令并执行从而实现主从节点的数据一致性 主从模式中一个主节点可以有多个从节点。为了减少主从复制对主节点的性能影响一个从节点可以作为另外一个从节点的主节点进行主从复制。 不足之处主节点宕机之后需要手动拉起从节点来提供业务不能达到高可用。 主从模式搭建 我们将上述使用的redis复制一份到/usr/myapps/redis1中 清除redis1中的持久化文件键入命令 rm -rf dump.rdb 然后修改redis1的配置文件redis.conf在文件中找到如下内容的位置然后修改 replicaof masterip masterport改为主服务器的ip和端口号。 然后再修改从机的监听端口为6380 之后保存并且退出然后启动从机。连接从机之后输入info命令 我们可以在info命令下看到此从机的信息。  在从机中可以取到主机中的数据但是自己不可以上传数据。 主从模式的搭建就到这里。 三哨兵模式 Redis Sentinel是Redis的高可用实现方案它可以实现对redis的监控、通知和自动故障转移当redis master挂掉之后可以自动拉起slave提供业务从而实现redis的高可用。为了避免Sentinel本身出现单点故障Sentinel自己也可采用集群模式。 哨兵模式的原理 Sentinel是一种特殊的redis节点每个sentinel节点会维护与其他redis节点包括master/slave/sentinel的心跳。 当一个sentinel节点与master节点的心跳丢失时这个sentinel节点就会认为master节点出现了故障处于不可用的状态这种判定叫作主观下线即sentinel节点自己主观认为master下线了 之后这个sentinel节点会与其他sentinel节点交换信息如果发现认为主节点发生故障的sentinel节点的个数超过了某个阈值通常为sentinel节点总数的1/21即超过半数则sentinel会认为master节点已经处于客观下线的状态即大家都认为master故障不可用了。 之后sentinel节点中会选举处一个sentinel leader来执行redis主节点的故障转移。 被选举出的 Sentinel 领导者进行故障转移的具体步骤如下 1在从节点列表中选出一个节点作为新的主节点 过滤不健康或者不满足要求的节点 选择 slave-priority优先级最高的从节点 如果存在则返回 不存在则继续 选择复制偏移量最大的从节点 如果存在则返回 不存在则继续 选择 runid 最小的从节点。 2Sentinel 领导者节点会对选出来的从节点执行 slaveof no one 命令让其成为主节点。 3Sentinel 领导者节点会向剩余的从节点发送命令让他们从新的主节点上复制数据。 4Sentinel 领导者会将原来的主节点更新为从节点 并对其进行监控 当其恢复后命令它去复制新的主节点。 哨兵模式搭建 首先我们将上述的redis1复制一份改为redis2在redis.conf中修改port为6381所以这个时候主机redis拥有两个从机一个是redis1还有一个是redis2如下图连接上redis之后输入info可以看到两个从机的信息说明主从运行正常。 后面我们在redis2上安装一个哨兵。首先在redis2的bin下创建一个sentinel.conf文件文件内容含义如下 启动哨兵进程首先需要创建哨兵配置文件vi sentinel.conf,可从源码配置redis5.0.5/sentinel.conf中复制内容也可以直接自定义该文件到bin目录下 在配置中输入:sentinel monitor mastername 内网IP(127.0.0.1) 6379 1 说明 mastername 监控主数据的名称自定义 127.0.0.1监控主数据库的IP; 6379:端口 1最低通过票数 只有画红线的这一行是我们写的其他是我运行之后redis自行生成的。 之后我们创建一个日志文件用于记录哨兵的日志 ./redis-sentinel ./sentinel.conf sent.log 之后启动哨兵键入命令 ./redis-server sentinel.conf --sentinel 查看进程可以看到我们的哨兵进程 启动之后我们将我们的redis主机宕机之后我们查看redis1我们发现 redis2成为主机了redis1也可以是随机的 我们重新启动redis以后查看信息发现redis2依然是主机所以主机不可抢夺。 四集群模式  主从模式实现了数据的热备份哨兵模式实现了redis的高可用。但是有一个问题这两种模式都没有解决这两种模式都只能有一个master节点负责写操作在高并发的写操作场景master节点就会成为性能瓶颈。 redis的集群模式中可以实现多个节点同时提供写操作redis集群模式采用无中心结构每个节点都保存数据节点之间互相连接从而知道整个集群状态。 如图所示集群模式其实就是多个主从复制的结构组合起来的每一个主从复制结构可以看成一个节点那么上面的Cluster集群中就有三个节点。 架构细节: (1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽. (2)节点的fail是通过集群中超过半数的节点检测有效时整个集群才生效. (3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可 用节点即可 (4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护nodeslotvalue Redis 集群中内置了 16384 个哈希槽当需要在 Redis 集群中放置一个 key-value 时redis 先对 key 使用 crc16 算法算出一个结果然后把结果对 16384 求余数这样每个 key 都会对应一个编号在 0- 16383 之间的哈希槽redis 会根据节点数量大致均等的将哈希槽映射到不同的节点   心跳机制 (1)集群中所有master参与投票,如果半数以上master节点与其中一个master节点通信超过(clusternode-timeout),认为该master节点挂掉. (2):什么时候整个集群不可用(cluster_state:fail)? 如果集群任意master挂掉,且当前master没有slave则集群进入fail状态。也可以理解成集群的[0- 16383]slot映射不完全时进入fail状态。  如果集群超过半数以上master挂掉无论是否有slave集群进入fail状态。 集群模式搭建 1创建集群目录 mkdir redis-cluster 2,创建集群节点 搭建集群最少也得需要3台主机如果每台主机再配置一台从机的话则最少需要6台机器。 设计端口如 下创建6个redis实例需要端口号7001~7006 3删除持久化文件 就是删除以rdb或者aof结尾的文件因为我这里的redis是新装的所以没有持久化文件。 4修改redis.conf配置文件打开Cluster-enable yes  5修改端口修改后端启动 6复制出7002-7006机器 7修改7002-7006机器的端口 8启动7001-7006这六台机器写一个启动脚本自定义shel脚本 cd 7001 ./bin/redis-server ./redis.conf cd .. cd 7002 ./bin/redis-server ./redis.conf cd .. cd 7003 ./bin/redis-server ./redis.conf cd .. cd 7004 ./bin/redis-server ./redis.conf cd .. cd 7005 ./bin/redis-server ./redis.conf cd .. cd 7006 ./bin/redis-server ./redis.conf cd ..9修改文件权限 为拥有者加上可执行的权限·。 chmod ux startall.sh10启动所有实例 11配置集群关系 随便进入一个服务器的配置文件执行如下命令 ./redis-cli --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 执行完之后由弹出的信息 可以看到redis的主从关系已经配置好了。 11连接集群 注意连接集群和普通连接不同加上-c代表以集群的方式连接 ./bin/redis-cli -h 127.0.0.1 -p 7001 -c 可以看到连接上7001后我们存入7001的uname却被重定向存入到时槽10359中而这个时槽是交由7002管理的所以uname实际存入了7002。 由上我们就可以知道。只要连接了集群其中的一个服务器就相当于连接了整个集群。 12查看集群信息 jedis连接集群  1创建一个maven项目大家都会吧这里就不演示了。 2导入jedis依赖 dependencygroupIdredis.clients/groupIdartifactIdjedis/artifactIdversion2.9.0/version/dependency 3创建类 package jedis; /**Author:天动万象*Date:2023/10/27*Description:*VERSION: 1.8*/import redis.clients.jedis.HostAndPort; import redis.clients.jedis.JedisCluster;import java.io.IOException; import java.util.HashSet; import java.util.List; import java.util.Set;public class cluster {public static void main(String[] args) throws IOException { // 创建一连接JedisCluster对象,在系统中是单例存在SetHostAndPort nodes new HashSetHostAndPort();nodes.add(new HostAndPort(192.168.197.132, 7001));nodes.add(new HostAndPort(192.168.197.132, 7002));nodes.add(new HostAndPort(192.168.197.132, 7003));nodes.add(new HostAndPort(192.168.197.132, 7004));nodes.add(new HostAndPort(192.168.197.132, 7005));nodes.add(new HostAndPort(192.168.197.132, 7006));JedisCluster cluster new JedisCluster(nodes);// 执行JedisCluster对象中的方法方法和redis指令一一对应。cluster.set(test1, test111);String result cluster.get(test1);System.out.println(result); //存储List数据到列表中cluster.lpush(site-list, java);cluster.lpush(site-list, c);cluster.lpush(site-list, mysql); // 获取存储的数据并输出ListString list cluster.lrange(site-list, 0 ,2);for(int i0; ilist.size(); i) {System.out.println(列表项为: list.get(i));} // 程序结束时需要关闭JedisCluster对象cluster.close();System.out.println(集群测试成功);} }注意使用非本机连接前先要修改集群中的每个服务器的redis.conf文件至于修改什么我在这篇博客中已经讲过所以不再赘述。 最后 本篇博客对redis集群理论和搭建就到这里了如果本篇博客对你有帮助的话请点赞收藏支持一下谢谢答应我不要白嫖好吗哈哈哈咱们下篇博客见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87720.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

适合平面设计师的网站上海企业网络推广价格

kaggle本地比赛用打开notebook的示例代码可以获取当前比赛的文件数据路径,进而后续直接复制读取 jupyter notebook读取csv 直接下载数据集到电脑上,并用本地路径读取就行。

河北建设局网站如何宣传商务网站

安装CUDA 前往Nvidia CUDA Tools官网选择对应的架构和版本下载CUDA 以如下架构和版本为例: 查看显卡驱动 nvidia-smi如果显卡驱动已经装了,那么在CUDA安装过程中不用再勾选安装driver 下载并安装CUDA wget https://developer.download.nvidia.co…

最新域名解析网站网站设计网页设计

前言 今天开始 DIM 层的开发,说开发好像有点不配,还只是学习阶段,离开发还有很长的路要走。 一个人想象自己不懂得的事很容易浪漫。 --《沉默的大多数》王小波 1、DIM 层开发 DIM层设计要点: DI…

骏域网站建设专家东莞上海建设官方网站

作为程序员每天开机都需要打开idea、数据库、xshell等开发软件,操作相对繁琐,于是想起了批处理来帮忙一键启动。 在桌面新建一个txt文件,改后缀名为.bat,并加上下面的代码。 代码一(推荐) cd /d C:\Users…

免费搭网站快速建站网站

在探讨如何使用词嵌入之前,我们首先需要理解词嵌入模型的基础。之前的文章已提及,词嵌入技术旨在将文本转换为固定长度的向量,从而使计算机能够解析和理解文本内容。可以跳转下面链接去补充阅读哦! 【机器学习300问】126、词嵌入…

做企业网站天津公司网站建设

今天是2月26日农历正月廿二今天星期二有点小忙下面是今天的大新闻渤海发现可供百万人用百年的大油田(中化新网)中国海油昨天(25日)对外宣布,位于我国渤海海域的渤中19-6气田,测试获得优质高产油气流,确定天然气探明地质…

站长工具seo词语排名网站大全

什么是软件测试? 答案:软件测试是指在预定的环境中运行程序,为了发现软件存在的错误、缺陷以及其他不符合要求的行为的过程。 软件测试的目的是什么? 答案:软件测试的主要目的是保证软件的质量,并尽可能…

网站关键字在哪里设置全国外贸公司联系方式

学号 2019-2020-2 《Python程序设计》实验三讲述课程:《Python程序设计》班级: 1912姓名: 何应霆学号:20191221实验西席:王志强实验日期:2020年5月16日必修/选修: 公选课1.实验内容建立服务端和…

建设网站考虑因素广州搬家公司

一.先讲讲opencv和ffmpeg之间的关系 1.1它们之间的联系 我们知道opencv主要是用来做图像处理的,但也包含视频解码的功能,而在视频解码部分的功能opencv是使用了ffmpeg。所以它们都是可以处理图像和视频的编解码,我个人感觉两个的侧重点不一…

哪家公司网站做得好牌子网

背景 记录一次运维经历!!!! tomcat部署完 查看日志打印一切正常 阿里云服务器控制台安全组也放行的对应端口,但从浏览器始终访问不上 telnet 也访问不到端口 在服务器上 访问127.0.0.1可以访问到对应页面 但是用公网ip…

公司做网站注意事项承揽合同和建设工程合同的区别

项目设计 名称:KOB 项目包含的模块 PK模块:匹配界面(微服务)、实况直播界面(WebSocket协议) 对局列表模块:对局列表界面、对局录像界面 排行榜模块:Bot排行榜界面 用户中心模块&…

电脑路由器做网站服务器吗seo结算系统

开局两张图 瘦身前瘦身后 目录 开局两张图前言下载 BFG克隆代码Git 仓库瘦身清理存储库储存库 GC推送仓库 Git 瘦身验证结语开源项目 前言 在进行项目开发的过程中,代码仓库的体积可能会逐渐增大,特别是在版本控制系统中保留了大量的历史提交记录和不必…

网站广告位制作网站cms

JAVA 环境变量配置 1. 安装JDK 2.配置系统变量 新建          JAVA_HOME:D:\Program Files\Java\jdk1.8.0_65 Path添加       %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 新建CLASSPATH  .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 3.完成…

惠州做棋牌网站建设哪家服务好网站空间域名能不能自己续费

雷锋网3月24日报道,今日(3月24日),第16届博鳌亚洲论坛2017年年会在海南继续进行中。据雷锋网了解,在今日下午的数字货币与区块链分论坛上,中国银行前行长、中国互联网金融协会区块链工作组组长李礼辉讲述了…

中国移动社区app下载seo内部优化方案

I/O JavaIO流了解吗? IO 即 Input/Output,输入和输出。数据输入到计算机内存的过程即输入,反之输出到外部存储(比如数据库,文件,远程主机)的过程即输出。数据传输过程类似于水流,因…

网站开发公司管理模式响应式企业网站制作公司

助教老师好,我是计科三班钟国晨,我对我们专业并不是很了解,至少从目前来看是这样,不过虽然感觉我们专业内容比较复杂,我还是对我们所学的知识挺感兴趣的,我性格比较开朗,希望以后能和老师您多多…

浙江建筑网站网站开发背景图模板

1. 当vector的内存用完了,它是如何动态扩展内存的?它是怎么释放内存的?用clear可以释放掉内存吗?是不是线程安全的? (1). vector内存用完了,会以当前size大小重新申请2*size的内存,然后把原来…

江门网站seo关键词排名优化wordpress 提速 插件

现在是早上6点。 我清醒地总结了导致我太早醒来的电话的事件序列。 这些故事开始时,我的电话警报响了。 困倦而脾气暴躁的我检查了电话,看我是否真的疯了以至于无法在凌晨5点设置唤醒警报。 不,这是我们的监视系统,表明Plumbr服务…

网站建设过时了吗qq推广引流怎么做

目录 1 创建购物车2 增加数量3 减少数量4 切换分类时回填数据5 显示购物车信息总结 我们上一篇搭建了点餐业务的数据初始化加载,本篇实现一下加入购物车的功能。在购物车设计的时候有两种方案,一种是使用数据表的方案,一种是使用变量的方案。…

我想建个网站网站怎么建域名30秒牢记5个域名

dos命令登入远程服务器 内容精选换一换远程桌面链接Windows云服务器报错:连接被拒绝,因为没有授权此用户账户进行远程登录。Windows远程桌面相关权限配置异常。在运行窗口输入secpol.msc,打开组策略编辑器打开"本地策略 > 用户权限分…