ක්වාර්කස් MicroProfile සහ Spring ඒකාබද්ධ කරන ආකාරය

ආයුබෝවන් හැමෝටම, මෙන්න ක්වාර්කස් කතා මාලාවේ තුන්වෙනි පෝස්ට් එක!

ක්වාර්කස් MicroProfile සහ Spring ඒකාබද්ධ කරන ආකාරය

Java microservices සංවර්ධනය කිරීමේදී, එය බොහෝ විට විශ්වාස කෙරේ සූර්යග්‍රහණ මයික්‍රොප්‍රොෆයිල් и වසන්ත ඇරඹුම වෙනම සහ ස්වාධීන API වේ. පෙරනිමියෙන්, ක්‍රමලේඛකයින් ඔවුන් දැනටමත් භාවිතා කර ඇති API භාවිතා කිරීමට නැඹුරු වේ, මන්ද නව රාමු සහ ධාවන කාල සංරචක ඉගෙන ගැනීමට බොහෝ කාලයක් ගත වේ. අද අපි සමහර ජනප්රිය සංවර්ධනය සරල කිරීමට උත්සාහ කරමු වසන්ත සංවර්ධකයින් සඳහා MicroProfile API සහ Spring API සහ නව ප්‍රයෝජනවත් විශේෂාංග එකවර භාවිතා කරන ආකාරය ඔබට පෙන්වන්න ක්වාර්කස්.

තව ටිකක් විස්තරාත්මකව, අපි මුලින්ම ස්ප්‍රින්ග් සංවර්ධකයින්ට ඔවුන්ගේ එදිනෙදා වැඩවලදී මයික්‍රොප්‍රොෆයිල් ඒපීඅයි භාවිතා කරන්නේ කෙසේදැයි පෙන්වීමට ක්වාර්කස් ස්ප්‍රින්ග් ඒපීඅයි සඳහා සහය දක්වන ආකාරය පිළිබඳ විෂය පථය සහ විස්තර දෙස බලමු. එවිට අපි ක්ෂුද්‍ර සේවා නිර්මාණය කිරීමේදී වසන්ත සංවර්ධකයින්ට ප්‍රයෝජනවත් වන MicroProfile API ආවරණය කරන්නෙමු.

ඇයි ක්වාර්කස්? පළමුව, මෙය සජීවී කේතීකරණය, එනම්, MicroProfile API, Spring API සහ අනෙකුත් ජාවා API වල යම් වෙනසක් ස්වයංක්‍රීයව නැවත පූරණය කිරීම, එය එක් විධානයකින් පමණක් සිදු කෙරේ: mvn quarkus:dev. දෙවනුව, සලකා බලනු ලැබේ අපගේ උදාහරණයේ පුද්ගල සේවාව (Spring, MicroProfile, සහ JPA API වලින් ස්වදේශික GraalVM රූපය භාවිතයෙන් ද්විමය බවට සම්පාදනය කරයි) තත්පර 0.055 කින් ආරම්භ වන අතර RESTful යෙදුම් අන්ත ලක්ෂ්‍යයේ 90 MB RAM (RSS) පමණ ලබා ගනී. එපමණක් නොව, එහි සම්පාදනය සිදු කරනු ලබන්නේ එක් විධානයකින් පමණි: mvn පැකේජය -Pnative.

Quarkus හි MicroProfile API සමඟ Spring API භාවිතා කළ හැකි ආකාරය Spring සංවර්ධකයින්ට තේරුම් ගැනීමට උපකාර කිරීම හැර, අපි MicroProfile ගැන විස්තර කිරීමට යන්නේ නැත.

බහාලුම් සහ කුබර්නෙට්

