{"id":5496,"date":"2018-07-16T10:55:47","date_gmt":"2018-07-16T17:55:47","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=5496"},"modified":"2023-06-13T01:28:16","modified_gmt":"2023-06-13T08:28:16","slug":"rollback-mitigation-kafka-connector-3-4-beta","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/rollback-mitigation-kafka-connector-3-4-beta\/","title":{"rendered":"Mitiga\u00e7\u00e3o de revers\u00e3o no Kafka Connector 3.4 Beta"},"content":{"rendered":"<p>Da \u00faltima vez, falamos sobre o suporte do conector Kafka do Couchbase para <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/compression-and-ipv6-in-kafka-connector-3-3\/\">compress\u00e3o e IPv6<\/a>. Desde ent\u00e3o, aprimoramos o conector de coletor com suporte para definir valores de tempo de vida para documentos recebidos e adicionamos a capacidade de atribuir IDs de documentos compostos de v\u00e1rios campos do documento.<\/p>\n<p>Recentemente, temos nos concentrado em garantir que o conector Kafka seja o mais tolerante poss\u00edvel a falhas. Hoje, gostaria de apresentar a vers\u00e3o beta 3.4 do conector Kafka e falar sobre uma grande melhoria na forma como as revers\u00f5es s\u00e3o tratadas ap\u00f3s um failover. Nosso objetivo ao lan\u00e7ar uma vers\u00e3o beta \u00e9 colocar esse recurso em suas m\u00e3os o mais r\u00e1pido poss\u00edvel para que possamos incorporar seu feedback \u00e0 vers\u00e3o final.<\/p>\n<h3>Um pessimista \u00e9 um realista que mant\u00e9m um sistema distribu\u00eddo<\/h3>\n<p>O hardware falha o tempo todo. Neste exato momento, em algum lugar do mundo, um controlador de E\/S queimado est\u00e1 enviando sinais de fuma\u00e7a. Os n\u00f3s do Couchbase podem falhar e de fato falham, mas um dos melhores motivos para criar seu aplicativo no Couchbase \u00e9 que, quando ocorre a inevit\u00e1vel falha de hardware, a recupera\u00e7\u00e3o \u00e9 muito f\u00e1cil.<\/p>\n<p>Cada bucket do Couchbase \u00e9 particionado em v\u00e1rios \"buckets virtuais\", e cada parti\u00e7\u00e3o \u00e9 replicada entre os n\u00f3s do cluster. Em um determinado momento, uma das c\u00f3pias est\u00e1 \"ativa\", ou seja, \u00e9 com ela que os clientes se comunicam. (Um cliente tamb\u00e9m pode ler de uma r\u00e9plica, mas voc\u00ea precisa se esfor\u00e7ar para fazer isso). Voc\u00ea pode pensar em uma r\u00e9plica como um backup em tempo real de uma inst\u00e2ncia ativa.<\/p>\n<p>Ent\u00e3o, o que acontece quando esse sinal de fuma\u00e7a vem de um n\u00f3 em um cluster do Couchbase? Em algum momento, voc\u00ea desejar\u00e1 fazer o fail over do n\u00f3 com falha (removendo-o do cluster) e reequilibrar (reatribuindo as tarefas do n\u00f3 com falha aos n\u00f3s restantes). Para cada parti\u00e7\u00e3o que estava ativa no n\u00f3 com falha, uma das r\u00e9plicas \u00e9 promovida ao status \"ativo\". Os n\u00f3s restantes tamb\u00e9m assumem a folga e come\u00e7am a hospedar r\u00e9plicas adicionais para substituir as que estavam no n\u00f3 com falha.<\/p>\n<p>Dependendo das necessidades de sua implementa\u00e7\u00e3o, todo o processo de failover e rebalanceamento pode ser iniciado por uma pessoa que aperta um bot\u00e3o ou por um algoritmo de detec\u00e7\u00e3o autom\u00e1tica de falhas. Muito legal, n\u00e3o \u00e9?<\/p>\n<p>Agora que o cen\u00e1rio est\u00e1 pronto, vamos considerar uma quest\u00e3o importante: o que acontece quando uma r\u00e9plica n\u00e3o est\u00e1 completamente atualizada quando a inst\u00e2ncia ativa falha?<\/p>\n<p>A resposta (que espero que n\u00e3o surpreenda ningu\u00e9m) \u00e9 que todas as altera\u00e7\u00f5es que ainda n\u00e3o foram salvas na r\u00e9plica s\u00e3o perdidas. Em termos de fic\u00e7\u00e3o cient\u00edfica, essas altera\u00e7\u00f5es estavam em uma linha do tempo alternativa que deixou de existir. Elas foram \"revertidas\".<\/p>\n<h3>N\u00e3o estou tentando causar uma grande sensa\u00e7\u00e3o \/ S\u00f3 estou falando sobre a mitiga\u00e7\u00e3o da revers\u00e3o<\/h3>\n<p>O que tudo isso tem a ver com o conector Kafka? O conector usa o protocolo de altera\u00e7\u00e3o de banco de dados (DCP) para receber notifica\u00e7\u00f5es de altera\u00e7\u00e3o. A implementa\u00e7\u00e3o do protocolo DCP foi criada para ser r\u00e1pida e anuncia as altera\u00e7\u00f5es antes mesmo de serem gravadas no disco. Para compensar esse otimismo, o protocolo tamb\u00e9m inclui um mecanismo de revers\u00e3o que efetivamente diz: \"Desculpe, falei cedo demais. Sabe aquelas \u00faltimas altera\u00e7\u00f5es de que falei? Bem, elas n\u00e3o aconteceram de fato\". Isso funciona muito bem no Couchbase Server, onde estamos cientes desses detalhes de particionamento e podemos nos adaptar \u00e0s novas realidades \u00e0 medida que elas acontecem. \u00c9 exatamente o que fazemos com a replica\u00e7\u00e3o, atualiza\u00e7\u00f5es de texto completo, atualiza\u00e7\u00f5es de \u00edndice etc.<\/p>\n<p>As vers\u00f5es anteriores do conector Kafka publicavam eventos no t\u00f3pico do Kafka imediatamente. Assim que o servidor DCP anunciava uma altera\u00e7\u00e3o, essa altera\u00e7\u00e3o era publicada no t\u00f3pico. Quando ocorria uma revers\u00e3o, n\u00e3o havia muito o que fazer a respeito; as mensagens do Kafka n\u00e3o podem ser retiradas depois de publicadas, pois os t\u00f3picos s\u00e3o apenas anexados. Os consumidores receberiam mensagens irreais daquela linha do tempo alternativa de que falamos.<\/p>\n<p>Dependendo do seu aplicativo, as mensagens de salto de dimens\u00e3o podem ser inofensivas ou podem causar p\u00e2nico. Se voc\u00ea preferir que seus t\u00f3picos do Kafka contenham apenas altera\u00e7\u00f5es reais, persistentes e replicadas no banco de dados, prepare-se para boas not\u00edcias.<\/p>\n<h3>Detalhes para os desorientados<\/h3>\n<p>J\u00e1 chega de acumula\u00e7\u00e3o. Vamos falar sobre o que est\u00e1 na vers\u00e3o beta e como funciona a atenua\u00e7\u00e3o da revers\u00e3o.<\/p>\n<p>Quando a atenua\u00e7\u00e3o da revers\u00e3o estiver ativada (o que ocorre por padr\u00e3o), o conector verificar\u00e1 automaticamente o Couchbase Server para descobrir quais altera\u00e7\u00f5es foram realmente persistidas no disco. O conector armazenar\u00e1 as altera\u00e7\u00f5es em buffer at\u00e9 que a persist\u00eancia seja observada em todas as r\u00e9plicas. Nesse ponto, \u00e9 muito improv\u00e1vel que as altera\u00e7\u00f5es sejam revertidas (embora isso ainda seja poss\u00edvel em alguns cen\u00e1rios que envolvem v\u00e1rias falhas). Ent\u00e3o, e somente ent\u00e3o, o conector publica mensagens no t\u00f3pico do Kafka.<\/p>\n<p>Naturalmente, h\u00e1 alguma lat\u00eancia e um pouco de sobrecarga com esse esquema. Se voc\u00ea quiser voltar ao comportamento antigo de publicar altera\u00e7\u00f5es imediatamente, a atenua\u00e7\u00e3o da revers\u00e3o pode ser facilmente desativada; consulte a documenta\u00e7\u00e3o para obter detalhes.<\/p>\n<h3>Siga o fluxo<\/h3>\n<p>O controle de fluxo \u00e9 uma t\u00e9cnica para evitar que os produtores ultrapassem os consumidores. No nosso caso, o conector Kafka envia mensagens de confirma\u00e7\u00e3o ao servidor DCP para informar a quantidade de dados que foi processada. O servidor pausa o fluxo quando a quantidade de dados n\u00e3o reconhecidos excede um limite chamado de \"tamanho do buffer de controle de fluxo\".<\/p>\n<p>Como a atenua\u00e7\u00e3o da revers\u00e3o envolve o armazenamento em buffer de um n\u00famero potencialmente grande de mensagens, \u00e9 importante que o tamanho do buffer de controle de fluxo seja ajust\u00e1vel.<\/p>\n<p>As vers\u00f5es anteriores do conector usavam um tamanho de buffer codificado de 20 megabytes. O novo padr\u00e3o \u00e9 128 megabytes, o que permite um armazenamento em buffer mais agressivo. Sinta-se \u00e0 vontade para ajustar esse valor para ver o que funciona melhor para sua carga de trabalho. Se quiser aumentar muito o tamanho, voc\u00ea pode alocar mais mem\u00f3ria para o conector usando a op\u00e7\u00e3o <code>KAFKA_HEAP_OPTS<\/code> vari\u00e1vel de ambiente.<\/p>\n<h3>Todos os fluxos bons devem chegar a um EOF<\/h3>\n<p>Esperamos que voc\u00ea experimente a vers\u00e3o beta 3.4 com mitiga\u00e7\u00e3o de revers\u00e3o. Fa\u00e7a o download no link na parte superior da se\u00e7\u00e3o <a href=\"https:\/\/developer.couchbase.com\/documentation\/server\/current\/connectors\/kafka\/quickstart.html\">Guia de in\u00edcio r\u00e1pido<\/a>. Por favor, poste suas impress\u00f5es no <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/forums\/c\/Kafka-Connector\/\">F\u00f3rum do Couchbase<\/a> e faremos o poss\u00edvel para incorporar seus coment\u00e1rios na vers\u00e3o final. Obrigado e at\u00e9 a pr\u00f3xima!<\/p>","protected":false},"excerpt":{"rendered":"<p>Last time, we talked about the Couchbase Kafka connector\u2019s support for compression and IPv6. Since then we&#8217;ve enhanced the sink connector with support for setting time-to-live values for incoming documents, and added the ability to assign document IDs composed of [&hellip;]<\/p>","protected":false},"author":14341,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[2242],"tags":[1343,1295,1487],"ppma_author":[9070],"class_list":["post-5496","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-connectors","tag-beta","tag-connectors","tag-kafka"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.1 (Yoast SEO v26.1.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Rollback Mitigation in Kafka Connector 3.4 Beta - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"In which we introduce beta version 3.4 of the Kafka connector and talk about a major improvement to how rollbacks are handled after a failover.\" \/>\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\/pt\/rollback-mitigation-kafka-connector-3-4-beta\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rollback Mitigation in Kafka Connector 3.4 Beta\" \/>\n<meta property=\"og:description\" content=\"In which we introduce beta version 3.4 of the Kafka connector and talk about a major improvement to how rollbacks are handled after a failover.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/rollback-mitigation-kafka-connector-3-4-beta\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:author\" content=\"https:\/\/duckduckgo.com\/?q=delete+facebook\" \/>\n<meta property=\"article:published_time\" content=\"2018-07-16T17:55:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-13T08:28:16+00:00\" \/>\n<meta name=\"author\" content=\"David Nault\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@orzobat\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"David Nault\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/\"},\"author\":{\"name\":\"David Nault\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/ec7e18bcee3337b77367560e6aeb75ef\"},\"headline\":\"Rollback Mitigation in Kafka Connector 3.4 Beta\",\"datePublished\":\"2018-07-16T17:55:47+00:00\",\"dateModified\":\"2023-06-13T08:28:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/\"},\"wordCount\":1013,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"beta\",\"connectors\",\"kafka\"],\"articleSection\":[\"Connectors\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/\",\"name\":\"Rollback Mitigation in Kafka Connector 3.4 Beta - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2018-07-16T17:55:47+00:00\",\"dateModified\":\"2023-06-13T08:28:16+00:00\",\"description\":\"In which we introduce beta version 3.4 of the Kafka connector and talk about a major improvement to how rollbacks are handled after a failover.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#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\/rollback-mitigation-kafka-connector-3-4-beta\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Rollback Mitigation in Kafka Connector 3.4 Beta\"}]},{\"@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\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@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\/ec7e18bcee3337b77367560e6aeb75ef\",\"name\":\"David Nault\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/fbceda752a7ba278f83b24641d607212\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9be1cd3e3c55df4d11b191172d382965de29da3a98d341167b33a8ad00546057?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9be1cd3e3c55df4d11b191172d382965de29da3a98d341167b33a8ad00546057?s=96&d=mm&r=g\",\"caption\":\"David Nault\"},\"description\":\"David Nault is a Database Connector Developer for Couchbase. He spent the greater part of two decades writing back end web services in Java, and thinks JSON-RPC is really cool. He lives in California.\",\"sameAs\":[\"https:\/\/github.com\/dnault\",\"https:\/\/duckduckgo.com\/?q=delete+facebook\",\"https:\/\/x.com\/orzobat\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/dnault\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Rollback Mitigation in Kafka Connector 3.4 Beta - The Couchbase Blog","description":"Nele, apresentamos a vers\u00e3o beta 3.4 do conector Kafka e falamos sobre um grande aprimoramento na forma como as revers\u00f5es s\u00e3o tratadas ap\u00f3s um failover.","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\/pt\/rollback-mitigation-kafka-connector-3-4-beta\/","og_locale":"pt_BR","og_type":"article","og_title":"Rollback Mitigation in Kafka Connector 3.4 Beta","og_description":"In which we introduce beta version 3.4 of the Kafka connector and talk about a major improvement to how rollbacks are handled after a failover.","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/rollback-mitigation-kafka-connector-3-4-beta\/","og_site_name":"The Couchbase Blog","article_author":"https:\/\/duckduckgo.com\/?q=delete+facebook","article_published_time":"2018-07-16T17:55:47+00:00","article_modified_time":"2023-06-13T08:28:16+00:00","author":"David Nault","twitter_card":"summary_large_image","twitter_creator":"@orzobat","twitter_misc":{"Written by":"David Nault","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/"},"author":{"name":"David Nault","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/ec7e18bcee3337b77367560e6aeb75ef"},"headline":"Rollback Mitigation in Kafka Connector 3.4 Beta","datePublished":"2018-07-16T17:55:47+00:00","dateModified":"2023-06-13T08:28:16+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/"},"wordCount":1013,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["beta","connectors","kafka"],"articleSection":["Connectors"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/","url":"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/","name":"Rollback Mitigation in Kafka Connector 3.4 Beta - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2018-07-16T17:55:47+00:00","dateModified":"2023-06-13T08:28:16+00:00","description":"Nele, apresentamos a vers\u00e3o beta 3.4 do conector Kafka e falamos sobre um grande aprimoramento na forma como as revers\u00f5es s\u00e3o tratadas ap\u00f3s um failover.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/rollback-mitigation-kafka-connector-3-4-beta\/#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\/rollback-mitigation-kafka-connector-3-4-beta\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Rollback Mitigation in Kafka Connector 3.4 Beta"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados 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":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@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\/ec7e18bcee3337b77367560e6aeb75ef","name":"David Nault","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/fbceda752a7ba278f83b24641d607212","url":"https:\/\/secure.gravatar.com\/avatar\/9be1cd3e3c55df4d11b191172d382965de29da3a98d341167b33a8ad00546057?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9be1cd3e3c55df4d11b191172d382965de29da3a98d341167b33a8ad00546057?s=96&d=mm&r=g","caption":"David Nault"},"description":"David Nault \u00e9 desenvolvedor de conectores de banco de dados da Couchbase. Ele passou a maior parte de duas d\u00e9cadas escrevendo servi\u00e7os da Web de back-end em Java e acha que JSON-RPC \u00e9 muito legal. Ele mora na Calif\u00f3rnia.","sameAs":["https:\/\/github.com\/dnault","https:\/\/duckduckgo.com\/?q=delete+facebook","https:\/\/x.com\/orzobat"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/dnault\/"}]}},"authors":[{"term_id":9070,"user_id":14341,"is_guest":0,"slug":"dnault","display_name":"David Nault","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/9be1cd3e3c55df4d11b191172d382965de29da3a98d341167b33a8ad00546057?s=96&d=mm&r=g","author_category":"","last_name":"Nault","first_name":"David","job_title":"","user_url":"https:\/\/github.com\/dnault","description":"David Nault escreve c\u00f3digo no Couchbase, onde trabalha na equipe de SDK e conectores."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/5496","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/14341"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=5496"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/5496\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=5496"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=5496"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=5496"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=5496"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}