Kafka

首先介绍一下我了解的kafka的皮毛信息——

  • kafka——一个分布流处理系统:流处理:可以像消息队列一样publish或者subscribe信息;分布式:提供了容错性,并发处理消息的机制
  • 集群——kafka运行在集群上,集群包含一个或多个服务器。所谓服务器集群,就是将很多服务器集中在一起进行同一种服务,在客户端看起来像是只有一个服务器。集群可以利用多个计算机进行并行计算从而有很高的计算速度,也可以使用多个计算机做备份,从而使得一个机器坏了,整个系统还能正常运行
  • Broker——一个集群有多个broker(一台服务器就是一个broker),一个broker可以容纳多个Topic
  • Topic——主题,由用户定义并配置在kafka服务器,用于建立生产者和消费者之间的订阅关系。生产者发送消息到指定的topic下,消费者从这个topic下消费消息。每一条消息包含键值(key),值(value)和时间戳(timestamp)
  • Producer——消息生产者,就是像kafka broker发消息的客户端
  • Consumer——消息消费者,是消息的使用方,负责消费kafka服务器上的信息
  • Partition——消息分区,一个Topic可以分为多个Partition,每个Partition是一个有序的队列,Partition中的每条消息都会被分配一个有序的id(offset)
  • offset——消息在Partition中的偏移量,每一条消息在Partition都有唯一的偏移量。
  • Consumer Group——消费者分组,用于归组同类消费者。每个consumer属于一个特定的consumer group,多个消费者可以共同消费一个Topic下的消息,每个消费者消费其中的部分消息,这些消费者就组成了一个分组,拥有同一个分组名称,通常也被称为消费者集群。

kafka-python

kafka-python是一个python的Kafka客户端,可以用来向kafka的topic发送消息、消费消息。

接下来介绍如何封装自定义的kafka库,然后再RobotFramework上使用——

  1. 创建文件夹
  • 在D:\Python27\Lib\site-packages的文件夹里面创建你的自定义库文件夹,例如lmkafka

  • 在文件夹里面创建两个文件,分别是__init__.py和producer.py(该文件名自定义),代码如下
#producer.py
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#命令行输入pip install kafka-python,进行下载 from kafka import KafkaProducer class Produce(object):
def produce(self,ip,topic,filepath):
producer = KafkaProducer(bootstrap_servers=[ip])
with open(filepath) as f:
msg = f.read()
print msg
# 发送
producer.send(topic, msg)
#print filepath
producer.close()
#__init__.py
#!/usr/bin/python
# -*- coding: UTF-8 -*- from producer import Produce class lmkafka(Produce):
ROBOT_LIBRARY_SCOPE = 'GLOBAL'
  • 创建成功后,尝试重启ride,导入lmkafka库,如果导入不成功(库名为红色),则需要添加路径——在D:\Python27\Lib\site-packages的文件夹里面添加.pth文件,例如lmkafka.pth
  • 文件内容:D:\Python27\Lib\site-packages\lmkafka
  • 再次查看,库导入成功

库的使用——

可以向kafka里面发送数据啦~