මෙම ලිපිය සරලව තබා ගැනීමට, අපි මෙහි සහය පිළිබඳ ඉහළ මට්ටමේ අංශ පමණක් ආවරණය කරන්නෙමු. කුබර්නෙට්ස්, එය තේරුම් ගැනීම වැදගත් වන බැවිනි. Quarkus Kubernetes සඳහා ජාවා තොගයක් ලෙස ස්ථානගත කර ඇත, එය ජාවා යෙදුම් සහ සේවාවල මතක පරිභෝජනය සහ ආරම්භක කාලය අවම කිරීම සඳහා නිර්මාණය කර ඇති අතර, එහි ප්‍රතිඵලයක් ලෙස, ධාරකය මත ඔවුන්ගේ ඝනත්වය වැඩි කර සමස්ත පිරිවැය අඩු කරයි.

ක්වාර්කස් ද ස්වයංක්‍රීය උත්පාදනය සඳහා සහය දක්වයි Kubernetes සම්පත් සහ දීමනා නායකත්වය Kubernetes සහ Red Hat OpenShift වේදිකාවල යෙදවීම සඳහා. මීට අමතරව, Quarkus ස්වයංක්‍රීයව බහාලුම් සෑදීමට අවශ්‍ය Dockerfile.jvm (JVM ඇසුරුම්) සහ Dockerfile.native (ස්වදේශීය ද්විමය ඇසුරුම්) ගොනු උත්පාදනය කරයි.

අවසාන වශයෙන්, Kubernetes ඉලක්කගත යෙදවීමේ පරිසරය ලෙස අවධානය යොමු කිරීමෙන්, Quarkus විසින් Kubernetes වේදිකාවේ මට්ටමින් සමාන ක්‍රියාකාරීත්වයක් ක්‍රියාත්මක වන අවස්ථා වලදී ජාවා රාමු භාවිතා නොකරයි. වගුව 1 මගින් Kubernetes සහ Spring Developers විසින් භාවිතා කරන සාමාන්‍ය Java රාමු අතර ක්‍රියාකාරී ලිපි හුවමාරුවේ සිතියමක් සපයයි.

වගුව 1. Java frameworks සහ Kubernetes අතර ක්‍රියාකාරී ලිපි හුවමාරුවේ සිතියම.

ක්රියාකාරී
සාම්ප්රදායික වසන්ත බූට්
කුබර්නෙට්ස්

සේවා සොයා ගැනීම
යුරේකා
DNS

වින්යාස
Spring Cloud Config
සිතියම්/රහස් වින්‍යාස කරන්න

ශේෂය පැටවීම
පීත්ත පටිය (සේවාදායක පැත්ත)
සේවාව, අනුකරණ පාලකය (සේවාදායක පැත්ත)

උදාහරණයෙන් කේතය සම්පාදනය කිරීම සහ ධාවනය කිරීම

මෙම ලිපියෙන් අපි යොමු කරමු උදාහරණ ව්යාපෘතිය, Spring සහ MicroProfile API සහ එකම ජාවා පන්තිය පවා එකට භාවිතා වේ. මෙම උදාහරණයේ කේතය සම්පාදනය කර විධාන රේඛාවෙන් ධාවනය කළ හැක, විස්තර සඳහා README.md ගොනුව බලන්න.

Spring Framework API

යැපුම් එන්නත් කිරීම

Quarkus පරාසයකට සහය දක්වයි සන්දර්භය සහ යැපුම් එන්නත් (CDI) API සහ Spring Dependency Injection (Spring DI) API. ඔබ MicroProfile සමඟ වැඩ කරන්නේ නම්, Java EE සහ Jakarta EE, එවිට ඔබ දැනටමත් CDI සමඟ ඉතා හුරුපුරුදුය. අනෙක් අතට, Spring Developers හට Spring DI API සඳහා Quarkus Extension භාවිතා කර Spring DI සමඟ ගැළපීම ලබා ගත හැක. සහාය දක්වන Spring DI API භාවිතා කිරීමේ උදාහරණ වගුව 2 හි දක්වා ඇත.

