Linux部署Redis哨兵集群 一主两从三哨兵(这里使用Redis6,其它版本类似)

目录

    • 一、哨兵集群架构介绍
    • 二、下载安装Redis
      • 2.1、选择需要安装的Redis版本
      • 2.2、下载并解压Redis
      • 2.3、编译安装Redis
    • 三、搭建Redis一主两从集群
      • 3.1、准备配置文件
        • 3.1.1、准备主节点6379配置文件
        • 3.1.2、准备从节点6380配置文件
        • 3.1.3、准备从节点6381配置文件
      • 3.2、启动Redis主从复制集群
      • 3.3、查看Redis集群信息和主从复制效果
      • 3.4、关闭Redis
    • 四、搭建Redis三哨兵集群
      • 4.1、准备配置文件
        • 4.1.1、准备节点26379配置文件
        • 4.1.2、准备节点26380配置文件
        • 4.1.3、准备节点26381配置文件
      • 4.2、启动sentinel集群
      • 4.3、查看三个哨兵节点信息
      • 4.4、测试哨兵容灾切换效果
      • 4.5、关闭Redis哨兵
    • 五、注意事项
      • 5.1、远程连接问题
      • 5.2、Redis节点注册到哨兵的IP问题
    • 六、SpringBoot集成Redis主从架构实现读写分离(哨兵模式)

一、哨兵集群架构介绍

      Redis-Sentinel是redis官方推荐的高可用性解决方案,sentinel哨兵是特殊的redis服务,不提供读写服务,主要用来监控redis实例节点,当用redis作master-slave的高可用时,如果master本身宕机,redis本身或者客户端都没有实现主从切换的功能,而redis-sentinel就是一个独立运行的进程,用于监控多个master-slave集群, 自动发现master宕机,进行自动切换slave > master,类似Java这类客户端会通过sentinel发现redis主节点并与其建立连接,也可以实现读写分离。

在这里插入图片描述

PS:本文使用一台主机部署,会使用不同端口区分。

二、下载安装Redis

2.1、选择需要安装的Redis版本

在官网发行版中选择一个自己需要的版本,我这里使用Redis6.2.0,小版本区别不大。
Redis发行版本列表:https://download.redis.io/releases
在这里插入图片描述

2.2、下载并解压Redis

  • 下载redis到/usr/local/redis目录中
wget -P /usr/local/redis http://download.redis.io/releases/redis-6.2.0.tar.gz
  • 进入/usr/local/redis目录解压redis
cd /usr/local/redis
tar -xzf redis-6.2.0.tar.gz

在这里插入图片描述

2.3、编译安装Redis

  • 安装gcc
# redis是c语言编写的,编译Redis需要gcc环境
yum -y install gcc
# 安装好后查看gcc信息
gcc -v

在这里插入图片描述

  • 编译
# 进入redis-6.2.0目录
cd redis-6.2.0
# 执行make开始编译 因为我们下载的是源码需要编译成可执行文件
make

在这里插入图片描述

  • 安装
# 编译成功后,执行make PREFIX=/usr/local/redis/redis-6.2.0 install 安装redis
# 这里指定目录之后,方便后续卸载,直接rm -rf /usr/local/redis/redis-6.2.0 即可删除redis
make PREFIX=/usr/local/redis/redis-6.2.0 install
PREFIX 这个关键字的作用是安装的时候用于指定程序存放的路径,假设不添加该关键字Linux会将:可执行文件存放在/usr/local/bin目录;库文件会存放在/usr/local/lib目录;配置文件会存放在/usr/local/etc目录;其他的资源文件会存放在usr/local/share目录

在这里插入图片描述

三、搭建Redis一主两从集群

本文使用一台主机部署,会使用不同端口区分,主节点6379、从节点分别使用6380和6381。

3.1、准备配置文件

先进入Redis解压目录,后续都在该目录下操作

cd /usr/local/redis/redis-6.2.0
3.1.1、准备主节点6379配置文件
  • 创建一个目录用来存放节点配置和其它信息
mkdir -p /usr/local/redis/redis-6.2.0/node/6379
  • 拷贝一份redis.conf到./node/6379目录中作为主节点配置文件。
cp redis.conf ./node/6379/redis.conf
  • 修改几个配置
