Image for post
Image for post

No último post vimos como lidar com Autenticação e Autorização no Kafka e como deixar nossos dados seguros. Também falamos que o Kafka é conhecido pela sua ótima performance e disponibilidade.

É importante entender conceitos e nomenclaturas que o Kafka introduz como partitions e replication, para aprender como configurá-lo, e assim garantir boa performance e resiliência para sua aplicação.

Partitions (Partições)

Muitas vezes quando pensamos em performance e escalabilidade, pensamos também em paralelismo. As partições nos permitem obter esse paralelismo tanto para consumir quanto para produzir mensagens.

Tópicos e partições estão fortemente ligados dado que um tópico pode ter N partições. …


In software development, people often talk about rollout plans. Here at Creditas, in the squad I work in, we created tools to facilitate the day-to-day of our crewmembers, and we very much believe in the phased rollout or feature rollout of a new feature or application.

Image for post
Image for post

But how does it work?

The easiest way to answer this question: it depends. It can be done in many ways. You can rollout a complete solution for a small number of users, or you can go about launching small modules every so often in order to collect feedback.

I’d start by focusing on the following:

Users

One of our primary concerns are our users. At the end of the day, they’re the ones who transform our features into solutions. They’re also the ones who will need to adapt to the changes that the solution brings about. They need to understand the real reasons and benefits driving that solution, so that they won’t become intolerant or frustrated. …


Image for post
Image for post

No primeiro post, vimos alguns conceitos básicos do Kafka e como utilizá-lo na prática para produzir e consumir mensagens.

Foi dito também que o Kafka é muito conhecido pela sua performance — afinal, milhões e milhões de mensagens podem ser trafegadas por ele.

Dado que diversas mensagens serão produzidas e consumidas, é muito importante que esse tráfego de dados seja seguro e confiável. Por esse motivo, neste artigo falaremos sobre a questão da autenticação e autorização para consumo e produção dessas mensagens.

Criptografia

Por padrão uma mensagem ao ser trafegada pela rede está em PLAINTEXT.

Isso quer dizer que se alguém interceptar a mensagem no meio do caminho terá acesso a todos os dados da mensagem. …


Image for post
Image for post

Criado pelo Linkedin em 2011, o Apache Kafka é uma plataforma de streaming distribuída mundialmente conhecida por sua performance e escalabilidade. Atualmente, tem sido utilizado por grandes empresas como Netflix, Spotify, Uber e Twitter.

A página oficial da plataforma descreve três recursos principais:

  • Publique e assine fluxos de registros, semelhantes a uma fila de mensagens ou sistema de mensagens corporativo;
  • Armazene fluxos de registros de maneira durável e tolerante a falhas;
  • Processe fluxos de registros conforme eles ocorrem;

Resumidamente o Kafka te permite:

Produzir mensagens, armazená-las e consumi-las conforme ocorrem.

Como ele faz tudo isso?

Vamos definir brevemente alguns termos que são constantemente utilizados quando falamos de…


Em desenvolvimento de software muito se fala em rollout plan, que é basicamente montar um plano de lançamento. Aqui na Creditas, no squad onde trabalho, criamos ferramentas para ajudar o dia a dia dos nossos tripulantes, por isso acreditamos muito no phased rollout ou feature rollout que é o lançamento faseado da nova feature ou aplicação.

Image for post
Image for post

Mas como funciona?

A resposta mais fácil para essa pergunta é: depende. Pode ser feito de várias maneiras. Você pode lançar a solução completa para um pequeno grupo de usuários ou até mesmo ir lançando pequenos módulos em tempos espaçados para ir coletando feedbacks.

Eu começaria pensando nos seguintes…

About

Nícolas Zein

Software Engineer at @CreditasBR

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store