В අපගේ උදාහරණයෙන් ව්යාපෘතිය CDI සහ Spring Dependency Injection යන දෙකම භාවිතා කරයි. මෙම මාතෘකාව පිළිබඳ වැඩි විස්තර සහ උදාහරණ සඳහා, හඳුන්වන Quarkus මාර්ගෝපදේශය බලන්න වසන්ත DI මාර්ගෝපදේශය.

වගුව 2. සහය දක්වන Spring DI API භාවිතා කිරීමේ උදාහරණ.

සහය දක්වන Spring DI විශේෂාංග
උදාහරණ

ඉදිකිරීම් එන්නත්

public PersonSpringController(
   PersonSpringRepository personRepository,  // injected      
   PersonSpringMPService personService) {    // injected
      this.personRepository = personRepository;
      this.personService = personService;
}

ක්ෂේත්ර එන්නත්
ස්වයංක්‍රීය රැහැන්ගත
වටිනාකම

@Autowired
@RestClient
SalutationRestClient salutationRestClient;

@Value("${fallbackSalutation}")
String fallbackSalutation;

බීන්
@වින්‍යාසය

@Configuration
public class AppConfiguration {
   @Bean(name = "capitalizeFunction")
   public StringFunction capitalizer() {
      return String::toUpperCase;
   }
}

සංරචකය

@Component("noopFunction")
public class NoOpSingleStringFunction implements StringFunction {
   @Override
   public String apply(String s) {
      return s;
   }
}

සේවය

@Service
public class MessageProducer {
   @Value("${greeting.message}")
   String message;

   public String getPrefix() {
      return message;
   }
}

වෙබ් රාමුව

ප්‍රාථමික වෙබ් ක්‍රමලේඛන ආකෘතිය ලෙස ක්වාර්කස් JAX-RS, MicroProfile Rest Client, JSON-P, සහ JSON-B සඳහා සහාය දක්වන බව MicroProfile පරිශීලකයන් කැමති වනු ඇත. Spring Web API, විශේෂයෙන්ම REST අතුරුමුහුණත් සඳහා Quarkus හි මෑතකාලීන සහාය පිළිබඳව වසන්ත සංවර්ධකයින් සතුටු වනු ඇත. Spring DI වලට සමානව, Spring Web API සහයයේ ප්‍රධාන අරමුණ වන්නේ Spring Developers හට MicroProfile API සමඟ එක්ව Spring Web API භාවිතා කිරීමට හැකිවීමයි. සහය දක්වන Spring Web API භාවිතා කරන්නේ කෙසේද යන්න පිළිබඳ උදාහරණ වගුව 3 හි සපයා ඇති අතර, මෙම මාතෘකාව පිළිබඳ වැඩි විස්තර සහ උදාහරණ Quarkus නිබන්ධනයෙන් සොයා ගත හැක. වසන්ත වෙබ් මාර්ගෝපදේශය.

වගුව 3. සහාය දක්වන Spring Web API භාවිතා කිරීමේ උදාහරණ.

සහය දක්වන වසන්ත වෙබ් විශේෂාංග
උදාහරණ

@RestController
@RequestMapping

@RestController
@RequestMapping("/person")
public class PersonSpringController {
   ...
   ...
   ...
}

@GetMapping
@පසු සිතියම්කරණය
@PutMapping
@Deleteමැපිං
@PatchMapping
@RequestParam
@RequestHeader
@MatrixVariable
@PathVariable
@CookieValue
@RequestBody
@ResponseStatus
@ExceptionHandler
@RestControllerAdvice (අර්ධ)

@GetMapping(path = "/greet/{id}",
   produces = "text/plain")
   public String greetPerson(
   @PathVariable(name = "id") long id) {
   ...
   ...
   ...
}

වසන්ත දත්ත JPA

