首页 > 数据库 >浅谈云原生基础入坑与docker 搭建redis-cluster集群

浅谈云原生基础入坑与docker 搭建redis-cluster集群

时间:2023-03-19 22:14:46浏览次数:46  
标签:容器 浅谈 开发人员 redis 应用程序 cluster 集群 Linux

浅谈云原生基础入坑与docker 搭建redis-cluster集群

开篇来点自己的小感触:自从走上后端开发这条无法回头的互卷道路以后,在视野内可见新的技术在迭代,更新的技术在不断发行。就拿最近的OpenAI的chat-GPT来说,它具有强大的语言模型,让使用者感觉人工智能真的像人。看了很多篇文章,从一个刚刚科班入门的我来说,这条不归路是真的要硬着头皮走下去,新的技术不管它怎么更新,它也是人创造出来的,只要在不断的学习,终有一天技术能够为你而用,也能发挥自己的特长和其他的不同创造属于自己的优秀作品。从决定学习云原生那天开始,我发现很多东西回过头就会忘记,今天是入园的第一篇博客,目的为记录自己的学习过程,也希望帮助到和我一样在不断进步的你。下面我们进入正题

一、什么是集群。

​ 很简单的一个道理(一根筷子容易折断,而10双或者更多的筷子呢?是不是需要使用一些其他手段才能将其折断。),其实集群也可以这样理解,虽然说redis在业内打出了它很快的口号,但是就一台redis在面临大量的读写请求时候它会不会也存在一些问题呢,或者它不小心让服务挂掉了,哈哈哈哈...,再大的收益都会付诸东流。伴随着微服务架构的不断精进发展,对系统的运行效率要求从以前传统的单机架构更上了一个档次,最终压力给到存储的库--->redis,mysql。面对大量的请求,一台会有问题,那我来很多台,一台挂了还有一台,或者读写分离,这样就能够很好契合微服务架构。从而本人理解的集群就是有一定规约的统一管理的一组服务器。

二、容器化

​ 上面介绍了我对集群的一些见解,而这里在其基础上记录一下容器化技术。

2.1什么是容器化:

​ 容器化是一种软件部署流程,可将应用程序的代码与应用程序在任何基础设施上运行所需的所有文件和库进行捆绑。通俗来说,容器化就是不需要多台计算机,而在一台计算机你可以借助容器化技术创建很多不同环境的容器实例来满足你的开发与运行需求。

这里打个比方:就拿我们的redis集群来看,我现在需要一个三主三从的redis集群,如果没有容器化,没有虚拟机技术等等,我需要购买6台计算机,六台呀!再有钱也得为维护成本等等多方面进行考虑,再从虚拟机技术出发,我可以在一台物理机上虚拟出六台虚拟机,哎!好像不用花那么多钱了,但是又想一下,维护成本好像还是差不多的,没有那么方便。最后来到容器化技术,只需要在一台物理机上创建多个redis容器实例就好了。我一键启动,一键关闭进行统一管理这些容器,大大的降低了维护成本,方便快捷,如果我还需要多几台我可以继续再加几个容器实例就好。这个就是容器化

//这里要加图片

2.2容器化的好处:

便携性

软件开发人员使用容器化在多个环境中部署应用程序,而无需重新编写程序代码。他们只需构建一个应用程序,然后将其部署到多个操作系统上。例如,他们在 Linux 和 Windows 操作系统上运行相同的容器。开发人员还使用容器将传统应用程序代码升级到现代版本进行部署。

可扩展性

容器是可以高效运行的轻量级软件组件。例如,虚拟机可以更快地启动容器化应用程序,因其不需要引导操作系统。因此,软件开发人员可以轻松在单个计算机上为不同的应用程序添加多个容器。容器集群使用来自相同共享操作系统的计算资源,但一个容器不会干扰其他容器的运行。

容错能力

软件开发团队使用容器来构建容错应用程序。他们使用多个容器在云上运行微服务。由于容器化微服务在独立的用户空间中运行,因此单个故障容器不会影响其他容器。这提高了应用程序的弹性和可用性。

敏捷性

