Recentemente, uma feroz batalha ofensiva e defensiva tem ocorrido silenciosamente no mundo online.
O protagonista não é a Agência de Segurança Nacional ou uma organização hacker, mas uma empresa iniciante pouco conhecida – TablePlus .
Os invasores DDoS estão ansiosos para tentar. Eles surgiram de todas as direções, prometendo sobrecarregar os servidores do TablePlus com centenas de milhões de solicitações. Especialmente o tráfego proveniente da Alemanha e do Reino Unido é como uma inundação torrencial, que se espalha por milhares de quilómetros. Em apenas cinco dias, eles iniciaram mais de 80 milhões de solicitações de download na tentativa de esgotar a largura de banda e os recursos computacionais do TablePlus.
Diante dessa invasão massiva, o que os amigos do TablePlus deveriam fazer? Eles entrarão em pânico e pedirão ajuda à Cloudflare? Eles estarão ocupados bloqueando IPs e desligando serviços?
A resposta acabou sendo: não fazer nada, comer e beber quando necessário , como se nada de importante tivesse acontecido. Se a CPU não tivesse saltado ocasionalmente de 0% para 1%, o servidor teria suspeitado que sofria de “distúrbio dissociativo de identidade”. Os servidores do TablePlus são todos experientes e não levam a sério esse assunto trivial.
De onde esses caras ousados tiram sua confiança?
Essa tranquilidade vem da escolha exclusiva da TablePlus em design arquitetônico – um único aplicativo. Diferente da arquitetura de microsserviços atualmente popular, o TablePlus opta por concentrar todas as funções em um único serviço, incluindo API, front-end do site, pagamento, etc. Embora esta arquitetura “unificada” pareça simples, ela apresenta vantagens que não podem ser subestimadas.
Outros se preocupam com microsserviços, contêineres e orquestração, mas o TablePlus só precisa de um arquivo binário e está pronto para uso.
Para maximizar o desempenho de um único aplicativo, a TablePlus se esforçou muito na seleção da tecnologia. Eles escolheram Golang e Rust, duas linguagens de alto desempenho, como suas principais ferramentas de desenvolvimento . Com os excelentes recursos de processamento simultâneo e mecanismos de gerenciamento de memória dessas duas linguagens, um único serviço TablePlus pode lidar facilmente com bilhões de solicitações.
Mas não basta ter uma linguagem excelente. A TablePlus também busca a excelência em todos os aspectos da engenharia de software, buscando maximizar o desempenho de serviços únicos.
Eles indexarão os principais bancos de dados para melhorar a eficiência das consultas;
Armazenamento separado do banco de dados principal e de dados não essenciais (como logs) para garantir que os negócios principais não sejam afetados;
Use o Nginx como proxy reverso para agendar e distribuir solicitações com flexibilidade;
Melhore ainda mais o desempenho e a segurança com recursos como CDN e SSL fornecidos pela Cloudflare.
Serviços únicos cuidadosamente elaborados, juntamente com um ambiente de implantação otimizado, proporcionam ao TablePlus uma arquitetura simples e eficiente. Em cenários de alta simultaneidade, essa arquitetura apresenta desempenho incrível, mesmo diante de ataques DDoS.
Claro, não importa quão boas sejam suas habilidades, você ainda tem medo de facas de cozinha . Não importa quão bom seja o serviço, você ainda precisa descobrir como usá-lo. Quando se trata de implantação, o TablePlus também busca simplicidade e eficiência. Eles aproveitam ao máximo os recursos do Golang e do Rust, compilam o serviço em um único arquivo binário e, em seguida, executam-no diretamente no servidor Linux. Este método de implantação "livre de dependências" não apenas simplifica o trabalho de operação e manutenção, mas também maximiza o desempenho do servidor.
Os engenheiros do TablePlus também usam o Systemctl do Linux para gerenciar processos de serviço e implementar funções como reinicialização automática e monitoramento, melhorando ainda mais a confiabilidade do sistema. Comparada com a arquitetura complexa de centenas de microsserviços, a implantação do TablePlus é extremamente simples.
Dessa forma, o TablePlus elevou o desempenho e a eficiência do sistema a um novo nível com sua arquitetura de aplicativo único cuidadosamente projetada e implantação minimalista. Diante dos ataques DDoS, eles responderam com calma, demonstrando o poder do projeto arquitetônico.
Contêineres, VMs e orquestração são apenas truques sofisticados na frente do TablePlus e não valem a pena mencionar.
Com o aplicativo Zhenjing Protector de peça única, o TablePlus permanece calmo diante de ataques DDoS. Centenas de milhões de solicitações estão chegando, e os serviços do sistema podem resistir a isso; não importa quão intenso seja o tráfego, o Cloudflare pode resistir, mesmo que os ataques aumentem, a arquitetura monolítica ainda permanece;
Esta história nos diz que tudo tem seus dois lados. Um único aplicativo pode parecer simples, mas também pode mostrar seu poder em determinados cenários . O segredo é se adaptar às condições locais de acordo com as características do seu negócio, explorar seus pontos fortes e evitar pontos fracos, assim como o TablePlus, conhecer a si mesmo e ao inimigo, e nunca estará em perigo.
Nesta era de “agilidade” e “flexibilidade”, o “ir sozinho à reunião” da TablePlus é sem dúvida um pouco trágico. Mas eles usam suas ações reais para dizer ao mundo: faça um bom trabalho em arquitetura, independentemente de ser uma entidade única ou microsserviços, enfatizar o desempenho, e todo o resto é apenas uma nuvem ;
Esta história também nos lembra que a tecnologia nunca é preto e branco. A avaliação da qualidade de uma tecnologia não pode ser separada dos cenários de aplicação específicos . O que combina com você é o melhor. Somente mantendo uma mente aberta e inovadora e abraçando as mudanças poderemos encontrar a nossa própria posição na onda tecnológica em constante mudança.
Os microsserviços certamente estão na moda, mas os aplicativos monolíticos também têm suas próprias razões para existir. A chave é encontrar o posicionamento correto, usar os pontos fortes e evitar os pontos fracos e maximizar as vantagens.
Assim como o TablePlus, enquanto outros ainda buscam a moda, eles atingiram silenciosamente o pico de desempenho. Vale a pena pensar e aprender esse tipo de coragem e sabedoria de “ir contra a tendência” para cada um de nós.
Linus assumiu a responsabilidade de evitar que os desenvolvedores do kernel substituíssem tabulações por espaços. Seu pai é um dos poucos líderes que sabe escrever código, seu segundo filho é o diretor do departamento de tecnologia de código aberto e seu filho mais novo é um núcleo de código aberto. contribuidor Robin Li: A linguagem natural se tornará uma nova linguagem de programação universal. O modelo de código aberto ficará cada vez mais atrás da Huawei: levará 1 ano para migrar totalmente 5.000 aplicativos móveis comumente usados para Hongmeng. vulnerabilidades de terceiros. O editor de rich text Quill 2.0 foi lançado com recursos, confiabilidade e desenvolvedores. A experiência foi bastante melhorada. fonte de Laoxiangji não é o código, as razões por trás disso são muito comoventes. O Google anunciou uma reestruturação em grande escala.