Hibernate ORM භාවිතා කරමින් Quarkus JPA සඳහා සහය දක්වන බව MicroProfile පරිශීලකයන් අගය කරනු ඇත. වසන්ත සංවර්ධකයින් සඳහා හොඳ ආරංචියක් ද ඇත: Quarkus පොදු වසන්ත දත්ත JPA අනුසටහන් සහ වර්ග සඳහා සහය දක්වයි. සහාය දක්වන Spring Data JPA API භාවිතා කිරීමේ උදාහරණ වගුව 4 හි දක්වා ඇත.
В අපගේ උදාහරණයෙන් ව්යාපෘතිය Spring Data JPA API භාවිතා කරන අතර වැඩි විස්තර Quarkus නිබන්ධනයෙන් ලබා ගත හැක වසන්ත දත්ත JPA මාර්ගෝපදේශය.

වගුව 4. සහාය දක්වන වසන්ත දත්ත JPA API භාවිතා කිරීමේ උදාහරණ.

සහය දක්වන වසන්ත දත්ත JPA විශේෂාංග
උදාහරණ

CrudRepository

public interface PersonRepository
         extends JpaRepository,
                 PersonFragment {
   ...
}

ගබඩාව
Jpa නිධිය
PagingAndSortingRepository

public class PersonRepository extends 

    Repository {

    Person save(Person entity);

    Optional findById(Person entity);
}

ගබඩා කොටස්

public interface PersonRepository
         extends JpaRepository,
                 PersonFragment {
   ...
}

ව්යුත්පන්න විමසුම් ක්රම

public interface PersonRepository extends CrudRepository {

    List findByName(String name);
    
    Person findByNameBySsn(String ssn);
    
    Optional 
       findByNameBySsnIgnoreCase(String ssn);

    Boolean existsBookByYearOfBirthBetween(
            Integer start, Integer end);
}

පරිශීලක-නිර්වචනය කළ විමසුම්

public interface MovieRepository
         extends CrudRepository {

    Movie findFirstByOrderByDurationDesc();

    @Query("select m from Movie m where m.rating = ?1")
    Iterator findByRating(String rating);

    @Query("from Movie where title = ?1")
    Movie findByTitle(String title);
}

MicroProfile API

වැරදි ඉවසීම

කැස්කැඩින් අසාර්ථක වීම වැළැක්වීම සහ විශ්වාසනීය ක්ෂුද්‍ර සේවා ගෘහ නිර්මාණ ශිල්පය නිර්මාණය කිරීම සඳහා දෝෂ ඉවසීමේ ඉදිකිරීම් ඉතා වැදගත් වේ. වසන්ත සංවර්ධකයින් වසර ගණනාවක් තිස්සේ දෝෂ ඉවසීම සඳහා පරිපථ කඩන යන්ත්‍ර භාවිතා කර ඇත. හිස්ට්රික්ස්. කෙසේ වෙතත්, Hystrix දිගු කලක් යාවත්කාලීන කර නැත, නමුත් MicroProfile's Fault Tolerance දැන් ක්‍රියාකාරීව වර්ධනය වෙමින් පවතින අතර එය පිටුපස වසර කිහිපයක නිෂ්පාදන භාවිතයක් ඇත. එබැවින්, Quarkus හි සේවා වල විශ්වසනීයත්වය වැඩිදියුණු කිරීම සඳහා, MicroProfile Fault Tolerance API භාවිතා කිරීම රෙකමදාරු කරනු ලැබේ, උදාහරණ 5 වගුවේ භාවිතා වේ. මේ පිළිබඳ වැඩි විස්තර සඳහා, Quarkus අත්පොත බලන්න. වැරදි ඉවසීමේ මාර්ගෝපදේශය.

වගුව 5. සහාය දක්වන MicroProfile Fault Tolerance API භාවිතා කිරීමේ උදාහරණ.

MicroProfile වැරදි ඉවසීමේ විශේෂාංග
විස්තර
උදාහරණ

@Asynchronous

වෙනම ත්‍රෙඩ් එකක ලොජික් ක්‍රියාත්මක කිරීම

