合集 – 技术工具(21)
1.Java程序员的MacBookPro(14寸M1)配置备忘录2023-08-062.群晖DS218+部署PostgreSQL(docker)2023-08-143.Codespaces个性化后台服务器配置指南2023-08-194.桌面版vscode用免费的微软4核8G服务器做远程开发(编译运行都在云上,还能自由创建docker服务)2023-08-205.20天等待,申请终于通过,安装和体验IntelliJ IDEA新UI预览版2023-08-276.LeetCode46全排列(回溯入门)2023-09-017.LeetCode952三部曲之一:解题思路和初级解法(137ms,超39%)2023-09-028.win11安装ubuntu(by wsl2)2023-09-069.精选版:用Java扩展Nginx(nginx-clojure 入门)2023-09-0710.LeetCode买卖股票之一:基本套路(122)2023-09-0811.LeetCode297:hard级别中最简单的存在,java版,用时击败98%,内存击败百分之九十九2023-09-0912.支持JDK19虚拟线程的web框架,之一:体验2023-09-1313.支持JDK19虚拟线程的web框架,之三:观察运行中的虚拟线程2023-09-1514.支持JDK19虚拟线程的web框架,之四:看源码,了解quarkus如何支持虚拟线程2023-09-1915.支持JDK19虚拟线程的web框架,之五(终篇):兴风作浪的ThreadLocal2023-09-2016.快速搭建云原生开发环境(k8s+pv+prometheus+grafana)2023-09-23
17.strimzi实战之一:简介和准备2023-09-2418.云端golang开发,无需本地配置,能上网就能开发和运行2023-10-2719.Go语言基准测试(benchmark)三部曲之一:基础篇2023-11-0120.Go语言基准测试(benchmark)三部曲之二:内存篇2023-11-0221.Go语言基准测试(benchmark)三部曲之三:提高篇2023-11-03
收起
欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
关于strimzi
strimzi是一个开源项目,已加入了CNCF,官网地址:https://strimzi.io/
借助strimzi,既能快速部署kafka服务,又能对kafka服务进行细致的调节,还能扩展出更多的能力,典型的扩展能力如下:
监控(基于prometheus+grafana)
安全(基于TLS)
用户管理
topic管理
机架感知
Restful接口
消息镜像
消息来源
消息去向
官方给出的组件架构图如下,可见比起单纯的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实战》系列的开篇,难度自然是入门级别,主要内容如下
strmzi简介,就是前面唠唠叨叨那一段…
实战环境的准备工作
接下来,咱们把整个实战系列要用到的环境准备好,接下来的文章,就在这套环境上操作了
实战环境的准备工作(版本信息)
首先介绍一下环境信息,列出各个版本号给您做个参考
操作系统:CentOS 7.6 (腾讯云轻应用服务器,4核8G)
kubernetes:1.22 (底层容器服务是docker)
prometheus:2.32.1
grafana:8.3.3
strimzi:0.32.0
kafka:3.3.1(pod的环境变量)
zookeeper:3.6.3 (进入容器,查找jar包,发现是zookeeper-3.6.3.jar)
另外需要注意的是,本系列使用的strimzi版本是0.32.0,该版本对kubernetes的最低要求是1.19,请不要使用低于此版本的kubernetes
实战环境的准备工作(安装操作系统、kubernetes、pv、prometheus、grafana)
先盘点有哪些是在实战前必须准备好的:
kubernetes是必要的
pv即外部存储,有了它,kafka和zookeeper的数据就可以永久保存起来,要是没有pv,那些数据就只能保存在pod内部,一旦pod被删除,数据就丢失了,所以pv还是挺重要的
prometheus+grafana,这一对组合,一个负责采集数据,一个负责展示数据,strimzi的监控就就指望它们了
所以,咱们需要将kubernetes、pv、prometheus、grafana全部装好才能顺利开启strimzi实战,为此,我专门另写了一篇文章,详细记录了这些软件的安装和验证过程,您可以作为参考:《快速搭建云原生开发环境(k8s+pv+prometheus+grafana)》
至此,《strimzi实战》系列的开篇就算完成了,神秘的云原生世界,熟悉的java代码,现在,爱学习的您是否已经心动了呢?接下来,请允许欣宸原创陪伴您渡过一段愉快的时光,咱们一起揭开迷雾,掌握云原生应用开发
欢迎关注博客园:程序员欣宸
学习路上,你不孤单,欣宸原创一路相伴…