# 编辑拷贝的配置文件,,修改几个配置信息
vi ./node/6379/redis.conf
# 绑定的主机地址,建议填redis安装服务器的业务私网地址
# 这里为了方便直接找到这个配置注释了
#bind 127.0.0.1 -::1# redis进程的端口号 默认是6379
port 6379# 是否开启保护模式,默认开启。要是配置里没有指定bind和密码,开启该参数后,redis只会本地进行访问,拒绝外部访问,这里关闭保护模式设置为no。
protected-mode no# redis进程是否以守护进程的方式运行,yes为是(后台运行),no为否(不以守护进程的方式运行会占用一个终端,终端关闭redis服务也会关闭)。
daemonize yes# 指定redis进程的PID文件存放位置
pidfile /var/run/redis_6379.pid# log文件输出位置
logfile /usr/local/redis/redis-6.2.0/node/6379/redis.log# 指定持久化存放目录(默认当前启动时所在目录),因为我这里是一台机器部署的要区分开每个节点持久化文件存放的目录
dir /usr/local/redis/redis-6.2.0/node/6379# 设置redis连接密码,如果配置了连接密码,客户端在连接redis是需要通过AUTH<password>命令提供密码,默认关闭
requirepass 123456# 当master设置了密码保护时,slave服务连接master的密码
# 主节点中也要配置,如果不配置在主节点宕机后,哨兵选择了其它从节点作为主节点,如果不配置主节点授权密码,那么在这个节点重新加入集群时无法同步新的主节点数据,因为没有主节点授权密码
masterauth 123456
3.1.2、准备从节点6380配置文件
  • 创建一个目录用来存放节点配置和其它信息
mkdir -p /usr/local/redis/redis-6.2.0/node/6380
  • 拷贝一份redis.conf到./node/6380目录中作为主节点配置文件。
cp redis.conf ./node/6380/redis.conf
  • 修改几个配置
# 编辑拷贝的配置文件,,修改几个配置信息
vi ./node/6380/redis.conf
# 绑定的主机地址,建议填redis安装服务器的业务私网地址
# 这里为了方便直接找到这个配置注释了
#bind 127.0.0.1 -::1# redis进程的端口号 默认是6379
port 6380# 是否开启保护模式,默认开启。要是配置里没有指定bind和密码,开启该参数后,redis只会本地进行访问,拒绝外部访问,这里关闭保护模式设置为no。
protected-mode no# redis进程是否以守护进程的方式运行,yes为是(后台运行),no为否(不以守护进程的方式运行会占用一个终端,终端关闭redis服务也会关闭)。
daemonize yes# 指定redis进程的PID文件存放位置
pidfile /var/run/redis_6380.pid# log文件输出位置
logfile /usr/local/redis/redis-6.2.0/node/6380/redis.log# 指定持久化存放目录(默认当前启动时所在目录),因为我这里是一台机器部署的要区分开每个节点持久化文件存放的目录
dir /usr/local/redis/redis-6.2.0/node/6380# 设置redis连接密码,如果配置了连接密码,客户端在连接redis是需要通过AUTH<password>命令提供密码,默认关闭
requirepass 123456# 当master设置了密码保护时,slave服务连接master的密码
masterauth 123456# 设置主机的 ip+ 端口,来指明主机的redis
replicaof 10.0.20.13 6379# 配置从节点读写权限,支持参数[yes,no],yes:只读 no:支持读写操作,从节点默认yes
replica-read-only yes
3.1.3、准备从节点6381配置文件
  • 创建一个目录用来存放节点配置和其它信息
mkdir -p /usr/local/redis/redis-6.2.0/node/6381
  • 拷贝一份redis.conf到./node/6381目录中作为主节点配置文件。
cp redis.conf ./node/6381/redis.conf
  • 修改几个配置
# 编辑拷贝的配置文件,,修改几个配置信息
vi ./node/6381/redis.conf
# 绑定的主机地址,建议填redis安装服务器的业务私网地址
# 这里为了方便直接找到这个配置注释了
#bind 127.0.0.1 -::1# redis进程的端口号 默认是6379
port 6381# 是否开启保护模式,默认开启。要是配置里没有指定bind和密码,开启该参数后,redis只会本地进行访问,拒绝外部访问,这里关闭保护模式设置为no。
protected-mode no# redis进程是否以守护进程的方式运行,yes为是(后台运行),no为否(不以守护进程的方式运行会占用一个终端,终端关闭redis服务也会关闭)。
daemonize yes# 指定redis进程的PID文件存放位置
pidfile /var/run/redis_6381.pid# log文件输出位置
logfile /usr/local/redis/redis-6.2.0/node/6381/redis.log# 指定持久化存放目录(默认当前启动时所在目录),因为我这里是一台机器部署的要区分开每个节点持久化文件存放的目录
dir /usr/local/redis/redis-6.2.0/node/6381# 设置redis连接密码,如果配置了连接密码,客户端在连接redis是需要通过AUTH<password>命令提供密码,默认关闭
requirepass 123456# 当master设置了密码保护时,slave服务连接master的密码
masterauth 123456# 设置主机的 ip+ 端口,来指明主机的redis
replicaof 10.0.20.13 6379# 配置从节点读写权限,支持参数[yes,no],yes:只读 no:支持读写操作,从节点默认yes
replica-read-only yes

