浅谈云原生基础入坑与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)

浅谈云原生基础入坑与docker 搭建redis-cluster集群的更多相关文章

  1. 【精】搭建redis cluster集群,JedisCluster带密码访问【解决当中各种坑】!

    转: [精]搭建redis cluster集群,JedisCluster带密码访问[解决当中各种坑]! 2017年05月09日 00:13:18 冉椿林博客 阅读数:18208  版权声明:本文为博主 ...

  2. 浅谈ES6原生Promise

    浅谈ES6原生Promise 转载 作者:samchowgo 链接:https://segmentfault.com/a/1190000006708151 ES6标准出炉之前,一个幽灵,回调的幽灵,游 ...

  3. 浅入Kubernetes(8):外网访问集群

    目录 查询 Service Service 外部服务类型 配置 ServiceType 伸缩数量 阶段总结 在前面几篇文章中,我们学习了 kubeadm .kubectl 的一些命令,也学会了 Dep ...

  4. 云原生生态周报 Vol. 7 | Docker 再爆 CVE

    业界要闻 Docker 基础镜像 Alpine 爆出提权漏洞(CVE-2019-5021):该CVE影响自 Alpine Linux 3.3 版本开始的所有 Docker 镜像.该漏洞的机制在于 Al ...

  5. 云原生之旅 - 2)Docker 容器化你的应用

    前言 上文中我们用Golang写了一个HTTP server,本篇文章我们讲述如何容器化这个应用,为后续部署到kubernetes 做准备. 关键词:Docker, Containerization, ...

  6. 【云原生 · Kubernetes】配置 Rancher docker 云平台

    个人名片: 因为云计算成为了监控工程师‍ 个人博客:念舒_C.ying CSDN主页️:念舒_C.ying 1.1 Rancher 概述 Rancher 是一个开源的企业级容器管理平台.通过 Ranc ...

  7. 云原生架构(二)环境搭建(Mac上安装Docker+Kubernetes+Istio一条龙)

    一.背景 Istio 项目由 Google 和 IBM 的团队与 Lyft 的 Envoy 团队合作启动.它已经完全在 GitHub 上公开开发.目前已经是"Service Mesh服务网格 ...

  8. NLP系列(1)_从破译外星人文字浅谈自然语言处理基础

    作者:龙心尘 &&寒小阳 时间:2016年1月. 出处: http://blog.csdn.net/longxinchen_ml/article/details/50543337 ht ...

  9. 浅谈百度地图API的坑

    我们可以使用百度地图生成器生成地图码(功能开发 还是使用官方文档吧) 注意百度地图坑 1.地图和我们申请的ak码版本问题 (解决方案:推荐大家使用2.0) 远程链接:<script type=& ...

  10. 浅谈App原生开发、混合开发及HTML5开发的优劣

    App混合开发(英文名:Hybrid App),是指在开发一款App产品的时候为了提高效率.节省成本即利用了原生的开发技术还应用了HTML5开发技术,是原生和HTML5技术的混合应用.目前App的开发 ...

随机推荐

  1. MarkDown学习笔记1

    # MarkDown学习(一级标题)## 标题(二级)### 三级标题#### 四级标题## 字体*Hello,World!斜体***Hello,World!加粗*****Hello,World!加粗 ...

  2. 【批量下载】url——wget,给定网址,批量下载文件

    写在前面:最近在学习批量下载sci文章并传入noteexpress,从网上学来了一些方法,其中有一步需要使用url将sci-hub上面的文章批量下载下来. 学习网址:[研究生]快速批量下载 Web o ...

  3. loadrunner 11

    1  环境windows server 2012  2019 的.net 时, 服务器管理器--仪表板--勾选.net后报错? 其中一个办法就是将服务器临时联网,就能安装成功. 2   联机时 提示如 ...

  4. 【Leetcode第285场周赛】——周赛总结

    1.6027. 统计数组中峰和谷的数量 - 力扣(LeetCode) (leetcode-cn.com) 给你一个下标从 0 开始的整数数组 nums .如果两侧距 i 最近的不相等邻居的值均小于 n ...

  5. Jmeter、Postman之RSA加密登录接口测试

    方法1:直接用在线加密工具进行加密,得到密码 参考地址 https://www.toolscat.com/decode/rsa 输入公钥和密码,直接加密即可   方法2:postman工具 步骤1:接 ...

  6. C++调用Python_____用Python C API

    项目需要用C++来处理用python处理的数据集,所以就需要在C++中调用python. 先介绍第一种方法,python文档中给出了python c api,可以实现C++与python的互动. 先新 ...

  7. 解决IOS上传竖向照片会旋转90度的问题

    // 解决IOS上传竖向照片会旋转90度的问题 rotate() { const that = this; that.imgOrientation = 1; let Orientation = nul ...

  8. ByteArrayInputStream和ByteArrayOutputStream不需要关闭流的原理--博客摘录

    ---------------- 版权声明:本文为CSDN博主「PSUUGDUFNM」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明.原文链接:https://blo ...

  9. Oracle “ORA-12154: TNS: 无法解析指定的连接标识符”错误------网络摘录

    相信使用过Oracle数据库的人一定碰到过"ORA-12154: TNS: 无法解析指定的连接标识符"错误,我在此做一个小小的总结. 在程序中连接Oracle数据库的方式与其他常用 ...

  10. MySQL核心知识

    MySQL常用的命令 启动:net start mySql; 进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 列出数据库 ...