码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Strimzi Kafka Bridge(桥接)实战之一:简介和部署


    合集 - kubernetes实战(12)
    1.Kubernetes亲和性学习笔记07-202.支持JDK19虚拟线程的web框架,之四:看源码,了解quarkus如何支持虚拟线程09-193.支持JDK19虚拟线程的web框架,之五(终篇):兴风作浪的ThreadLocal09-204.strimzi实战之二:部署和消息功能初体验09-255.strimzi实战之三:prometheus+grafana监控(按官方文档搞不定监控?不妨看看本文,已经踩过坑了)09-26
    6.Strimzi Kafka Bridge(桥接)实战之一:简介和部署09-27
    7.Strimzi Kafka Bridge(桥接)实战之二:生产和发送消息09-288.Strimzi Kafka Bridge(桥接)实战之三:自制sdk(golang版本)10-079.client-go实战之六:时隔两年,刷新版本继续实战10-0910.client-go实战之七:准备一个工程管理后续实战的代码10-1611.client-go实战之八:更新资源时的冲突错误处理10-1712.client-go实战之九:手写一个kubernetes的controller10-23
    收起

    欢迎访问我的GitHub

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

    关于《Strimzi Kafka Bridge(桥接)实战》

    • 在strimzi技术体系中,桥接(bridge)是很要的功能,内容也很丰富,因此将桥接相关的内容从《strimzi实战》系列中独立出来,成立桥接相关的系列文章,便于分类和专项深入

    本篇概览

    • 本文是《Strimzi Kafka Bridge(桥接)实战》系列的第一篇,按照惯例,先做好介绍和部署工作,以便后续深入学习
    • 什么是桥接?来看官方说明,如下图,最上面的Brokers就是核心的kafka服务,底部的Client是业务应用,分为消息生产者(Producers)和消费者(Consumers)两类,正中心蓝色背景的Strimzi Kafka Bridge就是今天的主角:strimzi桥接服务,从下图很容易看出它的作用:通过http接口来生产和消费kafka消息
      在这里插入图片描述
    • 在整个strimzi技术体系中,bridge可谓举足轻重,如下图红框,官方为bridge准备了专门文档链接,这是其他扩展组件都没有的待遇
      在这里插入图片描述

    安装方式的选择

    • bridge支持在两种环境下安装:
    1. kubernetes环境:使用strimzi的kafka-operator安装
    2. 非kubernetes环境:使用bridge的安装包,解压后修改配置文件,然后用内置的shell文件启动即可
    • 整个《strimzi实战》系列都是在kubernetes环境中操作的,所以本篇只考虑上述第一种安装方式:kafka-operator
    • 整个部署过程非常简单,首先确认kubernetes和strimzi的operator都已经部署完成,kafka服务也已经部署好了(部署细节请参考《strimzi实战之二:部署和消息功能初体验》)
    • 第二步:新增名为kafka-bridge.yaml的文件,内容如下
    apiVersion: kafka.strimzi.io/v1beta2
    kind: KafkaBridge
    metadata:
      name: my-bridge
    spec:
      replicas: 1
      bootstrapServers: my-cluster-kafka-bootstrap:9092
      http:
        port: 8080
    
    • 执行以下命令开始部署bridge,我这里kafka服务的namespace是aabbcc,请您改为自己实际的namespace
    kubectl apply -f kafka-bridge.yaml -n aabbcc
    
    • 查看deployment、service、pod,发现均有新增,如下图
      在这里插入图片描述
    • 从上图可见,bridge的service是ClusterIP类型,其值是10.96.0.222,于是迫不及待的试试bridge,执行以下命令,向bridge发出第一个请求,功能是获取所有topic
    curl -X GET http://10.96.0.222:8080/topics
    
    • 成功收到bridge的响应,如下图,现有全部topic都返回了
      在这里插入图片描述

    增加一个service,使得可以从外部访问

    • bridge的服务是ClusterIP类型,外部无法访问,那就新增一个NodePort类型的服务吧,新建文件bridge-service-nodeport.yaml,内容如下,31331是我在宿主机上随便找了个未占用的端口,您随意
    apiVersion: v1
    kind: Service
    metadata:
      name: bridge-nodeport
    spec:
      type: NodePort
      ports:
      - port: 8080
        nodePort: 31331
      selector:
        strimzi.io/cluster: my-bridge
        strimzi.io/kind: KafkaBridge
        strimzi.io/name: my-bridge-bridge
    
    • 执行以下命令让上述service生效,我这里kafka服务的namespace是aabbcc,请您改为自己实际的namespace
    kubectl apply -f bridge-service-nodeport.yaml -n aabbcc
    
    • 从宿主机暴露端口后,就可以用客户端工具(例如apipost)远程访问了,如下图
      在这里插入图片描述

    安全问题(需要自己处理)

    • 从前面的架构图可以看出,业务服务与bridge之间是http协议,那么存在安全问题吗(毕竟是远程调用)?如果真的存在安全问题,strimzi都应对之策吗?
    • 安全问题确实存在,而且strimzi的应对之策也真够敷衍...不多说了,来围观吧
      在这里插入图片描述
    • 调侃归调侃,但是真正使用bridge的时候,尤其是应用与bridge不在同一个内网环境时,一定要自己做好安全工作
    • 至此,Strimzi Kafka Bridge的介绍和部署已经完成,接下来的文章会有更多实战等着咱们,通过实际操作熟练掌握桥接特性

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

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

  • 相关阅读:
    新品怎么才能高效率地上一些攻心评价
    关于算法复杂度的几张表
    Istio 升级后踩的坑
    前端开发禁止用户缩放页面
    Allegro172版本Shape避让方形盘不出现弧形操作指导
    30 C++ 预处理器
    Strimzi Kafka Bridge(桥接)实战之二:生产和发送消息
    Visual Studio 2022版本17.8中的实用功能
    应用协议安全:Rsync-common 未授权访问.
    React组件应用于Spring MVC工程
  • 原文地址:https://www.cnblogs.com/bolingcavalry/p/17724694.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号