3.2、启动Redis主从复制集群

  • 启动Redis
# 携带配置启动主节点6379
./bin/redis-server ./node/6379/redis.conf# 携带配置启动从节点6380
./bin/redis-server ./node/6380/redis.conf
# 携带配置启动从节点6381
./bin/redis-server ./node/6381/redis.conf
  • 查看各节点启动状态
# 查看redis进程,这里可以看到启动了三个进程
# 如果有进程没有启动成功可以去每个节点信息存储目录查看日志,分析异常原因
ps -aux | grep redis

在这里插入图片描述

3.3、查看Redis集群信息和主从复制效果

  • 1、使用Redis自带redis-cli工具连接主节点查看集群信息
# 使用密码连接本机端口号为6379的redis
./bin/redis-cli -p 6379 -a 123456# 查看集群信息
127.0.0.1:6379> info replication

在这里插入图片描述

  • 2、在主节点写入数据
127.0.0.1:6379> set names kerwin
127.0.0.1:6379> get names

在这里插入图片描述

  • 3、登录从节点查看集群信息和主节点写入的数据
# 使用密码连接本机端口号为6379的redis
./bin/redis-cli -p 6380 -a 123456# 查看集群信息
127.0.0.1:6380> info replication
# 获取key为names的数据
127.0.0.1:6380> get names

在这里插入图片描述

3.4、关闭Redis

# 普通关闭,通过redis-cli的shutdown关闭
./bin/redis-cli -p 6379 -a 123456 shutdown# 强制关闭
## 查看redis的进程pid,通过kill -9强制关闭
ps -aux | grep redis 
kill -9 pid

四、搭建Redis三哨兵集群

本文使用一台主机部署,会使用不同端口区分哨兵,分别使用26379、26380、26381。

4.1、准备配置文件

先进入Redis解压目录,后续都在该目录下操作

cd /usr/local/redis/redis-6.2.0
4.1.1、准备节点26379配置文件
  • 1、创建一个目录用来存放节点配置和其它信息
mkdir -p /usr/local/redis/redis-6.2.0/sentinel/26379
  • 2、拷贝一份sentinel.conf到./sentinel/26379中
cp sentinel.conf ./sentinel/26379/sentinel.conf
  • 3、修改几个配置
vi ./sentinel/26379/sentinel.conf
#端口默认为26379。
port 26379# 是否开启保护模式,默认开启。要是配置里没有指定bind和密码,开启该参数后,redis只会本地进行访问,拒绝外部访问,这里关闭保护模式设置为no。
protected-mode no# redis进程是否以守护进程的方式运行,yes为是(后台运行),no为否(不以守护进程的方式运行会占用一个终端,终端关闭redis服务也会关闭)。
daemonize yes#守护进程pid存储文件(默认位置 /var/run/redis-sentinel.pid)
pidfile /var/run/redis-sentinel_26379.pid#日志文件
logfile /usr/local/redis/redis-6.2.0/sentinel/26379/sentinel.log#sentinel工作目录(默认/tmp)
dir  /usr/local/redis/redis-6.2.0/sentinel/26379# 指定Redis主节点主机IP地址和端口,ip根据实际情况调整,mymaster这个名称随便取,下面配置时也需要指定这个名称,客户端连接时也会使用
# 最后的2是指需要有2个以上sentinel节点认为redis主节点失效,才是真的失效,一般为(sentinel总数/2+1)
sentinel monitor mymaster 10.0.20.13 6379 2# 配置连接密码,此处的密码需要与 redis.conf里面配置的连接密码一致
sentinel auth-pass mymaster 123456# 这里设置了主机多少毫秒无响应,则认为挂了,,默认:30000毫秒
sentinel down-after-milliseconds mymaster 30000# 主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的1
sentinel parallel-syncs mymaster 1#故障转移的超时时间毫秒,默认:180000毫秒
sentinel failover-timeout mymaster 180000
4.1.2、准备节点26380配置文件
  • 1、创建一个目录用来存放节点配置和其它信息
