一个有用的卡夫卡工具。

esque的Python项目详细描述


esque-一个可操作的卡夫卡工具。

pypi VersionPython VersionsBuild StatusCoverage StatusLicense: MIT

在卡夫卡的世界里没有什么是容易的,但是esque(发音为esk)是一种尝试。

你为什么要在乎?

有些东西很难,这没关系,列出你的卡夫卡主题不应该。

在real.digital采用卡夫卡时,我们注意到它给新用户带来了巨大的进入障碍。 我们无法叙述我们编写slack消息的频率,该消息要求脚本检查主题或使用者组的状态。 这在一定程度上(但不仅如此)是由于对kafka的工具和api的定义不完整和不明确。

esque通过向kafka集群公开一个类似kubectl的接口,尝试成为人类友好的第一个接触点。

主要功能

  • 列出资源(主题、使用者组、代理)
  • 获取资源的详细概述(主题、使用者组、代理)
  • 创建/删除主题
  • 上下文切换(在预定义群集之间轻松切换)
  • kafka ping(测试到kafka集群的往返时间)
  • 还有更多的计划…

安装和使用

安装

esque可在pypi.org上获得,并可与pip install esque一起安装。esque需要python 3.6+才能运行。

自动完成

自动完成是通过setup.py中的安装后挂钩自动安装的。 如果由于某种原因它不起作用,您仍然可以自己安装:

猛击
 echo 'eval "$(_ESQUE_COMPLETE=source esque)"' >> ~/.esque/autocompletion.sh
 echo "source ~/.esque/autocompletion.sh" >> ~/.bashrc

zsh

echo 'eval "$(_ESQUE_COMPLETE=source_zsh esque)"' >> ~/.esque/autocompletion.zsh
echo "source ~/.esque/autocompletion.zsh" >> ~/.zshrc

使用量

配置定义

首次启动esque时,将显示以下消息:

No config provided in ~/.esque
Should a sample file be created in ~/.esque [y/N]:

当用yesque应答时,将把sample config复制到~/.esque/esque.cfg。 然后,您可以修改该文件以适应集群定义。

或者,可以在该路径中的示例配置文件后面提供一个配置文件。

命令概述

$ esque
Usage: esque [OPTIONS] COMMAND [ARGS]...

  (Kafka-)esque.

Options:
  --help  Show this message and exit.

Commands:
  apply     Apply a configuration
  create    Create a new instance of a resource.
  ctx       Switch clusters.
  delete    Delete a resource.
  describe  Get detailed informations about a resource.
  get       Get a quick overview of different resources.
  ping      Tests the connection to the kafka cluster.

用于“应用”命令的配置文件

apply命令的配置必须是一个yaml文件,并且 与选项-f或--file一起给定。

在当前版本中,只有主题配置可以 更改并指定。

它必须使用模式 对于以下示例:

topics:
  - name: topic_one
    replication_factor: 3
    num_partitions: 50
    config:
      cleanup.policy: compact
  - name: topic_two
    replication_factor: 3
    num_partitions: 50
    config:
      cleanup.policy: compact

开发

要设置开发环境,请确保至少安装了python 3.6 Pipenv,然后运行

pipenv install --dev
pipenv shell 
export PYTHONPATH=$(pwd)

运行测试

要启动本地测试设置(kafka和zookeeper),可以运行

docker-compose up

当这个docker-compose堆栈启动时,您可以通过pytest tests/ --integration --local从cli运行测试

或者,您也可以运行整个测试套件,无需设置开发环境,在Docker compose中通过docker-compose -f docker-compose.yml -f docker-compose.test.yml

备选方案

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
当IntellijIDEA打开时,java Gluon SceneBuilder不会打开FXML文件   java在启动tomcat后执行某些操作   如何在Java中使用Google Cloud语音API在识别语音时录制音频   Java端口转发性能   写入Java项目文件夹中的txt文件   使用java中的命令提示符cmd   对象类型方法的java assertequal   java如何通过应用程序在设备上更新Android操作系统   java是否可以在@BeforeClass注释方法中运行Android Espresso单元测试?   java如何使用JMS API将NACK从Solace侦听器发送到Solace队列?   如何将Java和C集成到同一个项目中?   Android中的java安装\u失败\u冲突\u提供程序   java时间输入和显示   使用GAE数据存储对实体用户进行java身份验证时返回null   netbeans向Java运行时添加本机DLL时出现问题(JIntellitype)