
26 de abr. de 2026 • 4 min
Anotar um método com @Transactional não basta. No modo padrão baseado em proxy, se a chamada não passar pelo proxy do Spring, a transação esperada simplesmente não entra em cena.
Engenharia Backend para Sistemas de Alta Escala
Exploracoes tecnicas, estudos de caso e notas de engenharia.
48 resultado(s)

26 de abr. de 2026 • 4 min
Anotar um método com @Transactional não basta. No modo padrão baseado em proxy, se a chamada não passar pelo proxy do Spring, a transação esperada simplesmente não entra em cena.

24 de abr. de 2026 • 8 min
Ter schema não basta. Schema Registry centraliza contratos, valida compatibilidade antes do deploy e impede que mudanças perigosas quebrem produtores e consumidores em produção.

22 de abr. de 2026 • 5 min
Controller deve cuidar da entrada HTTP e delegar o caso de uso. Quando regra de negócio fica nele, protocolo, validação, persistência e decisão começam a se misturar.

21 de abr. de 2026 • 9 min
JSON e Avro não mudam apenas o formato do payload. Na prática, eles mudam como o contrato é validado, como o schema evolui, como consumers leem mensagens e como o time controla compatibilidade em produção.

19 de abr. de 2026 • 5 min
Usar a mesma classe como DTO e Entity acopla contrato HTTP ao modelo de persistência, expõe detalhes internos e fragiliza a evolução do sistema.

17 de abr. de 2026 • 6 min
Entenda o que BACKWARD, FORWARD e FULL realmente protegem na evolução de schema no Kafka, qual rollout cada modo favorece e por que BACKWARD costuma ser o padrão mais comum.

15 de abr. de 2026 • 5 min
Transformar toda classe intermediária em @Service cria camadas vazias, adiciona desvio na leitura e esconde onde a responsabilidade realmente mora.

13 de abr. de 2026 • 5 min
Evoluir schema com segurança não é evitar mudança. É mudar o contrato de dados de forma compatível, sem exigir deploy coordenado entre produtor e consumidores.

11 de abr. de 2026 • 3 min
Na maioria dos casos, Spring não precisa de @Autowired explícito: constructor injection deixa dependências visíveis e melhora o desenho da classe.

09 de abr. de 2026 • 5 min
Schema define formalmente o formato e o significado de um evento. Em sistemas distribuídos, isso reduz quebra entre produtores e consumidores e permite evoluir payloads com mais segurança.

07 de abr. de 2026 • 2 min
Dependency Injection no Spring significa receber dependências prontas do container, em vez de montar relações manualmente no código.

04 de abr. de 2026 • 4 min
JSON puro parece simples para publicar eventos, mas a ausência de um contrato formal transforma mudanças pequenas de payload em quebras silenciosas, inconsistência de dados e retrabalho entre serviços.

03 de abr. de 2026 • 2 min
Inversão de Controle no Spring significa trocar o controle manual da criação dos objetos pelo gerenciamento do container.

02 de abr. de 2026 • 4 min
Publicar DTOs internos como eventos acopla serviços, fragiliza consumidores e transforma mudanças simples de payload em incidentes difíceis de diagnosticar.

01 de abr. de 2026 • 2 min
Spring não é mágico: ele só gerencia objetos registrados como Bean dentro do contexto da aplicação.

29 de mar. de 2026 • 5 min
O auto commit pode passar a impressão de processamento correto, mas esconder perda lógica de mensagens quando a aplicação falha depois do commit e antes de concluir o trabalho.

15 de mar. de 2026 • 10 min
A versão 4.2.0 do Apache Kafka trouxe share groups prontos para produção, Streams Rebalance Protocol em GA, melhorias de observabilidade, Connect, segurança e pontos importantes de upgrade.

14 de mar. de 2026 • 7 min
A entrada ou saída de consumers em um consumer group pode pausar temporariamente o consumo, elevar lag e piorar latência e throughput em produção.

12 de mar. de 2026 • 5 min
O número de partitions de um tópico define paralelismo, throughput, rebalance e custo operacional. Escolher por achismo cria gargalo cedo ou complexidade demais sem necessidade.

10 de mar. de 2026 • 6 min
No Kafka, a key define a partition, preserva a ordenação por entidade e limita o paralelismo real do consumo. Escolher mal a key custa throughput.

08 de mar. de 2026 • 7 min
Lag alto nem sempre significa problema no cluster. Entenda como uma key mal escolhida ou uma distribuição desigual de eventos pode concentrar carga em uma única partition e limitar o paralelismo do consumo.

05 de mar. de 2026 • 4 min
Quando o lag sobe, a reação mais comum é abrir chamado para o time de infra ou questionar o cluster. Na maioria das vezes, o broker está perfeitamente saudável. No post anterior, vimos por que muitas "mensagens perdidas" são, na verdade, falhas de processamento no consumer. Aqui, vamos para outro sintoma clássico: lag alto.

01 de mar. de 2026 • 2 min
Entenda a diferença entre perda física e perda lógica no Kafka, e como evitar "mensagens perdidas" com commit manual, idempotência e DLT.

