首页 文章 精选 留言 我的

精选列表

搜索[nosql],共2474篇文章
优秀的个人博客,低调大师

生态篇-HBase 进化之从 NoSQL 到 NewSQL,凤凰涅槃成就 Phoenix

1.背景概述 近些年来,数据爆炸或者大数据成为 IT 行业发展的高频词汇,传统单机数据库 处理数据能力的瓶颈成为摆在 IT 工程师面前十分常见且亟待解决的问题。单机硬件存储容量和计算力的增长远远赶不上数据的增长。在单机软件中,数据库是数据相关处理技术的集大成者,集合了数据存储、数据实时读写、在线事务和数据分析等技术,并通过主备、多活等方案保证了可靠性。但是,在实际业务场景中,我们往往并没有同时用到所有数据库提供的能力,这也为我们解决业务中实际遇到的大数据难题提供了解决思路。 当前的大数据系统大多是通过分布式原理,重点解决某个方面或者某些方面的困境和难题,比如 HDFS 解决了大数据存储的问题,MapReduce 解决了大数据量复杂分析和计算的难题,HBase 解决了实时读写的问题。下面笔者将介绍 HBase 从解决实时读写问题出发,逐

优秀的个人博客,低调大师

【NoSQL】抛弃VIP,使用consul和sentinel构建redis的高可用系统

背景: 传统redis高可用方案只加了sentinel,在主库故障后,虽然可以选主,然后切换只读参数,但是,对 应用来说却需要更改连接的IP或者在hosts中更改解析。算得上是半自动。 利用consul系统的服务注册与服务健康检查功能可以实现全自动的故障切换与地址解析。 架构: 搭建: 1.建立consul集群,在redis节点上布置consul agent 2.建立sentinel集群 3.注册服务(重点) 首先在redis2222实例上新建redis主从检测脚本cat &gt;/root/check/redis_role.sh&lt;&lt;EOF<br/>#!/bin/bash<br/>PORT=$1<br/>ROLE=$2<br/>a=$(redis-cli -p $PORT info Replication|grep role:|awk -F ':' '{print $2}'|awk -F '\r' '{print $1}' )<br/>if [ $a = $ROLE ]; then<br/>exit 0<br/>else<br/>exit 2<br/>fi<br/>EOF 注:脚本使用方式:/root/check/redis_role.sh 2222 master 第一个参数2222代表端口 第二个参数master代表主,也可使用slave 原理:摘出info命令中replication段的role属性,然后和第二个变量相对比,相同,则输出0 (shell脚本正常运行的返回值),否则返回2(shell脚本执行异常的返回值) 其次:创建consul的redis服务配置文件cat &gt;/etc/consu/redis_2222.json&lt;&lt;EOF<br/>{<br/>"services":[<br/>{<br/>"id":"2222master",<br/>"name":"redis-master",<br/>"tags":["master"],<br/>"address":"192.168.1.131",<br/>"port":2222,<br/>"check":[<br/>{<br/>"args":["/root/check/redis_role.sh","2222","master"],<br/>"interval":"3s"<br/>}<br/>]<br/>},<br/>{<br/>"id":"2222slave",<br/>"name":"2222slave"<br/>"tags":["slave"]<br/>"address":"192.168.1.131"<br/>"port":2222<br/>"checks":[<br/>{<br/>"args":["/root/check/redis_role.sh","2222","slave"],<br/>"interval":"3s"<br/>}<br/>]<br/>}<br/>]<br/>}<br/>EOF 在redis3333实例所在的主机上同样操作。 解释:在2222实例上我们注册两个服务,一个为redis-master,一个为redis-slave。 在3333实例上也注册了同样的两个服务,在consul系统中,将json配置文件中name属性相同的 服务视为同一个服务。因为consul本身是具备健康检查的功能,一个服务中如果两个节点都OK 服务域名解析是将会轮询到两个节点中,但健康检查失败后,域名解析时会自动踢出fail节点。 情况1:redis2222为主实例,redis3333为从实例 通过在脚本对redis的主从属性进行检查, "args":["/root/check/redis_role.sh","2222","master"], 在脚本中,我们设置了读取传入的两个参数并进行使用,在consul配置文件中,对传入参数 需要使用“,”分割,并且无论数字或者字符串都需要加上双引号。 2222的实例中role为master,3333的实例role为 slave。分别满足了redis-master和redis-slave 的健康检查,consul在解析redis-master.service.consul和redis-slave.service.consul时分别指向 了redis2222的主机和redis3333的地址。 此时: ping redis-master.service.consul 》192.168.1.131 ping redis-slave.service.consul 》192.168.1.104 APP可以通过redis-master.service.consul:2222对redis进行写入, 通过redis-master.service.consul:3333对redis进行分散读请求 consul web页面如图 情况2:redis2222节点故障,sentinel自动提升redis3333节点为主节点,2222重新上线后,被 sentinel集群配置为指向3333的从节点。 此时: ping redis-master.service.consul 》192.168.1.104 ping redis-slave.service.consul 》192.168.1.131 APP可以通过redis-master.service.consul:3333对redis进行写入, 通过redis-master.service.consul:2222对redis进行分散读请求 consul web页面如图 后记: 1.本文中为了显著区分两个redis实例,对端口进行了区分,实际应用推荐使用相同端口(如2222) 这样每次访问redis-master.service.consul:2222都能访问到主实例 每次访问redis-master.service.consul:2222都能访问到从实例 2. consul定期执行健康检测脚本并接收返回值0作为服务处于正常的标志,返回值1作为服务处于警告 状态,除此之外任何其他返回值都被认为服务处于故障状态。实际使用时根据自身情况设置健康检测脚本 执行的频率 3.这种切换架构的便利性建立在数据库端可以自洽的完成主从选举与切换的特性上,同理,这种思路还 可以用在consul+MongoDB副本集,consul+PXC集群上。 4.官方文档地址:`https://www.consul.io/docs/index.html` 相关配置文件已放置在GitHub:`https://github.com/naughtyGitCat/HA_DB/tree/master/Consul` 本文转自 angry_frog 51CTO博客,原文链接:http://blog.51cto.com/l0vesql/2055893

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册