@Asynchronous
@Retry
public Future<String> getSalutation() {
   ...
   return future;
}

@Bulkhead

එකවර ඉල්ලීම් ගණන සීමා කරන්න

@Bulkhead(5)
public void fiveConcurrent() {
   makeRemoteCall(); //...
}

@පරිපථ බිඳිනය

ස්මාර්ට් අසාර්ථක හැසිරවීම සහ අසාර්ථකවීම් වලින් යථා තත්ත්වයට පත්වීම

@CircuitBreaker(delay=500   // milliseconds
   failureRatio = .75,
   requestVolumeThreshold = 20,
   successThreshold = 5)
@Fallback(fallbackMethod = "fallback")
public String getSalutation() {
   makeRemoteCall(); //...
}

@පසු බසින්න

අසාර්ථක වූ විට විකල්ප තර්කනය ඇමතීම

@Timeout(500) // milliseconds
@Fallback(fallbackMethod = "fallback")
public String getSalutation() {
   makeRemoteCall(); //...
}

public String fallback() {
   return "hello";
}

යළි උත්සාහ කරන්න

ඉල්ලීම අසාර්ථක වීම මත නැවත උත්සාහ කරන්න

@Retry(maxRetries=3)
public String getSalutation() {
   makeRemoteCall(); //...
}

කාලය හමාරයි

අසාර්ථක පාලන කල් ඉකුත්වීම

@Timeout(value = 500 )   // milliseconds
@Fallback(fallbackMethod = "fallback")
public String getSalutation() {
   makeRemoteCall(); //...
}

පිරික්සුම් සේවා (සේවා සෞඛ්‍යය)

Kubernetes වේදිකා විශේෂ සේවාවන් භාවිතා කරමින් බහාලුම්වල සෞඛ්‍යය නිරීක්ෂණය කරයි. යටින් පවතින වේදිකාවට සේවා නිරීක්ෂණය කිරීමට ඉඩ දීම සඳහා, Spring සංවර්ධකයින් සාමාන්‍යයෙන් අභිරුචි HealthIndicator සහ Spring Boot Actuator භාවිතා කරයි. Quarkus හි, මෙය MicroProfile Health භාවිතයෙන් සිදු කළ හැක, එය පෙරනිමියෙන් සජීවී පරීක්ෂාවක් සිදු කරයි, නමුත් සජීවී බව සහ සූදානම එකවර පරීක්ෂා කිරීමට වින්‍යාසගත කළ හැක. සහාය දක්වන MicroProfile Health API භාවිතා කරන ආකාරය පිළිබඳ උදාහරණ වගුව 6 හි සපයා ඇති අතර අමතර තොරතුරු Quarkus අත්පොතෙහි දක්වා ඇත. සෞඛ්ය මාර්ගෝපදේශය.

වගුව 6: සහාය දක්වන MicroProfile Health API වල භාවිත උදාහරණ.

MicroProfile සෞඛ්‍ය විශේෂාංග
විස්තර
උදාහරණ

@සජීවී බව

වේදිකාව අසාර්ථක වූ බහාලුම් යෙදුම් නැවත ආරම්භ කරයි
අන්ත ලක්ෂ්‍යය:
සත්කාරක:8080/health/live

