当前位置: 首页 > news >正文

(二)pulsar安装在独立的docker中,python测试

版本: 3.2.x
官网: https://pulsar.apache.org/docs/3.2.x/getting-started-docker/

安装pulasr服务

拉取镜像

# sudo docker pull apachepulsar/pulsar:3.0.3
sudo docker pull apachepulsar/pulsar:3.2.1

运行docker

CURRENT_DIR=$(cd `dirname $0`; pwd)
BASE_DIR=$(cd $(dirname $0);cd ..; pwd)FROM_DOCKER=apachepulsar/pulsar:3.2.1
DOCKER_NAME=pagoda_pulsar# 【新建要修改】主机端口
PULSAR_PORT=19537
HTTP_PORT=19536########################################################
if [[ -n $(docker ps -q -f "name=${DOCKER_NAME}") ]];thenecho "not exist docker name=${DOCKER_NAME}"
elseecho "exist docker name=${DOCKER_NAME}. neet exit, then rm docker."docker rm ${DOCKER_NAME}
fi
########################################################
docker run \
-d \
--restart=always \
--shm-size="20g" \
-v /etc/localtime:/etc/localtime \
--mount source=pulsardata,target=/pulsar/data \
--mount source=pulsarconf,target=/pulsar/conf \
-p ${PULSAR_PORT}:6650 \
-p ${HTTP_PORT}:8080 \
--name ${DOCKER_NAME} \
-it ${FROM_DOCKER} \
bin/pulsar standalonedocker logs -f ${DOCKER_NAME}

python简单测试

安装模块

pip install pulsar-client

例子参考:https://pulsar.apache.org/api/python/3.4.x/
(1)生产消息

import pulsarclient = pulsar.Client('pulsar://localhost:6650')
consumer = client.subscribe('my-topic', subscription_name='my-sub')while True:msg = consumer.receive()print("Received message: '%s'" % msg.data())consumer.acknowledge(msg)client.close()

(2)消费消息

import pulsarclient = pulsar.Client('pulsar://localhost:6650')
producer = client.create_producer('my-topic')for i in range(10):producer.send(('hello-pulsar-{i}').encode('utf-8'))client.close()

如果有用,请点赞、关注、收藏、分享
你的鼓励是我最大的动力

相关文章:

  • 富格林:理智做单增加出金盈利
  • 预防GPT-3和其他复杂语言模型中的“幻觉”
  • 《单例模式(极简c++)》
  • 微服务高级篇(一):微服务保护+Sentinel
  • 使用OpenRewrite自动做框架升级比如Spring Boot
  • android studio 安装lombok插件
  • 软件工程-第7章 面向对象方法RUP
  • 【CNN轻量化】RepViT: Revisiting Mobile CNN From ViT Perspective
  • Webpack的构建流程
  • linux安装rabbitmq
  • Java-Java基础学习(2)-网络编程-TCP-UDP
  • 【FPGA】摄像头模块OV5640
  • 理解C#和.NET的应用模型
  • discuz、ecshop、帝国cms部署https(ssl)后会员无法登录
  • UGUI源码分析与研究3-扩展UGUI实现自定义UI组件
  • (三)从jvm层面了解线程的启动和停止
  • CSS3 变换
  • React-flux杂记
  • RxJS: 简单入门
  • SwizzleMethod 黑魔法
  • Wamp集成环境 添加PHP的新版本
  • 从setTimeout-setInterval看JS线程
  • 关于Flux,Vuex,Redux的思考
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 前端路由实现-history
  • 前端设计模式
  • 《TCP IP 详解卷1:协议》阅读笔记 - 第六章
  • 1.Ext JS 建立web开发工程
  • 7行Python代码的人脸识别
  • 从如何停掉 Promise 链说起
  • 国内开源镜像站点
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • (1)(1.9) MSP (version 4.2)
  • (31)对象的克隆
  • (C++17) optional的使用
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET轻量级ORM组件Dapper葵花宝典
  • /etc/fstab 只读无法修改的解决办法
  • [@Controller]4 详解@ModelAttribute
  • [Android]Tool-Systrace
  • [BUUCTF NewStarCTF 2023 公开赛道] week4 crypto/pwn
  • [BZOJ1053][HAOI2007]反素数ant
  • [C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计
  • [codeforces] 25E Test || hash
  • [HTML]HTML5实现可编辑表格
  • [PHP源码阅读]empty和isset函数
  • [python] `sys.settrace` 跟踪函数
  • [python]mysqlclient常用命令
  • [Swift]LeetCode856. 括号的分数 | Score of Parentheses
  • [SystemC]SystemC Hierarchical Channels
  • [第五组E]用例:活动浏览+功能说明书+技术说明书
  • [动态规划]---part1
  • [翻译]Gallery Server Pro ----用于分享相片,视频,音频及其他媒体的ASP.NET相册[Carol]...