mkdir -p /usr/local/redis/redis-6.2.0/sentinel/26380
  • 2、拷贝一份26379的sentinel.conf到./sentinel/26380中,方便修改
cp ./sentinel/26379/sentinel.conf ./sentinel/26380/sentinel.conf
  • 3、修改几个配置,这里因为是从26379拷贝过来的只需要修改端口和一些文件存储地址即可
vi ./sentinel/26380/sentinel.conf
#端口默认为26379。
port 26380#守护进程pid存储文件(默认位置 /var/run/redis-sentinel.pid)
pidfile /var/run/redis-sentinel_26380.pid#日志文件
logfile /usr/local/redis/redis-6.2.0/sentinel/26380/sentinel.log#sentinel工作目录(默认/tmp)
dir  /usr/local/redis/redis-6.2.0/sentinel/26380
4.1.3、准备节点26381配置文件
  • 1、创建一个目录用来存放节点配置和其它信息
mkdir -p /usr/local/redis/redis-6.2.0/sentinel/26381
  • 2、拷贝一份26379的sentinel.conf到./sentinel/26381中,方便修改
cp ./sentinel/26379/sentinel.conf ./sentinel/26381/sentinel.conf
  • 3、修改几个配置,这里因为是从26379拷贝过来的只需要修改端口和一些文件存储地址即可
vi ./sentinel/26381/sentinel.conf
#端口默认为26379。
port 26381#守护进程pid存储文件(默认位置 /var/run/redis-sentinel.pid)
pidfile /var/run/redis-sentinel_26381.pid#日志文件
logfile /usr/local/redis/redis-6.2.0/sentinel/26381/sentinel.log#sentinel工作目录(默认/tmp)
dir  /usr/local/redis/redis-6.2.0/sentinel/26381

4.2、启动sentinel集群

  • 启动sentinel
# 携带配置启动哨兵26379节点
./bin/redis-sentinel ./sentinel/26379/sentinel.conf
# 携带配置启动哨兵26380节点
./bin/redis-sentinel ./sentinel/26380/sentinel.conf
# 携带配置启动哨兵26381节点
./bin/redis-sentinel ./sentinel/26381/sentinel.conf
  • 查看各节点启动状态
# 查看redis-sentinel进程,这里可以看到启动了三个进程
# 如果有进程没有启动成功可以去每个节点信息存储目录查看日志,分析异常原因
ps -aux | grep redis-sentinel

在这里插入图片描述

4.3、查看三个哨兵节点信息

# 使用redis-cli连接哨兵
./bin/redis-cli -p 端口
# 连接上后查看哨兵节点信息
127.0.0.1:26379> info sentinel

可以看到一个master主节点,两个salve节点状态,三个哨兵节点都正常
在这里插入图片描述

sentinel集群都启动完毕后,会将哨兵集群的元数据信息写入所有sentinel的配置文件里去(追加在文件的
最下面),可以打开一个查看一下。

vi ./sentinel/26379/sentinel.conf

在这里插入图片描述

4.4、测试哨兵容灾切换效果

  • 1、模拟主节点宕机
# 通过redis-cli的shutdown关闭Redis主节点
./bin/redis-cli -p 6379 -a 123456 shutdown
# 确认主节点6379进程已经下线
ps -aux | grep redis-server

在这里插入图片描述

  • 2、查看是否将从节点切换成主节点
# 查看6380和6381主从复制信息
./bin/redis-cli -p 6380 -a 123456 info replication
./bin/redis-cli -p 6381 -a 123456 info replication

这里可以看到主节点6379下线后,哨兵将6381切换成了主节点。
在这里插入图片描述

4.5、关闭Redis哨兵

# 普通关闭,通过redis-cli的shutdown关闭
./bin/redis-cli -p 端口号 shutdown# 强制关闭
## 查看redis的进程pid,通过kill -9强制关闭
ps -aux | grep redis-sentinel
kill -9 pid

五、注意事项

5.1、远程连接问题

虽然Redis的配置中都开启了远程连接,但是服务器的端口可能没有开放远程连接,需要将Redis服务和哨兵的端口打开外部才能连接上,或者将防火墙关闭,这里是本地操作,如果是云服务器则需要设置对应安全组。

# 开放指定端口号
firewall-cmd --zone=public --add-port=端口号/tcp --permanent
# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

