Spring Boot lander i version 2.2 med bedre ydelse

Illustration: Bigstock/REDPIXEL.PL
Javas bud på et Ruby on Rails-agtigt webmiljø kommer med understøttelse af Java 13 og en række ydelsesforbedringer.

Javas Spring-framework har udsendt en opdatering af web-miljøet Spring Boot.

Det skriver Spring-udvikler Andy Wilkinson i et blogindlæg.

Spring Boot er Java-verdens mest populære svar på Ruby on Rails - sidstnævnte tog verden med storm for 13 år siden ved at tilbyde webudvikling uden tårer.

Specielt fraværet af umådelige mængder konfiguration, ved i stedet at bruge kendte konventioner, gjorde Ruby on Rails populært i en fart. Gode ideer kan kopieres, og snart sagt alle populære sprog og miljøer har deres bud i genren.

Spring Boot 2.2 er netop kommet på gaden, og her er nyhederne bedre ydelse og understøttelse af Java 13, som er den seneste udgave af sprog og afviklingsmiljø.

Der er gjort væsentlige fremskridt i forhold til ydelsen, fortælles det. Det betyder, at applikationer starter hurtigere og bruger mindre hukommelse.

'Doven' initialisering

Blandt de ydelsesmæssige forbedringer er 'doven' initialisering, hvor objekter og resurser initialiseres efter behov. Spring Boot 2.2 gør det nemmere at benytte faciliteten, ved at introducere ​​en ny property spring.main.lazy-initialization, samt tilsvarende metoder i konfigurationsklasserne SpringApplication og SpringApplicationBuilder.

Doven initialisering kan give markant reducerede opstartstider, da færre klasser indlæses, og der oprettes færre Javabeans under applikationsstart, fremgår det af blogindlægget.

En mindre webapplikation, der bruger Actuator og Spring Security, og som normalt vil starte op på 2500 ms, vil falde til 2000 ms med doven initialisering aktiveret. Den præcise forbedring afhænger af anvendelsen.

Doven initialisering kan dog også betyde, at de kald, der sætter komponenterne i sving den første gang, vil tage længere tid for brugerne end ellers. Det kan også betyde, at problemer først opdages, når komponenterne initialiseres, i stedet for under opstart.

Den nye udgave byder også på bedre konfiguration af RSocket. Det er en binær protokol til mikrotjenester med ophav hos Netflix. Den konkurrerer blandt andet med gRPC-protokollen, som udfylder samme rolle, men som kritikere mener har problemer ved blandt andet at bygge på specifikke headers og specielt udformede URL'er.

Læs også: Udvikler: Drop REST og HTTP til fordel for binær protokol

Spring Boot bygger på Spring, som i sin tid var et bud på en lettere udgave af Java's miljø til serverprogrammering, JEE. Den nye udgave bygger på mere end 23.000 commits.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (2)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Benny Amorsen

De har forbedret starthastigheden fra 2 1/2 sekund til 2 sekunder. For en mindre applikation.

Det lyder absurd. Når det engang bliver forbedret med et par størrelsesordner eller 3 kan det måske bruges.

  • 1
  • 2
Tobias Tobiasen

De har forbedret starthastigheden fra 2 1/2 sekund til 2 sekunder. For en mindre applikation.

Det lyder absurd. Når det engang bliver forbedret med et par størrelsesordner eller 3 kan det måske bruges.

Man vil jo typisk deploye en spring boot application og lade den starte helt op før man sender trafik til den. Så ingen brugere kommer til at vente på opstarten. Applikationen bliver så ved med at køre i timer/dage så reelt er Der 2 sekunder ventetid pr dag uden nogen brugere venter.
Men hvis du har planer om at deploye din spring boot serverless i f.eks. Aws lambda så er 2 sekunder lang tid for der venter brugere på svar.

  • 0
  • 0
Log ind eller Opret konto for at kommentere