Uma API responder a uma chamada não significa que sabemos como ela se comporta ao longo do dia. Quantas requisições chegaram?
Ver resumo completo
Uma API responder a uma chamada não significa que sabemos como ela se comporta ao longo do dia. Quantas requisições chegaram? Qual rota ficou lenta? O aumento de tráfego trouxe mais erros? Para responder, precisamos medir o funcionamento da aplicação e observar essas medidas ao longo do tempo, sem depender apenas de alguém perceber que o sistema está demorando.
Neste tutorial vamos construir um laboratório local com o Horse, meu middleware horse-prometheus, o coletor Prometheus e o Grafana. O objetivo é chegar a um painel compreensível, passando por verificações intermediárias. Não basta copiar uma consulta e encontrar um gráfico: precisamos entender de onde o número veio e o que ele permite concluir.
O cenário principal é Windows com uma aplicação console Delphi e Docker Desktop executando contêineres Linux. Os arquivos usam Prometheus 3.5.0 e Grafana 12.2.0, versões fixadas para evitar mudanças silenciosas. O exemplo compilou no Delphi 10 Seattle com Horse 3.3.10 e middleware 1.0.1, e a coleta e os quatro gráficos foram conferidos no laboratório. Não é um ensaio de desempenho nem configuração de produção; outras plataformas não foram testadas.
Quem desenvolve APIs de alta performance no ecossistema Delphi e Lazarus conhece bem o Horse. Ele se consolidou como o framework web mais querido e utilizado devido à sua filosofia minimalista, velocidade e consumo irrisório de recursos.
Ver resumo completo
Quem desenvolve APIs de alta performance no ecossistema Delphi e Lazarus conhece bem o Horse. Ele se consolidou como o framework web mais querido e utilizado devido à sua filosofia minimalista, velocidade e consumo irrisório de recursos.
No entanto, à medida que a web evolui, novos desafios surgem. Até então, para enviar qualquer resposta HTTP, o Horse dependia de carregar todo o payload de dados na memória do servidor para depois escrevê-lo fisicamente no socket do cliente. Para grandes relatórios JSON, exportações em lote ou transmissões de dados em tempo real, isso gerava picos de consumo de memória física (heap) sob alta concorrência.
Com a chegada das arquiteturas modernas de Inteligência Artificial Generativa (onde o modelo responde palavra por palavra via tokens) e dashboards de monitoramento contínuo, a transmissão incremental de dados tornou-se mandatória. É com muito orgulho que anunciamos o suporte nativo a Web Streams e Server-Sent Events (SSE) no Horse!
O ecossistema Horse continua se consolidando como a escolha número um para desenvolvedores Delphi e Lazarus que buscam velocidade, leveza e simplicidade na criação de APIs REST. Mas, à medida que nossas aplicações crescem, precisamos de ferramentas profissionais para lidar com segurança, arquivos e validação.
Ver resumo completo
O ecossistema Horse continua se consolidando como a escolha número um para desenvolvedores Delphi e Lazarus que buscam velocidade, leveza e simplicidade na criação de APIs REST. Mas, à medida que nossas aplicações crescem, precisamos de ferramentas profissionais para lidar com segurança, arquivos e validação.
Hoje, trago para vocês um review completo de três novos middlewares essenciais que finalizei hoje, focados em deixar suas APIs Delphi/Lazarus blindadas, prontas para upload de arquivos e com validações de dados dinâmicas. Vamos conhecer cada um deles!
Quem desenvolve APIs robustas e de alta performance no Delphi utilizando o framework Horse sabe que a velocidade e a simplicidade sempre foram os pilares do projeto. No entanto, à medida que os sistemas crescem e migram para arquiteturas de microsserviços baseadas em contêineres e Kubernetes, duas necessidades tornam-se críticas: observabilidade em tempo real (APM) e a capacidade…
Ver resumo completo
Quem desenvolve APIs robustas e de alta performance no Delphi utilizando o framework Horse sabe que a velocidade e a simplicidade sempre foram os pilares do projeto. No entanto, à medida que os sistemas crescem e migram para arquiteturas de microsserviços baseadas em contêineres e Kubernetes, duas necessidades tornam-se críticas: observabilidade em tempo real (APM) e a capacidade de rodar múltiplos servidores isolados no mesmo processo (Multi-Instance) de forma segura.
Neste artigo, vamos explorar a nova feature do ecossistema do Horse: a introdução de Lifecycle Hooks do Servidor, Hooks Nativos de Telemetria e o suporte completo a Lifecycle de Múltiplas Instâncias Isoladas.
No desenvolvimento de APIs modernas, a comunicação tradicional baseada em ciclos de requisição e resposta (HTTP tradicional) nem sempre é suficiente. Quando precisamos de atualizações em tempo real com baixíssima latência — como em painéis financeiros, sistemas de chat, telemetria de frotas ou dashboards de monitoramento — os WebSockets se tornam indispensáveis.
Ver resumo completo
No desenvolvimento de APIs modernas, a comunicação tradicional baseada em ciclos de requisição e resposta (HTTP tradicional) nem sempre é suficiente. Quando precisamos de atualizações em tempo real com baixíssima latência — como em painéis financeiros, sistemas de chat, telemetria de frotas ou dashboards de monitoramento — os WebSockets se tornam indispensáveis.
Com orgulho, apresentamos a nova especificação e suporte nativo a conexões bidirecionais baseadas no protocolo RFC 6455 (WebSockets) no núcleo e provedores do framework Horse. O suporte foi desenvolvido com foco em alta performance, thread-safety, concorrência e total compatibilidade com Delphi e Lazarus/FPC.
Quem desenvolve APIs em Delphi utilizando o framework Horse sabe o quanto ele é leve, rápido e extremamente eficiente. No entanto, à medida que a aplicação cresce, começamos a nos deparar com um problema comum em nossos controllers: o excesso de código repetitivo (o famoso boilerplate) para ler payloads de requisições e validar os dados de entrada.
Ver resumo completo
Quem desenvolve APIs em Delphi utilizando o framework Horse sabe o quanto ele é leve, rápido e extremamente eficiente. No entanto, à medida que a aplicação cresce, começamos a nos deparar com um problema comum em nossos controllers: o excesso de código repetitivo (o famoso boilerplate) para ler payloads de requisições e validar os dados de entrada.
Se você se cansa de escrever dezenas de linhas checando se campos obrigatórios foram preenchidos, se e-mails são válidos ou se um valor numérico está no intervalo correto, você precisa conhecer o horse-dto.
Neste artigo, vamos entender como esse middleware automatiza o processo de desserialização e validação declarativa de dados usando atributos no Delphi.
É extremamente comum encontrar desenvolvedores Delphi em fóruns, grupos de Telegram ou redes sociais fazendo perguntas como:
Ver resumo completo
É extremamente comum encontrar desenvolvedores Delphi em fóruns, grupos de Telegram ou redes sociais fazendo perguntas como:
Essas perguntas costumam partir de uma premissa equivocada: a de que o Horse e o DEXT disputam exatamente o mesmo espaço.
Na prática, eles possuem filosofias arquiteturais bastante diferentes. Embora ambos possam ser utilizados para criar APIs REST eficientes, eles foram concebidos para resolver problemas distintos. O objetivo deste artigo não é eleger um vencedor, mas esclarecer onde cada abordagem se destaca e ajudar você a escolher a ferramenta mais adequada para cada cenário.
No desenvolvimento de microsserviços e APIs web com Delphi e Lazarus, o Horse consolidou-se como a escolha número um devido à sua simplicidade, robustez e performance extrema. No entanto, em sistemas que processam milhares de requisições por segundo, pequenos detalhes arquiteturais podem se tornar gargalos de infraestrutura.
Ver resumo completo
No desenvolvimento de microsserviços e APIs web com Delphi e Lazarus, o Horse consolidou-se como a escolha número um devido à sua simplicidade, robustez e performance extrema. No entanto, em sistemas que processam milhares de requisições por segundo, pequenos detalhes arquiteturais podem se tornar gargalos de infraestrutura.
Recentemente, foi incorporada ao core do Horse uma melhoria estratégica muito solicitada para cenários de alta concorrência: a centralização do pool de buffers de memória (IMemoryBufferPool). Neste artigo, vamos entender qual problema essa evolução resolve debaixo do capô e como você pode, opcionalmente, extrair o máximo dela em seus próprios middlewares e rotas.
Se você desenvolve APIs em Delphi ou Lazarus, com certeza já conhece ou ouviu falar do Horse. Ele conquistou a comunidade Pascal por ser um framework extremamente rápido, minimalista e projetado para alta concorrência.
Ver resumo completo
Se você desenvolve APIs em Delphi ou Lazarus, com certeza já conhece ou ouviu falar do Horse. Ele conquistou a comunidade Pascal por ser um framework extremamente rápido, minimalista e projetado para alta concorrência. Porém, o verdadeiro poder do Horse se revela quando começamos a expandir suas capacidades usando middlewares.
Os middlewares funcionam como interceptadores no ciclo de vida das requisições HTTP, permitindo que você injete segurança, controle de tráfego, telemetria e automação com pouquíssimas linhas de código. Nos últimos anos, tenho trabalhado ativamente no desenvolvimento de uma suíte de middlewares focada em solucionar desafios reais de aplicações corporativas, garantindo portabilidade entre Delphi e FPC/Lazarus.
Neste artigo, apresento os 11 middlewares de minha autoria que você pode adotar hoje mesmo para elevar o nível técnico das suas APIs.
No desenvolvimento de APIs e microsserviços modernos, garantir a alta disponibilidade e a integridade dos dados durante atualizações de versão é um requisito essencial. Se você implanta suas aplicações em ambientes de contêineres (como Docker e Kubernetes) ou atrás de um balanceador de carga, certamente já enfrentou o desafio de atualizar um serviço em produção sem derrubar as…
Ver resumo completo
No desenvolvimento de APIs e microsserviços modernos, garantir a alta disponibilidade e a integridade dos dados durante atualizações de versão é um requisito essencial. Se você implanta suas aplicações em ambientes de contêineres (como Docker e Kubernetes) ou atrás de um balanceador de carga, certamente já enfrentou o desafio de atualizar um serviço em produção sem derrubar as conexões ativas dos usuários.
Com a nova atualização do Horse, o framework web minimalista mais popular do ecossistema Delphi e Lazarus, introduzimos o suporte nativo ao Graceful Shutdown (Desligamento Suave). Neste artigo, vamos entender como esse recurso funciona, quais são os ganhos reais para suas aplicações e como utilizá-lo na prática.
No desenvolvimento de microsserviços modernos, a velocidade de comunicação entre APIs é um dos fatores mais críticos para a escalabilidade de toda a infraestrutura. É por isso que o gRPC (baseado em HTTP/2 e Protocol Buffers) tornou-se o padrão ouro de comunicação interna em gigantes da tecnologia, superando o tradicional REST/JSON em termos de vazão e uso de…
Ver resumo completo
No desenvolvimento de microsserviços modernos, a velocidade de comunicação entre APIs é um dos fatores mais críticos para a escalabilidade de toda a infraestrutura. É por isso que o gRPC (baseado em HTTP/2 e Protocol Buffers) tornou-se o padrão ouro de comunicação interna em gigantes da tecnologia, superando o tradicional REST/JSON em termos de vazão e uso de banda.
Recentemente, no ecossistema do Horse — o micro-framework web preferido dos desenvolvedores Delphi e Lazarus —, iniciamos uma jornada intensa de engenharia de software para construir um provedor gRPC nativo (Cleartext h2c) capaz de bater de frente com os gigantes do mercado, como C#, Go e Rust. O resultado? Alcançamos a marca de 9.773 QPS (requisições por segundo) com uma latência média de apenas 20ms no host local.
Neste artigo, vou revelar os bastidores técnicos de como implementamos otimizações em nível de hardware, CPU, alocação de heap e concorrência para atingir essa marca histórica de performance no Delphi.
No desenvolvimento de APIs modernas e microsserviços com Delphi e Lazarus, o Horse se consolidou como o framework mais querido devido à sua simplicidade, leveza e alta velocidade. No entanto, à medida que os sistemas corporativos crescem, a necessidade de organização arquitetural, controle físico sobre conexões e conformidade com nuvens (como Docker e Kubernetes) torna-se crucial.
Ver resumo completo
No desenvolvimento de APIs modernas e microsserviços com Delphi e Lazarus, o Horse se consolidou como o framework mais querido devido à sua simplicidade, leveza e alta velocidade. No entanto, à medida que os sistemas corporativos crescem, a necessidade de organização arquitetural, controle físico sobre conexões e conformidade com nuvens (como Docker e Kubernetes) torna-se crucial.
Recentemente, o ecossistema do Horse recebeu uma atualização de peso, focada justamente em infraestrutura corporativa: o suporte a Server Lifecycle Hooks (Ganchos de Ciclo de Vida do Servidor), o Graceful Shutdown (Desligamento Suave) unificado e o padrão de inicialização estruturada via UseStartup. Neste artigo, vamos explorar essas novidades e construir um exemplo didático e completo.
No desenvolvimento de APIs modernas e microsserviços, é muito comum nos depararmos com o seguinte cenário: você precisa expor uma API pública para consumo externo na porta 80, mas ao mesmo tempo precisa expor um painel administrativo ou endpoints de monitoramento de métricas em uma porta interna reservada (como a porta 8080).
Ver resumo completo
No desenvolvimento de APIs modernas e microsserviços, é muito comum nos depararmos com o seguinte cenário: você precisa expor uma API pública para consumo externo na porta 80, mas ao mesmo tempo precisa expor um painel administrativo ou endpoints de monitoramento de métricas em uma porta interna reservada (como a porta 8080).
No ecossistema Delphi e Lazarus, o Horse consolidou-se como o framework web mais popular, leve e minimalista. No entanto, historicamente o framework operava sob uma fachada central baseada em métodos de classe estáticos (singletons globais). É exatamente aqui que entra a nova e poderosa funcionalidade da arquitetura Multi-Instance.
Neste artigo, vamos explorar como o Horse foi redesenhado para suportar servidores logicamente isolados rodando concorrentemente no mesmo processo de aplicação, e entender o "pulo do gato" de infraestrutura para colocar isso de pé em produção.
O desenvolvimento de APIs com Delphi utilizando o Horse revolucionou a forma como criamos serviços rápidos, minimalistas e eficientes. No entanto, à medida que nossas aplicações crescem e passam a rodar em ambientes de produção complexos, surge um grande desafio: como saber exatamente o que está acontecendo por debaixo do capô em tempo real?
Ver resumo completo
O desenvolvimento de APIs com Delphi utilizando o Horse revolucionou a forma como criamos serviços rápidos, minimalistas e eficientes. No entanto, à medida que nossas aplicações crescem e passam a rodar em ambientes de produção complexos, surge um grande desafio: como saber exatamente o que está acontecendo por debaixo do capô em tempo real?
Monitorar uma aplicação em produção apenas analisando arquivos de log estáticos (ou pior, esperando o cliente reclamar de lentidão) não é mais viável. É aqui que entra a Observabilidade e seus pilares principais: a coleta de métricas e o rastreamento distribuído (Distributed Tracing).
Se você desenvolve APIs em Delphi, provavelmente já ouviu o mito de que o Delphi não serve para backend web de alto desempenho na nuvem ou de que ele consome muita memória. Hoje, vamos desmistificar essa falácia por completo.
Ver resumo completo
Se você desenvolve APIs em Delphi, provavelmente já ouviu o mito de que o Delphi não serve para backend web de alto desempenho na nuvem ou de que ele consome muita memória. Hoje, vamos desmistificar essa falácia por completo.
Por alguns dias estive estudando o httpsys e epoll, o primeiro para windows e o segundo para linux, visando melhorar o provedor epoll do DEXTe acrescentar ao HORSE provedores para httpsys e epoll, o ponto de partida dessa empreitada foi tentar entender melhor como tudo acontece nos bastidores e como otimizar ao maximo um servidor feito em delphi, para isso utilizei estes dois projetos dos quais tenho participado bastante.
Neste artigo, vamos analisar a fundo o desenvolvimento do Horse Epoll, um provedor nativo assíncrono de transporte HTTP construído para Linux, e entender como técnicas avançadas de programação de baixo nível elevaram o Delphi a patamares de performance brutais, batendo 29.710 requisições por segundo em contêineres Docker.
Serão 03 Mega Aulas Gratuitas sobre Servidores e Microserviços com Horse, Consumo dos Servidores com VCL Desktop e Firemonkey.
Ver resumo completo
Serão 03 Mega Aulas Gratuitas sobre Servidores e Microserviços com Horse, Consumo dos Servidores com VCL Desktop e Firemonkey.
Você aprenderá a usar sobre Padrões de Mercado, Organização, Boas Práticas, Distribuição em Windows e Linux e muitas dicas sobre "por onde começar". Não perca!
Inscreva-se -> Deixe seus dados e receba todas as informações, links, etchttp://adrianosantostreina.com.br/semanahorse