#检测防火墙状态 active (running),就是运行状态
systemctl status firewalld
# 停止防火墙
systemctl stop firewalld
# 永久关闭
systemctl disable firewalld

5.2、Redis节点注册到哨兵的IP问题

在这里插入图片描述
我们可以查看哨兵中Redis节点的IP,我这里使用的云服务器,哨兵中注册的Redis会使用到内网IP,可以自己ip addr查看一下,就是我们的内网卡,内网通过这个IP连接是没有问题的,但是外网肯定不能使用这个IP,会使用一个云服务给我们提供的外网IP,如果我们直接连接Redis服务,通过外网加6379端口肯定是没有问题的,但是我们外网别的应用中会通过连接到哨兵,然后通过哨兵获取Redis集群信息,也就是说我们通过哨兵获取到的Redis服务IP是服务器的内网IP,例如我这里获取到master节点IP就会是10.0.20.13这样一个内网地址,在外部网络是无法访问的。

六、SpringBoot集成Redis主从架构实现读写分离(哨兵模式)

跳转:https://blog.csdn.net/weixin_44606481/article/details/134017117

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

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

相关文章

idea 设置serlvet 类模板(快捷生成servlet类)

我的版本是idea2020.3.4&#xff0c;博客中有相应安装教程&#xff0c;其他版本设置类似&#xff1a; 1.选择文件-->设置 2.选择编辑器-->文件和代码模板-->其他 3.选择Web-->Servlet Annotated Class.java-->复制相应模板&#xff0c;下面顺便设置了注释模板 …

【Docker】Docker Compose的使用

我们知道使用一个Dockerfile模板文件&#xff0c;可以让用户很方便的定义⼀个单独的应用容器。然而&#xff0c;在日常工作中&#xff0c;经常会碰到需要多个容器相互配合来完成某项任务的情况。 例如要实现一个Web项目&#xff0c;除了Web服务容器本身&#xff0c;往往还需要…

m1 安装 cocoapods

其实最终解决问题很简单&#xff0c;麻烦的是如果找到解决问题的答案。 网上的答案一大堆&#xff0c;但不一定适合你的电脑&#xff0c;就好像天下的女人到处有&#xff0c;但不一定都适合你&#xff0c;一定要亲自试验一下才知道结果。 前提条件&#xff1a; 命令行工具&am…

Leetcode 18 三数之和

//双指针&#xff0c;不过因为是三个数所以左侧是两个下标class Solution {public List<List<Integer>> threeSum(int[] nums) {int n nums.length;Arrays.sort(nums);List<List<Integer>> ans new ArrayList<List<Integer>>();for(int …

优思学院:六西格玛培训中的“绿带”和“黑带”

在当今竞争激烈的商业世界中&#xff0c;提高效率、减少浪费是每个组织都追求的目标。为了达到这一目标&#xff0c;六西格玛管理方法为组织提供了一个卓越的工具。在六西格玛培训中&#xff0c;我们经常会听到“绿带”和“黑带”这两个术语。那么&#xff0c;究竟什么是绿带和…

Unity之ShaderGraph如何实现旋涡效果

前言 今天我们来通过ShaderGraph来实现一个旋涡的效果 如下图所示: 主要节点 Distance:返回输入 A 和输入 B 的值之间的欧几里德距离。除了其他方面的用途,这对于计算空间中两点之间的距离很有用,通常用于计算有符号距离函数 (Signed Distance Function)。 Twirl:将…

[数据分析与可视化] 基于Python绘制简单动图

动画是一种高效的可视化工具&#xff0c;能够提升用户的吸引力和视觉体验&#xff0c;有助于以富有意义的方式呈现数据可视化。本文的主要介绍在Python中两种简单制作动图的方法。其中一种方法是使用matplotlib的Animations模块绘制动图&#xff0c;另一种方法是基于Pillow生成…

机器学习实验一:KNN算法,手写数字数据集(使用汉明距离)(2)

KNN-手写数字数据集&#xff1a; 使用sklearn中的KNN算法工具包&#xff08; KNeighborsClassifier)替换实现分类器的构建&#xff0c;注意使用的是汉明距离&#xff1b; 运行结果&#xff1a;&#xff08;大概要运行4分钟左右&#xff09; 代码&#xff1a; import pandas as…

进程 概念和理解 - Linux 是怎么做到 管理进程的?-fork 手动创建进程

