欢迎访问我的GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos

关于strimzi

  • strimzi是一个开源项目,已加入了CNCF,官网地址:https://strimzi.io/
  • 借助strimzi,既能快速部署kafka服务,又能对kafka服务进行细致的调节,还能扩展出更多的能力,典型的扩展能力如下:
  1. 监控(基于prometheus+grafana)
  2. 安全(基于TLS)
  3. 用户管理
  4. topic管理
  5. 机架感知
  6. Restful接口
  7. 消息镜像
  8. 消息来源
  9. 消息去向
  • 官方给出的组件架构图如下,可见比起单纯的kafka,strimzi的功能更加丰富,很多与消息有关的场景都能通过strimzi组件来实现

  • strmzi在GitHub已开源,地址是:https://github.com/strimzi/strimzi-kafka-operator

为什么是strimzi?

  • 原因很简单:欣宸是一位Java程序员,又对云原生技术非常感兴趣

  • 在强者如云的CNCF项目中,以java作为开发语言的项目非常稀少,strimzi就是其中一个(项目的语言构成如下图),再加上其实用的功能,于是,strimzi在我眼中就成了一个宝藏级别的项目:它就是深入学习云原生的捷径,通过它去窥探云原生开发的奥秘

  • 令人开心的是java也能在CNCF占据一席之地,遗憾的是strimzi现在只是Sandbox阶段,希望它能越来越好吧(Sandbox阶段:是指项目还未大规模在生产环境被验证过)

  • 尽管strimzi还只是Sandbox阶段,但是对于爱学习,却又只会java的我来说,真的足够了,那么多强大的功能,再配上开放的源码,令人着迷!

关于《strimzi实战》系列

  • 欣宸喜欢写系列文章,此风格在其他作品中已显露无疑,《strimzi实战》亦是如此,通过这个系列,除了掌握strimzi的各种功能,更是要深入学习strimzi的源码,我就想知道,kubernetes环境提供的各种能力,如何用java去控制!
  • 写作过程也是学习的过程,自然不会一开始就扎入源码的汪洋中,整个系列会谨慎控制节奏,从最基本的体验出发,将strimzi的功能都玩个遍,再去研究它的源码,窥探云原生开发的奥秘

本篇概览

  • 本篇是 《strimzi实战》系列的开篇,难度自然是入门级别,主要内容如下
  1. strmzi简介,就是前面唠唠叨叨那一段...
  2. 实战环境的准备工作
  • 接下来,咱们把整个实战系列要用到的环境准备好,接下来的文章,就在这套环境上操作了

实战环境的准备工作(版本信息)

  • 首先介绍一下环境信息,列出各个版本号给您做个参考
  1. 操作系统:CentOS 7.6 (腾讯云轻应用服务器,4核8G)
  2. kubernetes:1.22 (底层容器服务是docker)
  3. prometheus:2.32.1
  4. grafana:8.3.3
  5. strimzi:0.32.0
  6. kafka:3.3.1(pod的环境变量)
  7. zookeeper:3.6.3 (进入容器,查找jar包,发现是zookeeper-3.6.3.jar)
  • 另外需要注意的是,本系列使用的strimzi版本是0.32.0,该版本对kubernetes的最低要求是1.19,请不要使用低于此版本的kubernetes

实战环境的准备工作(安装操作系统、kubernetes、pv、prometheus、grafana)

  • 先盘点有哪些是在实战前必须准备好的:
  1. kubernetes是必要的
  2. pv即外部存储,有了它,kafka和zookeeper的数据就可以永久保存起来,要是没有pv,那些数据就只能保存在pod内部,一旦pod被删除,数据就丢失了,所以pv还是挺重要的
  3. prometheus+grafana,这一对组合,一个负责采集数据,一个负责展示数据,strimzi的监控就就指望它们了
  • 所以,咱们需要将kubernetes、pv、prometheus、grafana全部装好才能顺利开启strimzi实战,为此,我专门另写了一篇文章,详细记录了这些软件的安装和验证过程,您可以作为参考:《快速搭建云原生开发环境(k8s+pv+prometheus+grafana)》
  • 至此,《strimzi实战》系列的开篇就算完成了,神秘的云原生世界,熟悉的java代码,现在,爱学习的您是否已经心动了呢?接下来,请允许欣宸原创陪伴您渡过一段愉快的时光,咱们一起揭开迷雾,掌握云原生应用开发

欢迎关注博客园:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...