基于RobotFramework——自定义kafka库并导入使用的更多相关文章

  1. 【Eclipse】Elipse自定义library库并导入项目

    1.定义像JRE System Library之类的库 (1)点击UserLibrary (2)如果没有就点击new新建一个user library,否则进行4  (3)向user library添加 ...

  2. 基于科大讯飞AIUI平台自定义语义库的开发

    说明:我写这篇文章的主要目的是因为我在做这块的时候遇到过一些坑,也是希望后来者能少走一些弯路. 科大讯飞AIUI开放平台地址 科大讯飞AIUI开放平台后处理地址 AIUI后处理开放平台协议 1. 科大 ...

  3. 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8、0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口)

    不多说,直接上干货! 至于为什么,要写这篇博客以及安装Kafka-manager? 问题详情 无奈于,在kafka里没有一个较好自带的web ui.启动后无法观看,并且不友好.所以,需安装一个第三方的 ...

  4. Go语言学习之11 日志收集系统kafka库实战

    本节主要内容: 1. 日志收集系统设计2. 日志客户端开发 1. 项目背景    a. 每个系统都有日志,当系统出现问题时,需要通过日志解决问题    b. 当系统机器比较少时,登陆到服务器上查看即可 ...

  5. ElasticSearch7.3学习(十五)----中文分词器(IK Analyzer)及自定义词库

    1. 中文分词器 1.1 默认分词器 先来看看ElasticSearch中默认的standard 分词器,对英文比较友好,但是对于中文来说就是按照字符拆分,不是那么友好. GET /_analyze ...

  6. jsp自定义函数库

      步骤如下: 1.创建一个函数库类,里面的方法就是标签函数库要调用的方法(必须是静态方法) package com.mdd.tag; public class JiSuan {     //两个数相 ...

  7. HyperLedger Fabric基于zookeeper和kafka集群配置解析

    简述 在搭建HyperLedger Fabric环境的过程中,我们会用到一个configtx.yaml文件(可参考Hyperledger Fabric 1.0 从零开始(八)--Fabric多节点集群 ...

  8. robot framework自定义python库

    自定义python库的好处: robot framework填表式,将python的灵活性弄没了,但是不要担心,RF早就想到了解决办法,就是扩充自己的库. 1.在python应用程序包目录下创建一个新 ...

  9. 给ambari集群里的kafka安装基于web的kafka管理工具Kafka-manager(图文详解)

    不多说,直接上干货! 参考博客 基于Web的Kafka管理器工具之Kafka-manager的编译部署详细安装 (支持kafka0.8.0.9和0.10以后版本)(图文详解)(默认端口或任意自定义端口 ...

随机推荐

  1. PHP $_SERVER['SCRIPT_FILENAME'] 与 __FILE__ 的区别

    $_SERVER['SCRIPT_FILENAME']          -------> 当前执行程序的绝对路径及文件名__FILE__                             ...

  2. 接口测试工具-Jmeter使用笔记(六:从文本读取参数)

    使用场景:测试一个接口并发处理数据的能力,并且每次请求传入的参数都要不同. 解决方法--- CSV Data Set Config 列举一个实例,步骤中会侧重读取参数操作的说明,其他有疑问的步骤请查阅 ...

  3. Linux下安装jieba

    Jieba代码对 Python 2/3 均兼容 * 全自动安装:`easy_install jieba` 或者 `pip install jieba` / `pip3 install jieba` * ...

  4. Docker:Windows7下使用docker toolbox(1)

    一.安装 官方网址:https://docs.docker.com/docker-for-windows/install/ win10以下安装:https://www.docker.com/produ ...

  5. C#设计模式(9)——装饰者模式(Decorator Pattern)(转)

    一.引言 在软件开发中,我们经常想要对一类对象添加不同的功能,例如要给手机添加贴膜,手机挂件,手机外壳等,如果此时利用继承来实现的话,就需要定义无数的类,如StickerPhone(贴膜是手机类).A ...

  6. pytorch预训练模型的下载地址以及解决下载速度慢的方法

    https://github.com/pytorch/vision/tree/master/torchvision/models 几乎所有的常用预训练模型都在这里面 总结下各种模型的下载地址: 1 R ...

  7. C#:进程

    using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using S ...

  8. Feign 与 Hystrix

    Feign 与 Hystrix Feign是一个声明式的web服务客户端,它使得web服务调用非常的简单,当我们使用Feign时,Spring Cloud 整合了Ribbon和Eureka,从而为我们 ...

  9. Linux基础培训知识点汇总

    一.Linux简介1.Linux操作系统诞生于1991年10月5日,由林纳斯·托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核的诞生.2.Linux同时也衍生了很多版本( ...

  10. 【Spark-core学习之九】 Spark案例

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk1.8 scala-2.10.4(依赖jdk1.8) spark ...