前言 上一篇博客当中&#xff0c;对 冯诺依曼体系结构 和 操作系统 进行了简要概述&#xff0c;本篇博客将会从上一篇博客的基础之上进行展开&#xff0c;如果你有些不了解的话&#xff0c;建议先看上一篇博客再看本篇博客&#xff1a; 冯诺依曼体结构 - 为什么要有操作系统-…

golang 工程组件:grpc-gateway 环境安装+默认网关测试

grpc-gateway grpc-gateway 顾名思义是专门是grpc的网关。也是一个protobuf的编译器&#xff0c;是一个proto的插件。 grpc-gateway就是将http请求处理后转发到对应grpc服务上。很多浏览器&#xff0c;或者客户端开箱不支持grpc&#xff0c;只支持传统的restful API。 grpc网关…

【2021集创赛】Arm杯三等奖:基于FPGA的人脸检测SoC设计

本作品参与极术社区组织的有奖征集|秀出你的集创赛作品风采,免费电子产品等你拿~活动。 团队介绍 参赛单位&#xff1a;合肥工业大学 队伍名称&#xff1a;芯创之家 指导老师&#xff1a;邓红辉、尹勇生 参赛杯赛&#xff1a;Arm杯 参赛人员&#xff1a;王亮 李嘉燊 金京 获奖情…

【STM32】RCC时钟模块(使用HAL库)

https://gitee.com/linhir-linhir/stm32-f103-c8/blob/master/STM32%E6%9C%80%E6%96%B0%E5%9B%BA%E4%BB%B6%E5%BA%93v3.5/Libraries/STM32F10x_StdPeriph_Driver/inc/stm32f10x_rcc.h STM32最新固件库v3.5/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x/system_stm32f10x.c…

Centos使用tomcat部署jenkins

jenkins的最新版本已经不在支持jdk8&#xff0c;支持的jdk环境如下&#xff1a; 安装jdk环境 yum -y install java-11-openjdk.x86_64 java-11-openjdk-devel.x86_64安装tomcat tomcat官网 cd /optwget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.82/bin/apache-tomcat…

【项目管理】如何开展高质量的团队管理

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

0026Java程序设计-中学走读生信息管理系统设计与实现

文章目录 摘要**目录**系统设计开发环境 摘要 目前&#xff0c;中学走读生信息管理系统已经发展成为学校的学生走读管理工作中必不可少的一个组成部分&#xff0c;没有该系统&#xff0c;学生的日常工作就会变得繁琐、效率低下。在信息化的社会发展下&#xff0c;有必要建立一…

【VPX610】 青翼科技基于6U VPX总线架构的高性能实时信号处理平台

板卡概述 VPX610是一款基于6U VPX架构的高性能实时信号处理平台&#xff0c;该平台采用2片TI的KeyStone系列多核DSP TMS320C6678作为主处理单元&#xff0c;采用1片Xilinx的Virtex-7系列FPGA XC7VX690T作为协处理单元&#xff0c;具有2个FMC子卡接口&#xff0c;各个处理节点之…

成功率高达99%!美国伊利诺伊大学研究人员实现镱量子比特无损测量

研究人员通过无损测量镱-171量子比特实现了实时控制。&#xff08;图片来源&#xff1a;网络&#xff09; 金属镱-171原子可能在自然界中最接近完美量子比特。最近的一项研究展示了如何使用它们来进行重复的量子测量和量子比特自旋&#xff0c;这一研究成果将有助于可扩展量子…

蓝桥云课--1024 第 2 场算法双周赛

2-铺地板【算法赛】&#xff08;找规律&#xff09; 一、题目要求 二、思路 &#xff08;1&#xff09;因为每块地砖都是2*3的规格&#xff1a; 1.n<2或者m<2的时候&#xff0c;则不能使用上述规格的瓷砖 No 2.n<3或者m<3的时候&#xff0c;也不能使用上述规格…

30天精通Nodejs--第二天:模块系统与npm

深入了解Node.js&#xff1a;模块系统与npm Node.js作为一款强大的服务器端JavaScript运行环境&#xff0c;模块系统和npm&#xff08;Node Package Manager&#xff09;是其成功的重要组成部分。为我们平时提供了便捷的工具和资源&#xff0c;使得在Node.js平台上构建应用变得…

现在java和大数据选什么?

现在java和大数据选什么&#xff1f; 到底是选择大数据还是JAVA&#xff1f;”相信这个问题困惑着许多转行待定人士和高校专业待选的学生。 在普通人眼里可能会觉得这两个专业或者行业没啥区别&#xff0c;都是IT里的&#xff0c;能有啥大不同。这是第一层。最近很多小伙伴找我…