{"id":2160,"date":"2016-02-08T23:54:04","date_gmt":"2016-02-08T23:54:03","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2160"},"modified":"2019-04-08T07:15:09","modified_gmt":"2019-04-08T14:15:09","slug":"getting-started-with-kafka-and-couchbase-as-an-endpoint","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/","title":{"rendered":"Primeros pasos con Kafka y Couchbase como endpoint"},"content":{"rendered":"<p>Couchbase es genial como fuente para Apache Kafka usando el conector DCP.<br \/>\nSin embargo, tambi\u00e9n es estupendo como punto final para digerir datos, ya que es r\u00e1pido, primero memoria y almacenamiento fiable.<\/p>\n<p>En esta entrada del blog te mostrar\u00e9 c\u00f3mo construir una aplicaci\u00f3n Java simple para un productor y un consumidor que guardan los mensajes publicados de Kafka en Couchbase.<\/p>\n<p>Asumo aqu\u00ed, que ya tienes un cluster Kafka (incluso si es un cluster de un solo nodo). Si no es as\u00ed, intenta seguir esa gu\u00eda de instalaci\u00f3n.<\/p>\n<p>Este entorno de blog tiene 4 partes:<\/p>\n<ol>\n<li>Productor de Kafka<\/li>\n<li>Cola de Apache Kafka<\/li>\n<li>Consumidor Kafka<\/li>\n<li>Servidor Couchbase<\/li>\n<\/ol>\n<h2>Productor<\/h2>\n<p>Necesitamos el productor para enviar mensajes a nuestra cola.<\/p>\n<p>En la cola, esos mensajes est\u00e1n siendo digeridos y cada aplicaci\u00f3n que se suscribi\u00f3 al tema - puede leer esos mensajes.<\/p>\n<p>La fuente de nuestros mensajes ser\u00e1 un archivo JSON ficticio que he creado usando Mockaroo, que dividiremos y enviaremos a la cola.<\/p>\n<p>Nuestros datos JSON de muestra tienen un aspecto similar a:<\/p>\n<pre><code>{   \r\n   \"id\":1,  \r\n   \"gender\":\"Female\",  \r\n   \"first_name\":\"Jane\",  \r\n   \"last_name\":\"Holmes\",  \r\n   \"email\":\"jholmes0@myspace.com\",  \r\n   \"ip_address\":\"230.49.112.20\",  \r\n   \"city\":\"Houston\"  \r\n }  <\/code><\/pre>\n<p>El c\u00f3digo del productor:<\/p>\n<pre><code>import com.fasterxml.jackson.databind.JsonNode;  \r\n import com.fasterxml.jackson.databind.ObjectMapper;  \r\n import com.fasterxml.jackson.databind.node.ArrayNode;  \r\n import org.apache.kafka.clients.producer.KafkaProducer;  \r\n import org.apache.kafka.clients.producer.ProducerConfig;  \r\n import org.apache.kafka.clients.producer.ProducerRecord;  \r\n import org.apache.kafka.clients.producer.RecordMetadata;  \r\n   \r\n import java.io.File;  \r\n import java.nio.charset.Charset;  \r\n import java.nio.file.Files;  \r\n import java.nio.file.Paths;  \r\n import java.util.ArrayList;  \r\n import java.util.HashMap;  \r\n import java.util.List;  \r\n import java.util.Map;  \r\n import java.util.concurrent.Future;  \r\n   \r\n   \r\n public class KafkaSimpleProducer {  \r\n   public static void main(String[] args) throws Exception {  \r\n     Map&lt;String, Object&gt; config = new HashMap&lt;&gt;();  \r\n     config.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, \"localhost:9092\");  \r\n     config.put(\"value.serializer\", \"org.apache.kafka.common.serialization.StringSerializer\");  \r\n     config.put(\"key.serializer\", \"org.apache.kafka.common.serialization.StringSerializer\");  \r\n     KafkaProducer&lt;String, String&gt; producer = new KafkaProducer&lt;String, String&gt;(config);  \r\n   \r\n     File input = new File(\"sampleJsonData.json\");  \r\n     byte[] encoded = Files.readAllBytes(Paths.get(input.getPath()  ));  \r\n   \r\n     String jsons = new String(encoded, Charset.defaultCharset());  \r\n     System.out.println(\"Splitting file to jsons....\");  \r\n   \r\n     List splittedJsons = split(jsons);  \r\n\r\n     System.out.println(\"Converting to JsonDocuments....\");  \r\n   \r\n     int docCount = splittedJsons.size();  \r\n   \r\n     System.out.println(\"Number of documents is: \" + docCount );  \r\n   \r\n     System.out.println(\"Starting sending msg to kafka....\");  \r\n     int count = 0;  \r\n     for ( String doc : splittedJsons) {  \r\n       System.out.println(\"sending msg....\" + count);  \r\n       ProducerRecord&lt;String,String&gt; record = new ProducerRecord&lt;&gt;( \"couchbaseTopic\", doc );  \r\n       Future meta = producer.send(record);  \r\n       System.out.println(\"msg sent....\" + count);  \r\n   \r\n       count++;  \r\n     }  \r\n   \r\n     System.out.println(\"Total of \" + count + \" messages sent\");  \r\n   \r\n     producer.close();  \r\n   }  \r\n\r\n   public static List split(String jsonArray) throws Exception {  \r\n     List splittedJsonElements = new ArrayList();  \r\n     ObjectMapper jsonMapper = new ObjectMapper();  \r\n     JsonNode jsonNode = jsonMapper.readTree(jsonArray);  \r\n   \r\n     if (jsonNode.isArray()) {  \r\n       ArrayNode arrayNode = (ArrayNode) jsonNode;  \r\n       for (int i = 0; i &lt; arrayNode.size(); i++) {  \r\n         JsonNode individualElement = arrayNode.get(i);  \r\n         splittedJsonElements.add(individualElement.toString());  \r\n       }  \r\n     }  \r\n     return splittedJsonElements;  \r\n   }  \r\n }  \r\n   <\/code><\/pre>\n<div style=\"width: 410px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/february\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/screen-shot-2016-02-04-at-14.53.04.png\" alt=\"Output from the Kafka producer app\" width=\"400\" height=\"252\" \/><p class=\"wp-caption-text\">Salida de la aplicaci\u00f3n productora de Kafka<\/p><\/div>\n<h2>Consumidores<\/h2>\n<p>Esta es una simple, muy directa, solo obt\u00e9n los mensajes de la cola, y usa el Couchbase Java SDK para insertar documentos en Couchbase. Por simplicidad, usar\u00e9 el sync java SDK, pero usar el async es totalmente posible e incluso recomendable.<\/p>\n<pre><code>import com.couchbase.client.java.Bucket;  \r\n import com.couchbase.client.java.Cluster;  \r\n import com.couchbase.client.java.CouchbaseCluster;  \r\n import com.couchbase.client.java.document.JsonDocument;  \r\n import com.couchbase.client.java.document.json.JsonObject;  \r\n import kafka.consumer.Consumer;  \r\n import kafka.consumer.ConsumerConfig;  \r\n import kafka.consumer.KafkaStream;  \r\n import kafka.javaapi.consumer.ConsumerConnector;  \r\n import kafka.message.MessageAndMetadata;  \r\n   \r\n import java.util.*;  \r\n   \r\n public class KafkaSimpleConsumer {  \r\n   public static void main(String[] args) {  \r\n   \r\n     Properties config = new Properties();  \r\n     config.put(\"zookeeper.connect\", \"localhost:2181\");  \r\n     config.put(\"zookeeper.connectiontimeout.ms\", \"10000\");  \r\n     config.put(\"group.id\", \"default\");  \r\n   \r\n     ConsumerConfig consumerConfig = new kafka.consumer.ConsumerConfig(config);  \r\n   \r\n     ConsumerConnector consumerConnector = Consumer.createJavaConsumerConnector(consumerConfig);  \r\n   \r\n     Map&lt;String, Integer&gt; topicCountMap = new HashMap&lt;&gt;();  \r\n     topicCountMap.put(\"couchbaseTopic\", 1);  \r\n   \r\n     Map&lt;String, List&lt;KafkaStream&lt;byte[], byte[]&gt;&gt;&gt; consumerMap = consumerConnector.createMessageStreams(topicCountMap);  \r\n   \r\n     List&lt;KafkaStream&lt;byte[], byte[]&gt;&gt; streams = consumerMap.get(\"couchbaseTopic\");  \r\n   \r\n     List nodes = new ArrayList&lt;&gt;();  \r\n     nodes.add(\"localhost\");  \r\n   \r\n     Cluster cluster = CouchbaseCluster.create(nodes);  \r\n     final Bucket bucket = cluster.openBucket(\"kafkaExample\");  \r\n   \r\n     try {  \r\n       for (final KafkaStream&lt;byte[], byte[]&gt; stream : streams) {  \r\n         for (MessageAndMetadata&lt;byte[], byte[]&gt; msgAndMetaData : stream) {  \r\n           String msg = convertPayloadToString(msgAndMetaData.message());  \r\n           System.out.println(msgAndMetaData.topic() + \": \" + msg);  \r\n   \r\n           try {  \r\n             JsonObject doc = JsonObject.fromJson(msg);  \r\n             String id = UUID.randomUUID().toString();  \r\n             bucket.upsert(JsonDocument.create(id, doc));  \r\n           } catch (Exception ex) {  \r\n             System.out.println(\"Not a json object: \" + ex.getMessage());  \r\n           }  \r\n         }  \r\n       }  \r\n     } catch (Exception ex) {  \r\n       System.out.println(\"EXCEPTION!!!!\" + ex.getMessage());  \r\n       cluster.disconnect();  \r\n     }  \r\n   \r\n     cluster.disconnect();  \r\n   }  \r\n   \r\n   private static String convertPayloadToString(final byte[] message) {  \r\n     String string = new String(message);  \r\n     return string;  \r\n   }  \r\n }  <\/code><\/pre>\n<div style=\"width: 410px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/february\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/screen-shot-2016-02-04-at-14.53.14.png\" alt=\"Output from the Consumer app\" width=\"400\" height=\"241\" \/><p class=\"wp-caption-text\">Salida de la consola de nuestro consumidor Kafka<\/p><\/div>\n<h2>Servidor Couchbase<\/h2>\n<p>Ahora podemos ver el resultado en el servidor Couchbase.<\/p>\n<p>Mira el bucket kafkaExample - Lleno con 1000 documentos.<\/p>\n<div style=\"width: 650px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/february\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/screen-shot-2016-02-04-at-14.51.40.png\" alt=\"\" width=\"640\" height=\"141\" \/><p class=\"wp-caption-text\">Cubos Couchbase<\/p><\/div>\n<p>Cada documento tiene un aspecto similar:<\/p>\n<div style=\"width: 650px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/february\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/screen-shot-2016-02-04-at-14.52.04.png\" alt=\"\" width=\"640\" height=\"139\" \/><p class=\"wp-caption-text\">Documento de muestra<\/p><\/div>\n<p>Soluci\u00f3n sencilla en 3 partes.<\/p>\n<p>Tenga en cuenta que en un entorno de producci\u00f3n, Producer, Consumer, Kafka o Couchbase estar\u00e1n en una o m\u00e1s m\u00e1quinas cada uno.<\/p>\n<p>C\u00f3digo completo (incluidas las dependencias de Maven) en <a href=\"https:\/\/github.com\/roikatz\/kafka-consumer-couchbase\">GitHub<\/a>.<\/p>\n<p>Roi.<\/p>","protected":false},"excerpt":{"rendered":"<p>Couchbase is great as a source for Apache Kafka using the DCP connector. However it is also great as an endpoint for digesting data, as it is fast, memory first and reliable storage. In this blog post I will show [&hellip;]<\/p>\n","protected":false},"author":64,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1815,2242,1818],"tags":[],"ppma_author":[8938],"class_list":["post-2160","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-best-practices-and-tutorials","category-connectors","category-java"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Getting started with Kafka and Couchbase as an endpoint<\/title>\n<meta name=\"description\" content=\"Getting started with Apache Kafka and Couchbase. Use Couchbase easily as the target, and use a Kafka consumer to insert data into your Couchbase database.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Getting started with Kafka and Couchbase as an endpoint\" \/>\n<meta property=\"og:description\" content=\"Getting started with Apache Kafka and Couchbase. Use Couchbase easily as the target, and use a Kafka consumer to insert data into your Couchbase database.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-02-08T23:54:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-04-08T14:15:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Roi Katz, Solution Architect, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Roi Katz, Solution Architect, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/getting-started-with-kafka-and-couchbase-as-an-endpoint\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/getting-started-with-kafka-and-couchbase-as-an-endpoint\\\/\"},\"author\":{\"name\":\"Roi Katz, Solution Architect, Couchbase\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/8e452408f0a3793ded90eea9263a264e\"},\"headline\":\"Getting started with Kafka and Couchbase as an endpoint\",\"datePublished\":\"2016-02-08T23:54:03+00:00\",\"dateModified\":\"2019-04-08T14:15:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/getting-started-with-kafka-and-couchbase-as-an-endpoint\\\/\"},\"wordCount\":323,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/getting-started-with-kafka-and-couchbase-as-an-endpoint\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"articleSection\":[\"Best Practices and Tutorials\",\"Connectors\",\"Java\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/getting-started-with-kafka-and-couchbase-as-an-endpoint\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/getting-started-with-kafka-and-couchbase-as-an-endpoint\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/getting-started-with-kafka-and-couchbase-as-an-endpoint\\\/\",\"name\":\"Getting started with Kafka and Couchbase as an endpoint\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/getting-started-with-kafka-and-couchbase-as-an-endpoint\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/getting-started-with-kafka-and-couchbase-as-an-endpoint\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-02-08T23:54:03+00:00\",\"dateModified\":\"2019-04-08T14:15:09+00:00\",\"description\":\"Getting started with Apache Kafka and Couchbase. Use Couchbase easily as the target, and use a Kafka consumer to insert data into your Couchbase database.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/getting-started-with-kafka-and-couchbase-as-an-endpoint\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/getting-started-with-kafka-and-couchbase-as-an-endpoint\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/getting-started-with-kafka-and-couchbase-as-an-endpoint\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/1\\\/2022\\\/11\\\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/getting-started-with-kafka-and-couchbase-as-an-endpoint\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Getting started with Kafka and Couchbase as an endpoint\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/04\\\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/#\\\/schema\\\/person\\\/8e452408f0a3793ded90eea9263a264e\",\"name\":\"Roi Katz, Solution Architect, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a22c6493bc51fd783319cc905789337f163df1de53c7bad6d769c9560be0ba3c?s=96&d=mm&r=g5eb805f4c05de24c77c276f241a51b53\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a22c6493bc51fd783319cc905789337f163df1de53c7bad6d769c9560be0ba3c?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a22c6493bc51fd783319cc905789337f163df1de53c7bad6d769c9560be0ba3c?s=96&d=mm&r=g\",\"caption\":\"Roi Katz, Solution Architect, Couchbase\"},\"description\":\"Roi is a Couchbase Solution Architect, software developer and architect with over 10 years of broad industry experience. He has been a trainer and author of courses with a specialization in Big Data Systems, NoSQL Databases, Couchbase, Distributed Architecture and Cloud Computing.\",\"url\":\"https:\\\/\\\/www.couchbase.com\\\/blog\\\/es\\\/author\\\/roi-katz\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Primeros pasos con Kafka y Couchbase como endpoint","description":"Primeros pasos con Apache Kafka y Couchbase. Utiliza Couchbase f\u00e1cilmente como destino y usa un consumidor de Kafka para insertar datos en tu base de datos de Couchbase.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/","og_locale":"es_MX","og_type":"article","og_title":"Getting started with Kafka and Couchbase as an endpoint","og_description":"Getting started with Apache Kafka and Couchbase. Use Couchbase easily as the target, and use a Kafka consumer to insert data into your Couchbase database.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-02-08T23:54:03+00:00","article_modified_time":"2019-04-08T14:15:09+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"Roi Katz, Solution Architect, Couchbase","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Roi Katz, Solution Architect, Couchbase","Est. reading time":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/"},"author":{"name":"Roi Katz, Solution Architect, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/8e452408f0a3793ded90eea9263a264e"},"headline":"Getting started with Kafka and Couchbase as an endpoint","datePublished":"2016-02-08T23:54:03+00:00","dateModified":"2019-04-08T14:15:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/"},"wordCount":323,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":["Best Practices and Tutorials","Connectors","Java"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/","url":"https:\/\/www.couchbase.com\/blog\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/","name":"Primeros pasos con Kafka y Couchbase como endpoint","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-02-08T23:54:03+00:00","dateModified":"2019-04-08T14:15:09+00:00","description":"Primeros pasos con Apache Kafka y Couchbase. Utiliza Couchbase f\u00e1cilmente como destino y usa un consumidor de Kafka para insertar datos en tu base de datos de Couchbase.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/getting-started-with-kafka-and-couchbase-as-an-endpoint\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Getting started with Kafka and Couchbase as an endpoint"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/8e452408f0a3793ded90eea9263a264e","name":"Roi Katz, Arquitecto de soluciones, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/a22c6493bc51fd783319cc905789337f163df1de53c7bad6d769c9560be0ba3c?s=96&d=mm&r=g5eb805f4c05de24c77c276f241a51b53","url":"https:\/\/secure.gravatar.com\/avatar\/a22c6493bc51fd783319cc905789337f163df1de53c7bad6d769c9560be0ba3c?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a22c6493bc51fd783319cc905789337f163df1de53c7bad6d769c9560be0ba3c?s=96&d=mm&r=g","caption":"Roi Katz, Solution Architect, Couchbase"},"description":"Roi es Couchbase Solution Architect, desarrollador de software y arquitecto con m\u00e1s de 10 a\u00f1os de amplia experiencia en la industria. Ha sido formador y autor de cursos con especializaci\u00f3n en Sistemas Big Data, Bases de Datos NoSQL, Couchbase, Arquitectura Distribuida y Cloud Computing.","url":"https:\/\/www.couchbase.com\/blog\/es\/author\/roi-katz\/"}]}},"acf":[],"authors":[{"term_id":8938,"user_id":64,"is_guest":0,"slug":"roi-katz","display_name":"Roi Katz, Solution Architect, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/a22c6493bc51fd783319cc905789337f163df1de53c7bad6d769c9560be0ba3c?s=96&d=mm&r=g","0":null,"1":"","2":"","3":"","4":"","5":"","6":"","7":"","8":""}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2160","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/64"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=2160"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2160\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=2160"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2160"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2160"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=2160"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}