{"id":3860,"date":"2026-03-29T20:26:00","date_gmt":"2026-03-29T23:26:00","guid":{"rendered":"https:\/\/sanadalabs.com\/?p=3860"},"modified":"2026-04-22T21:41:59","modified_gmt":"2026-04-23T00:41:59","slug":"sincrono-funciona-ate-parar-tudo","status":"publish","type":"post","link":"https:\/\/sanadalabs.com\/en\/sincrono-funciona-ate-parar-tudo\/","title":{"rendered":"S\u00edncrono funciona\u2026 at\u00e9 parar tudo"},"content":{"rendered":"<h1 class=\"wp-block-heading\">S\u00edncrono funciona\u2026 at\u00e9 parar tudo<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Japa Tela Preta #5<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Tem uma fase de todo sistema em que tudo parece simples demais pra dar errado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea desenha um fluxo direto. Uma API recebe a requisi\u00e7\u00e3o, chama outro servi\u00e7o, que chama mais um, que no final devolve a resposta. Tudo s\u00edncrono. Tudo encadeado. Tudo acontecendo ali, na mesma requisi\u00e7\u00e3o. \u00c9 r\u00e1pido, \u00e9 f\u00e1cil de entender e, principalmente, funciona muito bem no come\u00e7o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea testa, sobe, mede o tempo de resposta e fica satisfeito. Tudo fluindo, sem fric\u00e7\u00e3o. Parece at\u00e9 que encontrou o caminho ideal.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E de fato, encontrou\u2026 <em>para aquele momento<\/em>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O problema come\u00e7a quando o sistema sai do laborat\u00f3rio e entra no mundo real. Porque ali, diferente do ambiente controlado, as coisas n\u00e3o se comportam como voc\u00ea espera. Um servi\u00e7o come\u00e7a a demorar um pouco mais. Uma integra\u00e7\u00e3o externa oscila. Uma API de terceiro resolve responder mais lento ou simplesmente n\u00e3o responder.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E \u00e9 a\u00ed que o comportamento muda completamente.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Aquela requisi\u00e7\u00e3o que antes era r\u00e1pida come\u00e7a a ficar presa esperando resposta. Enquanto isso, novas requisi\u00e7\u00f5es continuam chegando. Elas tamb\u00e9m entram na fila, tamb\u00e9m come\u00e7am a esperar. De repente, o que era um pequeno atraso vira ac\u00famulo. O ac\u00famulo vira lentid\u00e3o generalizada. E quando voc\u00ea percebe, o sistema inteiro est\u00e1 engasgando.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e3o porque tudo quebrou.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mas porque <strong>uma parte n\u00e3o respondeu no tempo esperado<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esse \u00e9 o ponto que pega muita gente desprevenida. No modelo s\u00edncrono, tudo est\u00e1 acoplado no tempo. Cada parte depende da outra terminar <em>naquele exato momento<\/em>. Quando uma sofre, o efeito n\u00e3o fica isolado. Ele se propaga. E isso cria o que, na pr\u00e1tica, vira um efeito domin\u00f3.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Uma chamada lenta vira v\u00e1rias. O tempo de resposta cresce em cascata. Recursos come\u00e7am a ser disputados. Threads ficam presas. Conex\u00f5es acumulam. E algo que parecia perfeitamente est\u00e1vel come\u00e7a a colapsar sob press\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 nessa hora que voc\u00ea percebe que o problema n\u00e3o era o c\u00f3digo em si. Era o modelo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E \u00e9 exatamente aqui que sistemas mais maduros come\u00e7am a evoluir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voc\u00ea come\u00e7a a tirar coisas do caminho cr\u00edtico da requisi\u00e7\u00e3o. Introduz processamento ass\u00edncrono. Coloca filas no meio. Cria workers para processar tarefas fora do fluxo principal. Implementa retry de forma controlada. Passa a aceitar que nem tudo precisa acontecer na mesma hora.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">N\u00e3o \u00e9 sobre performance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 sobre <strong>resili\u00eancia<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Porque quando voc\u00ea desacopla o sistema no tempo, voc\u00ea impede que uma falha local vire um problema global. Se uma parte estiver lenta ou indispon\u00edvel, o resto continua funcionando. Talvez com atraso, talvez com degrada\u00e7\u00e3o controlada, mas continua.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E isso muda completamente a forma como o sistema se comporta em produ\u00e7\u00e3o.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">No come\u00e7o, o foco \u00e9 fazer funcionar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Depois, o foco passa a ser garantir que, quando algo inevitavelmente der errado, o impacto seja limitado.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Porque vai dar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sempre d\u00e1.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">E a diferen\u00e7a entre um sistema que aguenta e um que cai n\u00e3o est\u00e1 em evitar falhas. Est\u00e1 em como ele reage quando elas acontecem.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u00c9 nesse momento que voc\u00ea deixa de pensar s\u00f3 em fluxo\u2026<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">e come\u00e7a a pensar em sobreviv\u00eancia.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>S\u00edncrono funciona\u2026 at\u00e9 parar tudo Japa Tela Preta #5 Tem uma fase de todo sistema em que tudo parece simples demais pra dar errado. Voc\u00ea desenha um fluxo direto. Uma API recebe a requisi\u00e7\u00e3o, chama outro servi\u00e7o, que chama mais um, que no final devolve a resposta. Tudo s\u00edncrono. Tudo encadeado. Tudo acontecendo ali, na [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":3871,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35,34],"tags":[39,41,42,36,40,37,38,43],"class_list":["post-3860","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-japa-tela-preta","category-tecnologia","tag-arquiteturadesoftware","tag-desenvolvimentodesoftware","tag-engenhariadesoftware","tag-japatelapreta","tag-programacao","tag-softwareengineering","tag-systemdesign","tag-techlead"],"_links":{"self":[{"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/posts\/3860","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/comments?post=3860"}],"version-history":[{"count":2,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/posts\/3860\/revisions"}],"predecessor-version":[{"id":3877,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/posts\/3860\/revisions\/3877"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/media\/3871"}],"wp:attachment":[{"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/media?parent=3860"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/categories?post=3860"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sanadalabs.com\/en\/wp-json\/wp\/v2\/tags?post=3860"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}