@Liveness
public class MyHC implements HealthCheck {
  public HealthCheckResponse call() {

   ...
   return HealthCheckResponse
     .named("myHCProbe")
     .status(ready ? true:false)
     .withData("mydata", data)
     .build();  
}

@ සූදානම

වේදිකාව සූදානම් නැතිනම් බහාලුම් යෙදුම් වෙත ගමනාගමනය නොයවයි
අන්ත ලක්ෂ්‍යය:
සත්කාරක:8080/සෞඛ්‍යය/සූදානම්

@Readiness
public class MyHC implements HealthCheck {
  public HealthCheckResponse call() {

   ...
   return HealthCheckResponse
     .named("myHCProbe")
     .status(live ? true:false)
     .withData("mydata", data)
     .build();  
}

මෙට්රික්ස්

යෙදුම් මෙහෙයුම් අරමුණු සඳහා (කාර්ය සාධනය SLAs නිරීක්ෂණය කිරීමට) හෝ මෙහෙයුම් නොවන අරමුණු සඳහා (ව්‍යාපාරික SLAs) ප්‍රමිතික සපයයි. වසන්ත සංවර්ධකයින් Spring Boot Actuator සහ Micrometer භාවිතයෙන් ප්‍රමිතික සපයයි. අනෙක් අතට, Quarkus මූලික ප්‍රමිතික (JVM සහ මෙහෙයුම් පද්ධතිය), විකුණුම් ප්‍රමිතික (Quarkus) සහ යෙදුම් ප්‍රමිතික සැපයීමට MicroProfile Metrics භාවිතා කරයි. MicroProfile Metrics හට ක්‍රියාත්මක කිරීම JSON සහ OpenMetrics (Prometheus) ප්‍රතිදාන ආකෘති සඳහා සහය දැක්වීම අවශ්‍ය වේ. MicroProfile Metrics API භාවිතා කිරීමේ උදාහරණ වගුව 7 හි දක්වා ඇත.

В අපගේ උදාහරණයෙන් ව්යාපෘතිය යෙදුම් ප්‍රමිතික සැපයීමට MicroProfile Metrics භාවිතා කරයි. වැඩි විස්තර සඳහා, Quarkus අත්පොත බලන්න මිනුම් මාර්ගෝපදේශය.

වගුව 7. MicroProfile Metrics API භාවිතා කිරීමේ උදාහරණ.

MicroProfile Metrics විශේෂාංග
විස්තර
උදාහරණ

@ගණන් කළා

විවරණය කරන ලද වස්තුවක් ඇමතූ වාර ගණන ගණන් කරන ප්‍රති කවුන්ටරයක් ​​දක්වයි

@Counted(name = "fallbackCounter", 
  displayName = "Fallback Counter", 
  description = "Fallback Counter")
public String salutationFallback() {
   return fallbackSalutation;
}

@ConcurrentGauge

විවරණය කරන ලද වස්තුවකට සමගාමී ඇමතුම් ගණන ගණනය කරන මිනුමක් දක්වයි

@ConcurrentGuage(
  name = "fallbackConcurrentGauge", 
  displayName="Fallback Concurrent", 
  description="Fallback Concurrent")
public String salutationFallback() {
   return fallbackSalutation;
}

@මාපකය

සටහන් කරන ලද වස්තුවක අගය මනින මිනුම් සංවේදකයක් දක්වයි

@Metered(name = "FallbackGauge",
   displayName="Fallback Gauge",
   description="Fallback frequency")
public String salutationFallback() {
   return fallbackSalutation;
}

@මීටර් කර ඇත

සටහන් කරන ලද වස්තුවක ඇමතුම් සංඛ්‍යාතය නිරීක්ෂණය කරන මීටර සංවේදකයක් දක්වයි

@Metered(name = "MeteredFallback",
   displayName="Metered Fallback",
   description="Fallback frequency")
public String salutationFallback() {
   return fallbackSalutation;
}

මෙට්රික්

මෙට්‍රික් එකක් ඇතුළු කිරීමට හෝ නිෂ්පාදනය කිරීමට ඉල්ලීමක් ලැබුණු විට පාර-දත්ත පිළිබඳ තොරතුරු අඩංගු විවරණයක්

@Metric
@Metered(name = "MeteredFallback",
   displayName="Metered Fallback",
   description="Fallback frequency")
public String salutationFallback() {
   return fallbackSalutation;
}

කාලය අවසන්

විවරණය කරන ලද වස්තුවක කාලසීමාව නිරීක්ෂණය කරන කාල ගණකයක් දක්වයි

@Timed(name = "TimedFallback",
   displayName="Timed Fallback",
   description="Fallback delay")
public String salutationFallback() {
   return fallbackSalutation;
}

ප්‍රමිතික අන්ත ලක්ෂ්‍ය

යෙදුම් මිතික දේශීයව:8080/මිතික/යෙදුම
මූලික මිනුම් දේශීයව:8080/මිතික/පදනම
විකුණුම් මිමි දේශීයව:8080/මිතික/වෙළෙන්දා
සියලුම මිනුම් දේශීයව:8080/මිතික

MicroProfile විවේක සේවාලාභියා

ක්ෂුද්‍ර සේවා බොහෝ විට RESTful endpoints සපයන අතර ඒවා සමඟ වැඩ කිරීමට අනුරූප සේවාදායක API අවශ්‍ය වේ. RESTful endpoints භාවිතා කිරීමට, Spring developers සාමාන්‍යයෙන් RestTemplate භාවිතා කරයි. Quarkus විසින් මෙම ගැටළුව විසඳීම සඳහා MicroProfile Rest Client API ඉදිරිපත් කරයි, ඒවා භාවිතා කිරීමේ උදාහරණ වගුව 8 හි දක්වා ඇත.

В අපගේ උදාහරණයෙන් ව්යාපෘතිය RESTful endpoints භාවිතය MicroProfile Rest Client භාවිතයෙන් සිදු කෙරේ. මෙම මාතෘකාව පිළිබඳ වැඩි විස්තර සහ උදාහරණ Quarkus අත්පොතෙහි සොයාගත හැකිය විවේක සේවාලාභී මාර්ගෝපදේශය.

වගුව 8. MicroProfile Rest Client API භාවිතා කිරීමේ උදාහරණ.

MicroProfile Rest Client විශේෂාංග
විස්තර
උදාහරණ

@RegisterRestClient

ටයිප් කළ ජාවා අතුරු මුහුණතක් REST සේවාලාභියෙකු ලෙස ලියාපදිංචි කරයි

@RegisterRestClient
@Path("/")
public interface MyRestClient {
    @GET
    @Produces(MediaType.TEXT_PLAIN)
    public String getSalutation();
}

@RestClient

ටයිප් කළ REST සේවාදායක අතුරුමුහුණතක අවස්ථාවක් ක්‍රියාත්මක කිරීම සලකුණු කරයි

@Autowired // or @Inject
@RestClient
MyRestClient restClient;

ආයාචනය

REST අන්ත ලක්ෂ්‍යයක් අමතයි

System.out.println(
   restClient.getSalutation());

mp-rest/url

REST අන්ත ලක්ෂ්‍යය සඳහන් කරයි

application.properties:
org.example.MyRestClient/mp-rest/url=
   http://localhost:8081/myendpoint

ප්රතිඵල

මූලික වශයෙන් වසන්ත සංවර්ධකයින් ඉලක්ක කරගත් මෙම බ්ලොගය තුළ, අපි Java microservices සංවර්ධනය කිරීමට Quarkus හි MicroProfile API සමඟ Spring API භාවිතා කරන ආකාරය සහ ඒවා මෙගාබයිට් සිය ගණනක් RAM ඉතිරි කර දියත් කරන ස්වදේශීය ද්විමය කේතයට සම්පාදනය කරන්නේ කෙසේද යන්න පිළිබඳව ඉක්මන් විමසා බැලුවෙමු. මිලි තත්පර වල කාරණයක්.

ඔබ දැනටමත් තේරුම් ගෙන ඇති පරිදි, Spring සහ MicroProfile API සඳහා සහය පිළිබඳ වැඩිදුර තොරතුරු මෙන්ම තවත් බොහෝ ප්‍රයෝජනවත් තොරතුරු සොයා ගත හැක. ක්වාර්කස් අත්පොත්.

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න