订阅消息组件由 redis 改为 rabbitmq

刚开始测试 dapr 时为了图省事,使用了 pubsub.redis,现在准备上生产环境,改用支持消息持久化的 pubsub.rabbitmq。

之前使用的 pubsub.redis 资源清单如下

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: pubsub
  namespace: production
spec:
  type: pubsub.redis
  version: v1
  metadata:
    - name: redisHost
      value: redis-master.production.svc.cluster.local:6379
    - name: redisPassword
      secretKeyRef:
        name: redis
        key: redis-password
$ helm repo add bitnami https://charts.bitnami.com/bitnami
$ helm install rabbitmq bitnami/rabbitmq

Persistent volume 是通过 kubernets dynamic volume provisioning 动态创建,StorageClass 用的是阿里云 nas。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: sc-nas-production-pvs
  annotations:
    storageclass.kubernetes.io/is-default-class: "true"
mountOptions:
  - nolock,tcp,noresvport
  - vers=3
parameters:
  volumeAs: subpath
  server: xxxxxx.cn-hangzhou.extreme.nas.aliyuncs.com:/production/k8s-pvs/
provisioner: nasplugin.csi.alibabacloud.com
reclaimPolicy: Retain

pubsub.rabbitmq 的资源清单如下

apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: pubsub
  namespace: production
spec:
  type: pubsub.rabbitmq
  version: v1
  metadata:
    - name: host
      value: "amqp://user:password@rabbitmq.production.svc.cluster.local:5672"
    - name: durable
      value: true

需要注意的是 host 参数部分, user:password 是连接 rabbitmq 的用户名与密码, 用 bitnami/rabbitmq chart 创建的 rabbitmq 默认用户名就是 user,密码在 secret 中,可以通过下面的命令获取

kubectl get secret --namespace "production" rabbitmq -o jsonpath="{.data.rabbitmq-password}" | base64 --decode

Apply 上面的 rabbitmq-pubsub.yaml,发布/订阅消息组件就变成 rabbitmq,不用改1行应用代码,dapr 的优势立马体现。

Original: https://www.cnblogs.com/dudu/p/15640056.html
Author: dudu
Title: 订阅消息组件由 redis 改为 rabbitmq

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/528778/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 51单片机入门基础介绍

    基本元器件原理及功能 常用元器件 CAP 电容RES 电阻CRYSTAL 晶振7SEG 数码管sounder 蜂鸣器BUTTONLED-BIBY 二极管PN结,P阳极N阴极,电流方…

    Linux 2023年6月7日
    099
  • MIT6.828(Step0)——实验环境配置

    实验环境配置 VirtualBox虚拟机为载体,安装Ubuntu $ uname -a Linux eliot-VirtualBox 5.11.0-36-generic #40~2…

    Linux 2023年5月27日
    0104
  • 《卡死你3000》批量修改被控机密码,秘钥

    批量生成密码之产生随机数: 默认产生16位大小写加数字密码 批量生成密码,并写入nodelist.csv: cs产生所有被控机旧密码并写入nodelist.ps1 运行这个脚本后,…

    Linux 2023年6月13日
    078
  • Linux命令篇-awk 命令

    gawk – pattern scanning and processing language; awk:gawk是Unix中原始awk程序的GNU版本,强大之处在于可…

    Linux 2023年6月13日
    095
  • JAVA反射机制详解

    作者:小牛呼噜噜 | https://xiaoniuhululu.com计算机内功、JAVA底层、面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」 何为反射? 实例的创建 .cl…

    Linux 2023年6月6日
    0152
  • 解决关闭shell会话窗口则会发现ASP.NET Core应用也会被关闭问题

    统计了三种方法: 一、使用nohup命令即可 【最简单】 nohup dotnet xxxx.dll 【xxxx为应用名称】 一般会报:nohup: ignoring input …

    Linux 2023年6月8日
    0124
  • CRC校验

    ​ 一:CRC概念 1.1、参考博客 参考的教程如下: 手算CRC及其实现 CRC校验算法原理分析 一文讲透CRC校验码-附赠C语言实例 CRC校验(手算与直观演示) CRC(循环…

    Linux 2023年6月13日
    090
  • 同一台电脑生成多份ssh私钥和公钥,映射多个GitHub账号

    当我们使用 Git 进行代码版本控制时,经常出现一台电脑需要连接多个Git 账号的情况,此时需要在一台电脑上生成多份 ssh 私钥和密钥,同时映射多个 Git 账号;这里我们需要同…

    Linux 2023年6月14日
    082
  • 磁盘管理操作

    磁盘管理操作 虚拟环境centos7.3 fdisk用法:fdisk [选项] 一、磁盘分区 1.在做磁盘分区之前关闭虚拟机添加一块20G的磁盘。 添加之后记得点下面的确定可以应用…

    Linux 2023年6月7日
    0128
  • MySQL — 数据控制语言

    DCL 全称 Data Control Language。数据控制语言,用来创建数据库用户、控制数据库的访问权限。 1、用户管理 select * from user; 只能在指定…

    Linux 2023年6月8日
    0103
  • 缓存提升性能的关键性手段

    提高「性能」的主要方式是优化,而优化的其中一个主要手段就是添加缓存! 在软件工程里有这么一句话:「没有银弹」!就是说由于软件工程的复杂性,没有任何一种技术或方法能解决所有问题!软件…

    Linux 2023年6月14日
    096
  • 磁盘空间满,如何处理?

    作为运维人员,磁盘空间报警是最寻常遇到的情况,那么遇到空间如何处理呢?这里介绍一下处理办法及处理思路。 操作系统:centos系统 、Ubuntu 1 定位目录 收到空间报警信息,…

    Linux 2023年6月6日
    0108
  • 重磅硬核 | 一文聊透对象在 JVM 中的内存布局,以及内存对齐和压缩指针的原理及应用

    欢迎关注公众号:bin的技术小屋,大家如果看到图片显示不了的话,可以查看公众号原文 大家好,我是bin,又到了每周我们见面的时刻了,我的公众号在1月10号那天发布了第一篇文章《从内…

    Linux 2023年6月6日
    0149
  • 【抄】Shell正则表达式

    shell 正则语法基础 copy from: https://man.linuxde.net/docs/shell_regex.html 正则表达式的分类 基本的正则表达式(Ba…

    Linux 2023年5月28日
    0115
  • NoteOfMySQL-13-事务与并发控制

    一、事务简介 存储引擎如InnoDB、BDB才支持事务处理。 每个事务(transaction)的处理必须满足ACID原则: 原子性(Atomicity): 原子性指每个事务都必须…

    Linux 2023年6月14日
    0131
  • 【总结】瞬时高并发(秒杀/活动)Redis方案

    1,Redis 丰富的数据结构(Data Structures) * 字符串(String) – Redis字符串能包含 任意类型的数据 一个字符串类型的值最多能存储 …

    Linux 2023年5月28日
    089
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球