Gabriel

766 posts

Gabriel banner
Gabriel

Gabriel

@deploydesexta

Software Expert (Staff Eng) at @MercadoLivre and Co-Founder at @ContrataShow. Blogging at https://t.co/FORqqxHOmY

شامل ہوئے Ocak 2021
713 فالونگ649 فالوورز
پن کیا گیا ٹویٹ
Gabriel
Gabriel@deploydesexta·
Galera, ontem dei uma Talk no canal da @devfullcycle sobre “Programação Reativa com WebFlux” na prática e com boa profundidade, pra quem se interessar: youtu.be/7DgcCNn9mA8 cc: @sseraphini
YouTube video
YouTube
Português
0
4
21
0
Gabriel
Gabriel@deploydesexta·
Quando o governo irá começar usar IA e ser mais eficiente? Temos deputados com propostas?
Português
0
1
1
99
Gabriel
Gabriel@deploydesexta·
E quais deputados que irão disputar as eleições esse ano já estão com propostas de reduzir o tamanho dos gabinetes por conta dos ganhos de eficiência com IA? Não faz mais sentido ter até 25 secretários ou teria que fazer o dobro, certo?
Português
0
0
1
59
Gabriel ری ٹویٹ کیا
lucas
lucas@olucasandrad·
CRIEI UM CDC QUE PODE SER ATÉ 240x MAIS RÁPIDO QUE O DEBEZIUM Há uns meses, eu fiz o youjustneedpostgres.com pra argumentar que a maioria dos times poderia usar Postgres pra quase tudo. Pra filas, pra busca, pra documentos. A recomendação era parar de pegar uma ferramenta nova cada vez que aparece um problema novo, porque o Postgres provavelmente já faz isso. E depois passei meses construindo uma ferramenta cujo único propósito é te fazer mergulhar ainda mais fundo no Postgres. É, e a ironia não me passa despercebida. Mas o ponto se mantém, tá? O Postgres consegue fazer mais do que você imagina. O WAL é um registro completo, ordenado e durável de cada transição de estado no seu banco. Quando você começa a usá-lo, vários problemas arquiteturais ficam muito mais simples. E aí eu fiz um CDC, que tá bem embrionário, mas os resultados me impressionaram muito. Apresento a vocês o Kaptanto (kaptan.to), um CDC pra Postgres e MongoDB escrito em Golang, com foco em alto throughput (ainda) não-distribuído de changes de eventos no banco de dados. #bolhadev cc @RealGalego @samsantosb @coproduto
lucas@olucasandrad

x.com/i/article/2046…

Português
0
11
77
5.7K
Gabriel ری ٹویٹ کیا
Amazon Web Services
Amazon Web Services@awscloud·
Announcing Amazon S3 Files. The first and only cloud object store with fully-featured, high-performance file system access. Learn more here. go.aws/4tw17Zg
English
111
830
4.8K
2.4M
Gabriel
Gabriel@deploydesexta·
@DevCritico É isso. Apenas isso! E se não der para fazer assim, no pior cenário, coloca um delay de 5 minutos no consumo da fila rs
Português
0
0
4
201
Dev Crítico 🦀
Dev Crítico 🦀@DevCritico·
IMHO, resumir essa discussão em “fila” ou “imutabilidade/ledger” é errado, existem várias alternativas, e o principal que ninguém fala: >>> Dependem do NEGÓCIO Vocês não podem afirmar que qualquer contexto vai aceitar enxergar uma ocorrência de pedido pendente DEPOIS de finalizado, isso é insanidade total dependendo do business. Esse desenho que o @zanfranceschi compartilhou descreve melhor a situação, é uma solução mais elegante aí, seria simplesmente ter um ID de idempotência: 1. serviço A gera algum ID de idempotência “pending” e persiste (pode ser um UUID) 2. serviço A chama na sequência o serviço B com esse ID 3. serviço B recebe no payload um “external ID” que pra ele pouco importa 4. serviço B processa pedido e publica no tópico 5. serviço A consome do tópico de pedido finalizado que contém o seu próprio ID de idempotência Praticamente o mesmo esforço em tudo…
zanfranceschi@zanfranceschi

Realmente não fui claro sobre parte da integração ser síncrona e por isso houve desentendimentos. Esse desenho mostra melhor o cenário. Obs.: Já tive que resolver esse tipo de race condition mais de uma vez em sistemas altamente concorrentes com literalmente milhões de usuários.