容器化应用程序在独立的计算环境中运行。软件开发人员可以进行故障排除并更改应用程序代码,而不会干扰操作系统、硬件或其他应用程序服务。他们可以缩短软件发布周期,并使用容器模型快速进行更新。

2.3容器技术有哪些类型?

Docker

Docker 或 Docker Engine 是一种热门的开源容器运行时,使软件开发人员能够在各种平台上构建、部署和测试容器化应用程序。Docker 容器是使用 Docker 框架创建的应用程序和相关文件的独立软件包。

Linux

Linux 是一种内置容器技术的开源操作系统。Linux 容器是独立的环境,使多个基于 Linux 的应用程序能够在单个主机上运行。软件开发人员使用 Linux 容器来部署写入或读取大量数据的应用程序。Linux 容器不会将整个操作系统复制到容器的虚拟化环境中。相反,容器由 Linux 命名空间中分配的必要功能组成。

Kubernetes

Kubernetes 是一种热门的开源容器编排工具,软件开发人员使用它来部署、扩展和管理大量微服务。Kubernetes 有一个声明式模型,可更轻松地实现容器自动化。声明式模型确保 Kubernetes 根据配置文件采取适当的操作以满足要求。

三、云原生

什么是云原生:

从它的名字中来看,云原生就是将我们的原生代码生产的应用程序在云端开发部署运行,利用容器化的高扩展性,便捷性等等优势。

四、容器化搭建redis三主三从集群(docker)

标签:容器,浅谈,开发人员,redis,应用程序,cluster,集群,Linux
From: https://www.cnblogs.com/luffyzhang/p/17234492.html

相关文章

  • 使用keydb 简化redis openresty 集成
    openresty支持redis的链接管理以及api集成能力是一个很不错的功能,基于keydb的多活模式可以简化redis的维护同时结合haproxy可以解决负载的问题参考玩法  ......
  • redis跳跃表
    Redis使用跳跃表作为有序集合键的底层实现之一,同时Redis是在集群节点内用作内部数据结构。跳跃表的实现Redis的跳跃表由redis.h/zskiplistNode和redis.h/zskiplist两个结......
  • Redis持久化机制
    Redis持久化机制redis是用来做缓存。持久化:数据从内存->磁盘Redis官方提供了两种持久化机制。快照(SNAPSHOT)RDBAOF(AppendOnlyFile)只追加日志文件快照特点:这种方......
  • Redis的Linus下的安装
    RedisNoSQL:NotOnlySQL非关系型数据库。缓存流量比较大,不需要写sql语句。NoSQL的四大分类:1、键值(Key-Value)存储数据库。使用到一个哈希表,这个表中有一个指针指向特定的......
  • Redis的Linux下的安装
    Linus一,虚拟机下安装Linus选择虚拟机安装CentOS-7-x86_64-Minimal-1804的镜像,按顺序操作下一步创建root密码,如123456,点击完成,重启输入root和设定的密码123456进入系......
  • docker 安装redis
    dockersearchredis   或者去dockerHub上去找版本哪个版本用的人多就用哪个 2.dockerpulredis(dockerpull<镜像名称>:<版本号>默认是拉取latest)  ......
  • Redis-超卖问题
    悲观锁:简单粗暴,性能一般。认为线程安全一定会发生,在操作数据之前获取锁,确保线程串行执行。Synchronized。Lock都属于悲观锁 乐观锁,性能较好。认为线程安全问题不一定......
  • Redis实战—优惠卷
    全局ID生成器,满足以下特性: 1.唯一性,2.高可用,3.高性能,4.递增性,5.安全性。实现:拼接,ID会用数值:Long型直接插入数据库策略:UUID;Redis自增;雪花算法;数据库自增Redis自增:......
  • golang常用库包:缓存redis操作库go-redis使用(03)-高级数据结构和其它特性
    Redis高级数据结构操作和其它特性第一篇:go-redis使用,介绍Redis基本数据结构和其他特性,以及go-redis连接到Redishttps://www.cnblogs.com/jiujuan/p/17207166.html第......
  • [redis] 设置密码
    安装好redis之后默认没有密码。修改redis.conf配置设置密码参数requirepass配置redis访问密码重启服务生效在登录时输入密码:redis-cli-p6379-apwddocker......