4 pontos por xguru 2024-12-26 | 1 comentários | Compartilhar no WhatsApp
  • JRuby combina a produtividade do Ruby com o desempenho da JVM, enquanto o JBang oferece um ambiente de execução e gerenciamento de dependências simplificado
    • Ao combinar as duas ferramentas, é possível aproveitar de forma integrada bibliotecas Ruby e Java
    • JBang: ferramenta para executar programas Java/Kotlin/Groovy e gerenciar dependências com simplicidade
    • JRuby: implementação do Ruby que roda sobre a JVM, unindo produtividade do Ruby e desempenho da JVM
  • O gerenciamento de dependências necessário para usar bibliotecas Java no JRuby (como Gradle/Maven) é complexo e difícil
    • Vamos experimentar uma forma de gerenciar dependências com JBang de maneira simples e executar scripts JRuby
  • Configuração de ambiente baseada em Docker
    • Usar uma imagem Docker baseada no Amazon Corretto (JDK)
    • Baixar e instalar JRuby e JBang e adicioná-los ao PATH
    • Incluir tanto gems Ruby quanto bibliotecas Java no Dockerfile
  • Criar um RunJRuby.java simples: gerenciar dependências Java via JBang e executar scripts JRuby
    • Configurar o ambiente de execução do JRuby com ProcessBuilder
    • Enviar dependências Java ao JRuby por meio da configuração do CLASSPATH
  • Usar Javalin (framework web baseado em Java) junto com JRuby para criar uma API REST
    • Adicionar autenticação JWT e integrar com SQLite para implementar uma API CRUD
    • Em Java, usar bibliotecas de alto desempenho para operações HTTP e banco de dados, enquanto no Ruby tratar da lógica de negócio
  • Resultados de testes de desempenho
    • Executar testes de tempo de resposta com Apache Benchmark (ab) em 1500 requisições (25 simultâneas)
    • Resultado: 95% das requisições foram processadas em até 10 ms
    • Uso de Javalin atualizado e Virtual Threads para oferecer alto desempenho
  • Unir os pontos fortes de Ruby e Java para atender tanto à produtividade quanto ao desempenho
  • Consulte o repositório no GitHub: jbang-jruby-javalin

1 comentários

 
clickin 2024-12-26

Java+Groovy: aquele memory leak fatal
Já vi casos em que ocorre memory leak em determinadas condições ao executar scripts na JVM, então fiquei curioso sobre como é com o JRuby.