27 de fev. de 2026 • 4 min
Entenda, do básico ao avançado, como o Kafka combina replicação, ISR, high watermark, acks e min.insync.replicas para evitar perda de mensagens (e como configurar isso em produção).
21 de fev. de 2019 • 23 min
Introdução Iniciado em 2006, o Liquibase é uma biblioteca que conta com documentação completa e de fácil entendimento, com isso, utilizá-lo não exige uma curva de aprendizado muito...
24 de out. de 2016 • 1 min
Fala pessoal, tudo bem? Passando para compartilhar mais uma publicação minha no blog da MATERA Systems da série de posts sobre configuração do Spring sem XML. Neste post, explico c...
24 de mar. de 2016 • 1 min
Fala pessoal, tudo bem? Estou passando mais uma vez para compartilhar meu ultimo post que foi publicado à alguns dias no blog da MATERA Systems. Seguindo a linha dos meus últimos p...
06 de nov. de 2015 • 2 min
Fala pessoal, tudo bem com vocês? No ultimo Post falei sobre como podemos usar os benefícios da Injeção de Dependências (DI) e Inversão de Controle (IoC) utilizando o Spring Framew...
22 de abr. de 2015 • 2 min
Olá galera, Alguma vez você precisou executar o eclipse em uma máquina que não possuía uma versão do Java SE Development Kit (JDK) instalada? Para complicar a situação, a máquina e...
09 de abr. de 2015 • 4 min
Olá galera, Neste post falarei um pouco sobre o Spring Framework, uma das ferramentas mais fantásticas que conheci durante minha carreira como desenvolvedor de software. As áreas d...
24 de set. de 2013 • 3 min
Olá, Projetinho parado há algum tempo devido a falta de tempo, mais vamos dar sequência para concluir. Pra inicio, criei um JFrame dando o nome de Principal. Como o nome já diz, es...
18 de mai. de 2013 • 2 min
Olá galera, tudo bem? Quem trabalha com Java, Eclipse e Tomcat vai entender bem do que vou falar. Sempre que estamos programando e fazemos alguma alteração em qualquer uma de nossa...
23 de jun. de 2012 • 2 min
Recentemente precisei pesquisar algo sobre o Clean Ajax para um trabalho da pós-graduação e como não encontrei muitos exemplos resolvi disponibilizar o exemplo bem simples que dese...
04 de jun. de 2012 • 2 min
Post rápido, só disponibilizando um exemplo bem simples de calculadora desenvolvida com Javascript.
28 de mar. de 2012 • 6 min
Olá galera, Para este post estarei criando nossas entidades para damos inicio a parte legal do projeto. Bom como disse é sistema vai ser algo bem simples e por se tratar de algo qu...
09 de fev. de 2012 • 1 min
Olá galera, Estou disponibilizando um resumo de artigo que fiz e foi publicado no 10º ENCONTRO DE INICIAÇÃO CIENTÍFICA E 10º FÓRUM DE PESQUISA DA UNIPAR durante meu ultimo ano da f...
05 de fev. de 2012 • 6 min
Boa tarde galera, Para este segundo post estarei disponibilizando 3 arquivos, sendo estes um Interface denominada DAOGENERICO , uma classe que implementa essa interface denominada ...
18 de jan. de 2012 • 3 min
Para este post estarei iniciando um projeto de aplicação desktop utilizando o Netbeans, Hibernate e o Maven. Estarei utilizando neste projeto o padrão de persistência DAO (Data Acc...
04 de jan. de 2012 • 1 min
Bom galera, passando para desejar um ótimo início de ano a todos. O ultimo ano foi meio corrido e com a faculdade no ultimo ano não tive tempo para fazer muitos posts, Bom para est...
21 de out. de 2011 • 10 min
Olá galera, algum tempo sem postar nada devido a correria neste final de ano na faculdade, Artigos e TCC, axo que sabem como é. Bom resolvi deixar aqui pra vocês um post de um Arti...
06 de jul. de 2011 • 7 min
Para este post, estarei falando um pouco sobre Diagrama de Casos de Uso, tendo como exemplo um caso de uso criado para representar uma das funcionalidade do meu projeto do TCC. O d...
24 de mai. de 2011 • 7 min
Neste post estarei falando um pouco sobre as ferramentas e frameworks escolhidos para o desenvolvimento deste trabalho. A princípio, na segunda etapa deste trabalho foi feito o lev...
01 de mai. de 2011 • 4 min
Após obtermos o conhecimento sobre a regra de negocio da empresa e termos todos os requisitos funcionais e não funcionais do sistema, passamos para o estudo de viabilidade. Algumas...
25 de mar. de 2011 • 4 min
Para esta etapa estarei falando um pouco sobre levantamento de requisitos. Após termos passado a primeira etapa do projeto que foi conhecer a regra de negócios bem a fundo entramos...
13 de mar. de 2011 • 4 min
Bom este ano, por seu meu ultimo ano na universidade tem aquele velho trabalho que põe medo e tira o sono de muita gente, o trabalho de conclusão de curso mais conhecido com TCC. R...
19 de fev. de 2011 • 7 min
Neste post, tentarei explicar de uma maneira fácil o que é a orientação a objetos. Basicamente orientação a objetos ou OO é a técnica que tem por finalidade aproximar o mundo real ...
12 de fev. de 2011 • 3 min
Basicamente JavaServer Faces ou simplesmente JSF, é um framework que permite a elaboração de interfaces de usuário web colocando componentes em um formulário e ligando-os a objetos...
12 de fev. de 2011 • 1 min
Este blog evoluiu comigo. Hoje compartilho engenharia backend para alta escala, arquitetura e boas práticas em Java e Kotlin, com foco em microsserviços e nuvem.
Cookies e analytics
Usamos Google Analytics para medir visitas e melhorar o conteudo. Voce pode aceitar ou recusar. Saiba mais.