Português
3
2
23
4.2K
thiago otoni
thiago otoni@thiaguinhoouch·
@rponte @deploydesexta vendo a polêmica dos ingressos da F1, como vcs lidariam com esse volume de concorrência por reserva, compra e acesso a recursos(ingressos) pra que funcionasse de uma maneira mais satisfatória para o cliente?
Português
3
0
2
95
Gabriel
Gabriel@deploydesexta·
É bastante simples. Fundamento: Desacoplar a criação do pedido da solicitação externa. Exemplo: Commita o pedido e só aí envia para o serviço B. A forma mais sofisticada de garantir o envio é via Outbox pattern ou um CDC diretão mesmo em uma tabela de pedidos :)
zanfranceschi@zanfranceschi

Como você resolveria essa race condition? Dois pontos importantes: - Ela ocorre muito frequentemente; - Lock pessimista é indesejado nesse contexto.

Português
0
0
0
90
Gabriel
Gabriel@deploydesexta·
@frankjs72 @sseraphini max(numero_conta) não escala. O que eu comentei não é só sobre o dígito. Assinar número da conta e o digito ser um próximo a parte e atômico. O número incremental da conta fazer via redis e ter um single writer consumindo a demanda do Kafka :)
Português
0
0
0
188
franklin.py 🐍
franklin.py 🐍@frankjs72·
@deploydesexta @sseraphini O dígito é automático, o incremento é mais gargalo que o dígito. O incremento depende do estado atual do banco (max(numero_conta)), daí os problemas de concorrência. O dígito depende apenas do número da conta. Dito isso, minha solução seria essa mesma, uma filinha.
Português
1
0
1
227
Sibelius Seraphini
Sibelius Seraphini@sseraphini·
Problema interessante de abertura de conta de uma Fintech para cada conta voce dá um numero a próxima conta teria o numero da conta anterior +1 e mudando o digito verificador como você escala isso ? como voce abre 1 mil contas por segundo ? lock? lock free?
Português
23
5
78
10.5K
Gabriel
Gabriel@deploydesexta·
@camistuiter @poxa_Joao Acho que não temos nenhum material público sobre isso, mas saiba que são mais de 20 mil engenheiros revisando MR de seus colegas, não apenas IA hehe
Português
1
0
2
356
camis
camis@camistuiter·
@deploydesexta @poxa_Joao eu queria saber como funciona a IA q revisa MR no meli 🤧 no evento uns caras comentaram sobre mas depois não achei eles mais fiquei mt curiosa, tem alguma doc/info?
Português
1
0
1
365
camis
camis@camistuiter·
nubank faz 6k de deploys por dia bixo
camis tweet media
Português
144
57
4.1K
1.5M
Gabriel
Gabriel@deploydesexta·
@famara00 @product_gurus Seguramente são releases diários. Desses 6K, imagino que 20% pelo menos deve ser release em produção.
Português
0
0
2
33
Felipe A.
Felipe A.@famara00·
@product_gurus Eles fazem 6k de deploy por dia e provavlemente 1 release por semana… deploy todo mundo faz
Português
1
0
4
531
Gabriel
Gabriel@deploydesexta·
@DevCritico Eu acho esse post bem legal e compactuo com os takeways de que Rust é excelente, mas só vale para pontos muito críticos com requisitos específicos. Os outros 95% dos casos de uso, Golang já bastaria. wxiaoyun.com/blog/rust-rewr…
Português
1
0
1
81
Dev Crítico 🦀
Dev Crítico 🦀@DevCritico·
Muito código vem sendo reescrito em Rust por inúmeros motivos de performance e segurança by design (nem preciso entrar em detalhes), isso por si só já é motivo para incomodar muitas bolhas. Resistência à mudança é natural, mas insistir em não mudar é burrice. Se você não entende o motivacional da adoção do Rust, ou você está ficando pra trás, ou você é negacionista.
Português
7
0
29
3.8K
Gabriel
Gabriel@deploydesexta·
Spec-Driven development: como programar orientado a redação do enem com IA rsrs
Português
0
0
1
154
Grok
Grok@grok·
@deploydesexta Oi! Baseado em dados públicos de interações, a pessoa mais famosa com mais seguidores que visitou seu perfil é Rodrigo Branas, com cerca de 17.700 seguidores.
Português
1
0
0
88
Gabriel
Gabriel@deploydesexta·
oi @grok Quem foi a pessoa mais famosa com mais seguidores que visitou meu perfil? Não precisa ser mútuo. Não marque, apenas diga quem foi.
Português
1
0
0
279