strimzi实战之一:简介和准备的更多相关文章

  1. 前端开发工程师 - 06.Mini项目实战 - 项目简介

    第6章--Mini项目实战 项目简介 Mini项目简介-Ego社区开发 回顾: 页面制作 页面架构 JavaScript程序设计 DOM编程艺术 产品前端架构 实践课Mini项目--Ego: 主题:漫 ...

  2. Maven实战01_Maven简介

    1:何为Maven Maven:中文翻译为"知识的积累",也可翻译为"专家"或"内行". 谈到Maven,就不得不提"构建(bui ...

  3. 【翻译】go语言中的map实战

    业余时间翻译,水平很差,如有瑕疵,纯属无能. 原文链接 http://blog.golang.org/go-maps-in-action go语言中的map实战 1. 简介 哈希表是计算机科学中最重要 ...

  4. 包建强的培训课程(7):iOS企业级开发实战

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  5. AI人工智能顶级实战工程师 课程大纲

    课程名称    内容    阶段一.人工智能基础 — 高等数学必知必会     1.数据分析    "a. 常数eb. 导数c. 梯度d. Taylore. gini系数f. 信息熵与组合数 ...

  6. 【SpringBoot】整合Redis实战

    ========================9.SpringBoot2.x整合Redis实战 ================================ 1.分布式缓存Redis介绍 简介: ...

  7. SpringBoot2.x整合Redis实战 4节课

    1.分布式缓存Redis介绍      简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具 1.redis官网 https://redis.io/download          2.新手 ...

  8. Mininet入门与实战 3.9参课记录

    Mininet入门与实战 Mininet简介 由来:斯坦福大学发明,基于Linux Container架构开发的进程虚拟化网络仿真工具,交换机支持OF协议. 使用情况: 控制器,不推荐自带控制器(bu ...

  9. K8S上的ELK和应用日志上报实战

    来源:DevOps ID:Idevops168 本次实战的基础结构如下图所示: 一共有两个Pod:ELK和web应用: ELK的Pod会暴露两个服务,一个暴露logstash的5044端口,给file ...

  10. Spring Boot 2.x零基础入门到高级实战教程

    一.零基础快速入门SpringBoot2.0 1.SpringBoot2.x课程全套介绍和高手系列知识点 简介:介绍SpringBoot2.x课程大纲章节 java基础,jdk环境,maven基础 2 ...

随机推荐

  1. windows笔记本极致省电指南

    用到了三个软件:parkcontrol,process lasso,quickCPU parkcontrol -调整CPU的运行核心和频率,可以设置离电的时候关闭一些CPU核心数,以达到省电的目的 插 ...

  2. CANoe _ Panel面板的创建过程

    在Canoe中创建Panel面板,用于显示和操作CAN网络的数据和信号,遵循以下步骤: 1.打开Canoe 启动Canoe软件. 2.打开项目 在Canoe的菜单栏中,选择"File&quo ...

  3. binfmt_misc

    一:binfmt_misc是什么 binfmt_misc是内核中的一个功能,它能将非本机的二进制文件与特定的解析器自动匹配起来,进行二进制解析. 例如,在x86上解析arm64架构的二进制. 通过bi ...

  4. GPT3的局限性:语言多样性、语言理解能力、数据量

    目录 GPT-3 的局限性:语言多样性.语言理解能力.数据量 随着人工智能技术的不断发展,越来越多的语言模型被开发出来,其中最具代表性的就是 GPT-3.然而,尽管 GPT-3 已经在自然语言处理领域 ...

  5. 从GaussDB(DWS)的技术演进,看数据仓库的积淀与新生

    摘要:随着云计算的兴起和渗透,云数仓成为了数仓技术演进的新阶段,并且逐渐成为了众多企业的共同选择. 本文分享自华为云社区<从GaussDB(DWS)的技术演进,看数据仓库的积淀与新生>,作 ...

  6. 从数据库中读取数据并写入到Excle电子表格之1

    //获取数据 using (SqlDataReader reader = Alian_SQL_Helper.SQL_Helper .ExecuteReader( "select CC_Aut ...

  7. vue3+ts使用v-for出现unknown问题

    最近在写项目时遇到了一个问题,当我从父组件向子组件传数据并且需要将子组件对传入的数据进行v-for循环渲染时,在此出遇到了一个ts报错 报错为循环出的data类型为unknown 具体代码如下 : 子 ...

  8. 大语言模型中一个调皮的EOS token

    背景 最近需要做一个微调的培训,所以不可避免地需要上手一下相关的微调,而受限于机器资源,暂时没法做全参数微调,所以就尝试了目前比较火的两种高效微调方式,分别是PTuning和LoRA.模型选择得自然是 ...

  9. CSRF与SSRF

    CSRF与SSRF CSRF(跨站请求伪造) 跨站请求伪造(Cross-site request forgery,CSRF),它强制终端用户在当前对其进行身份 验证后的Web应用程序上执行非本意的操作 ...

  10. Linux安装与配置FTP服务

    1.FTP安装与配置 1.1.FTP安装 一般使用yum直接在线安装 # 在线安装FTP yum install -y vsftpd 安装完成后查看ftp状态 # 查看ftp状态 systemctl ...