ኳርኩስ ማይክሮፕሮፋይልን እና ስፕሪንግን እንዴት እንደሚያዋህድ

ሰላም ለሁላችሁ፣ የኳርኩስ ተከታታዮች ሦስተኛው ልጥፍ ይኸውና!

ኳርኩስ ማይክሮፕሮፋይልን እና ስፕሪንግን እንዴት እንደሚያዋህድ

የጃቫ ማይክሮ ሰርቪስ ሲገነቡ, ብዙ ጊዜ ይታመናል ኤክሊፕስ ማይክሮፕሮፋይል и የፀደይ ቡት የተለዩ እና ገለልተኛ ኤፒአይዎች ናቸው። በነባሪ፣ ፕሮግራመሮች አዲስ ማዕቀፎችን እና የሩጫ ጊዜ ክፍሎችን መማር ብዙ ጊዜ ስለሚወስድ ቀድሞውንም የለመዷቸውን ኤፒአይዎች የመጠቀም አዝማሚያ አላቸው። ዛሬ የአንዳንድ ታዋቂዎችን እድገት ለማቃለል እንሞክራለን የማይክሮ ፕሮፋይል ኤፒአይ ለፀደይ ገንቢዎች እና እንዴት የፀደይ ኤፒአይን እና አዲስ ጠቃሚ ባህሪያትን በአንድ ጊዜ መጠቀም እንደሚችሉ ያሳየዎታል ኩርኩስ.

በጥቂቱ በዝርዝር፣ በመጀመሪያ የፀደይ ገንቢዎች የማይክሮ ፕሮፋይል ኤፒአይን በዕለት ተዕለት ስራቸው እንዴት እንደሚጠቀሙ ለማሳየት ኳርኩስ የስፕሪንግ ኤፒአይዎችን እንዴት እንደሚደግፍ ወሰን እና ዝርዝሮችን እንመለከታለን። ከዚያ ማይክሮፕሮፋይል ኤፒአይዎችን እንሸፍናለን፣ ይህም ለፀደይ ገንቢዎች ማይክሮ አገልግሎቶችን ሲፈጥሩ ጠቃሚ ነው።

ለምን ቋርኩስ? በመጀመሪያ፣ ይህ የቀጥታ ኮድ ማድረግ ነው፣ ይህም ማለት በማይክሮፕሮፋይል ኤፒአይ፣ ስፕሪንግ ኤፒአይ እና ሌሎች የጃቫ ኤፒአይዎች ውስጥ ያሉ ማናቸውንም ለውጦች በራስ ሰር ዳግም መጫን ነው፣ ይህም የሚከናወነው በአንድ ትዕዛዝ ብቻ ነው፡ mvn quarkus:dev. በሁለተኛ ደረጃ, ውስጥ ተብራርቷል በእኛ ምሳሌ ውስጥ የሰው አገልግሎት (ከSpring, MicroProfile እና JPA APIs ወደ ሁለትዮሽ የሚያጠናቅረው ቤተኛ GraalVM ምስልን በመጠቀም) በ0.055 ሰከንድ ብቻ ይጀምራል እና በ RESTful መተግበሪያ መጨረሻ ነጥብ ላይ ወደ 90 ሜባ RAM (RSS) ይወስዳል። በተጨማሪም ፣ ማጠናቀር ራሱ የሚከናወነው በአንድ ትእዛዝ ብቻ ነው-mvn ጥቅል -Pnative።

የስፕሪንግ ገንቢዎች በኳርኩስ ውስጥ ከማይክሮ ፕሮፋይል ኤፒአይዎች ጋር የስፕሪንግ ኤፒአይዎችን እንዴት መጠቀም እንደሚችሉ እንዲረዱ ከማገዝ ውጭ ስለ ማይክሮ ፕሮፋይል በዝርዝር አንናገርም።

ኮንቴይነሮች እና Kubernetes

ይህን ጽሑፍ ቀላል ለማድረግ፣ ከፍተኛ ደረጃ ያለውን የድጋፍ ገጽታዎች እዚህ ላይ ብቻ እንሸፍናለን። ኩባንያቶች, ምክንያቱም መረዳት አስፈላጊ ነው. ኳርኩስ ለኩበርኔትስ የጃቫ ቁልል ሆኖ ተቀምጧል፣ የጃቫ አፕሊኬሽኖችን እና አገልግሎቶችን የማህደረ ትውስታ ፍጆታ እና የጅምር ጊዜን ለመቀነስ የተነደፈ ነው፣ እናም በዚህ ምክንያት በአስተናጋጁ ላይ መጠናቸው እንዲጨምር እና አጠቃላይ ወጪዎችን እንዲቀንስ ተደርጓል።

ኳርኩስም እንዲሁ አውቶማቲክ ማመንጨትን ይደግፋል Kubernetes ሀብቶች እና ቅናሾች አመራር በ Kubernetes እና Red Hat OpenShift መድረኮች ላይ ለማሰማራት። በተጨማሪም ኳርኩስ ኮንቴይነሮችን ለመፍጠር የሚያስፈልጉትን Dockerfile.jvm (JVM packaging) እና Dockerfile.native (ቤተኛ ሁለትዮሽ ማሸጊያ) ፋይሎችን በራስ ሰር ያመነጫል።

በመጨረሻም፣ በኩበርኔትስ ላይ እንደ ዒላማ ማሰማሪያ አካባቢ በማተኮር፣ ኳርኩስ የጃቫ ማዕቀፎችን አይጠቀምም ተመሳሳይ ተግባር በኩበርኔትስ መድረክ እራሱ በሚተገበርበት ጊዜ። ሠንጠረዥ 1 በኩበርኔትስ እና በስፕሪንግ ገንቢዎች በሚጠቀሙት የተለመዱ የጃቫ ማዕቀፎች መካከል ያለውን ተግባራዊ የደብዳቤ ልውውጥ ካርታ ያቀርባል።

ሠንጠረዥ 1. በጃቫ ማዕቀፎች እና በኩበርኔትስ መካከል የተግባራዊ ደብዳቤዎች ካርታ.

ተግባራዊ
ባህላዊ የፀደይ ቡት
ኩባንያቶች

የአገልግሎት ግኝት
ዩሬካ
ዲ ኤን ኤስ

ውቅር
የፀደይ ክላውድ ውቅር
ካርታዎችን/ምስጢሮችን ያዋቅሩ

ጭነት ጭነት
ሪባን (የደንበኛ ጎን)
አገልግሎት፣ ማባዛት ተቆጣጣሪ (የአገልጋይ ጎን)

ከምሳሌው ላይ ኮዱን በማሰባሰብ እና በማሄድ ላይ

በዚህ ጽሑፍ ውስጥ እንጠቅሳለን ምሳሌ ፕሮጀክትየፀደይ እና የማይክሮፕሮፋይል ኤፒአይዎች እና ተመሳሳይ የጃቫ ክፍል እንኳን አንድ ላይ ጥቅም ላይ የሚውሉበት። በዚህ ምሳሌ ውስጥ ያለው ኮድ ከትዕዛዝ መስመሩ ሊሰበሰብ እና ሊሰራ ይችላል, ለዝርዝሮች README.md ፋይልን ይመልከቱ.

የፀደይ መዋቅር ኤፒአይዎች

የጥገኛ መርፌ

ኳርኩስ የተለያዩ ነገሮችን ይደግፋል አውዶች እና ጥገኝነት መርፌ (ሲዲአይ) ኤፒአይዎች እና የስፕሪንግ ጥገኝነት መርፌ (ስፕሪንግ DI) ኤፒአይዎች። ከማይክሮ ፕሮፋይል ጋር እየሰሩ ከሆነ፣ ጃቫ EE እና ጃካርታ EE, ከዚያ አስቀድመው ከሲዲአይ ጋር በደንብ ያውቃሉ. በሌላ በኩል፣ የፀደይ ገንቢዎች ከSፕሪንግ DI ጋር ተኳሃኝነትን ለማግኘት የኳርኩስ ኤክስቴንሽን ለፀደይ DI ኤፒአይን መጠቀም ይችላሉ። የሚደገፉትን የስፕሪንግ DI ኤፒአይዎችን የመጠቀም ምሳሌዎች በሰንጠረዥ 2 ውስጥ ተሰጥተዋል።

В ፕሮጀክት ከኛ ምሳሌ ሁለቱንም CDI እና የፀደይ ጥገኝነት መርፌን ይጠቀማል። በዚህ ርዕስ ላይ ለበለጠ መረጃ እና ምሳሌዎች፣ የተጠራውን የኳርኩስ መመሪያ ይመልከቱ ጸደይ DI መመሪያ.

ሠንጠረዥ 2. የሚደገፉትን የፀደይ DI ኤፒአይዎችን የመጠቀም ምሳሌዎች።

የሚደገፉ የፀደይ 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;
   }
}

የድር መዋቅር

የማይክሮ ፕሮፋይል ተጠቃሚዎች Quarkus JAX-RS፣ MicroProfile Rest Client፣ JSON-P እና JSON-Bን እንደ ዋና የድር ፕሮግራሚንግ ሞዴል መደገፉን ይወዳሉ። የስፕሪንግ ገንቢዎች የኳርኩስ የቅርብ ጊዜ ድጋፍ ለፀደይ ድር ኤፒአይ በተለይም የREST በይነገጽ ይደሰታሉ። ከSፕሪንግ DI ጋር በሚመሳሰል መልኩ፣ የስፕሪንግ ድር ኤፒአይ ድጋፍ ዋና ግብ የስፕሪንግ ገንቢዎች ከማይክሮፕሮፋይል ኤፒአይዎች ጋር በመተባበር የስፕሪንግ ድር ኤፒአይዎችን እንዲጠቀሙ ማስቻል ነው። የሚደገፉትን የስፕሪንግ ዌብ ኤፒአይዎችን እንዴት መጠቀም እንደሚቻል ምሳሌዎች በሰንጠረዥ 3 ውስጥ ቀርበዋል፣ እና በዚህ ርዕስ ላይ ተጨማሪ መረጃ እና ምሳሌዎች በሚባለው የኳርኩስ አጋዥ ስልጠና ውስጥ ይገኛሉ። የስፕሪንግ ድር መመሪያ.

ሠንጠረዥ 3. የሚደገፉትን የስፕሪንግ ድር ኤፒአይዎችን የመጠቀም ምሳሌዎች።

የሚደገፉ የጸደይ ድር ባህሪያት
ምሳሌዎች

@ restController
@RequestMapping

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

@GetMapping
@PostMapping
@PutMapping
@Mapping ሰርዝ
@PatchMapping
@RequestParam
@ጥያቄ ርዕስ
@Matrix ተለዋዋጭ
@PathVariable
@CookieValue
@RequestBody
@የመልስ ሁኔታ
@ExceptionHandler
@RestControllerAdvice (ከፊል)

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

የፀደይ ውሂብ JPA

የማይክሮ ፕሮፋይል ተጠቃሚዎች Quarkus Hibernate ORMን በመጠቀም JPAን እንደሚደግፍ ያደንቃሉ። ለስፕሪንግ ገንቢዎች ጥሩ ዜናም አለ፡ ኳርኩስ የተለመዱ የፀደይ ዳታ JPA ማብራሪያዎችን እና አይነቶችን ይደግፋል። የሚደገፈው የፀደይ መረጃ JPA APIs የመጠቀም ምሳሌዎች በሰንጠረዥ 4 ውስጥ ተሰጥተዋል።
В ፕሮጀክት ከኛ ምሳሌ የስፕሪንግ ዳታ JPA ኤፒአይዎች ጥቅም ላይ ይውላሉ እና ተጨማሪ መረጃ በሚባለው የኳርኩስ መማሪያ ውስጥ ይገኛል። የፀደይ ውሂብ JPA መመሪያ.

ሠንጠረዥ 4. የሚደገፉ የፀደይ ውሂብ JPA APIs የመጠቀም ምሳሌዎች።

የሚደገፉ የፀደይ ውሂብ JPA ባህሪዎች
ምሳሌዎች

ክሩድ ሪፖዚቶሪ

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

የማጠራቀሚያ
JpaRepository
ገጽ እና መደርደር ማከማቻ

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);
}

የማይክሮ ፕሮፋይል ኤፒአይዎች

ስህተትን መታገስ

የስህተት መቻቻል ግንባታዎች ብልሽቶችን ለመከላከል እና አስተማማኝ የማይክሮ አገልግሎት አርክቴክቸር ለመፍጠር በጣም አስፈላጊ ናቸው። የስፕሪንግ ገንቢዎች ለብዙ አመታት ለስህተት መቻቻል ወረዳ-መከላከያዎችን ሲጠቀሙ ቆይተዋል። ሂስትሪክስ. ሆኖም፣ Hystrix ለረጅም ጊዜ አልዘመነም፣ ነገር ግን የማይክሮ ፕሮፋይል ጥፋት መቻቻል አሁን በንቃት እያደገ ነው እና ከጀርባው የበርካታ ዓመታት የምርት አጠቃቀም አለው። ስለዚህ በኳርኩስ ያለውን የአገልግሎት አስተማማኝነት ለማሻሻል የማይክሮ ፕሮፋይል ፋልት መቻቻል ኤፒአይዎችን መጠቀም ይመከራል፣ ምሳሌዎቹ በሰንጠረዥ 5 ውስጥ ጥቅም ላይ ይውላሉ። ስለዚህ ጉዳይ የበለጠ መረጃ ለማግኘት የኳርኩስ መመሪያን ይመልከቱ። የስህተት መቻቻል መመሪያ.

ሠንጠረዥ 5. የሚደገፉ የማይክሮ ፕሮፋይል ስህተት መቻቻል ኤፒአይዎችን የመጠቀም ምሳሌዎች።

የማይክሮ ፕሮፋይል ስህተት መቻቻል ባህሪዎች
መግለጫ
ምሳሌዎች

@ አልተመሳሰልም።

በተለየ ክር ውስጥ ሎጂክን ማስፈጸም

@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(); //...
}

የፍተሻ አገልግሎቶች (የአገልግሎት ጤና)

የኩበርኔትስ መድረኮች ልዩ አገልግሎቶችን በመጠቀም የእቃዎችን ጤና ይቆጣጠራሉ. ከስር ያለው መድረክ አገልግሎቶችን እንዲከታተል ለመፍቀድ፣ የፀደይ ገንቢዎች በተለምዶ ብጁ HealthIndicator እና Spring Boot Actuator ይጠቀማሉ። በኳርኩስ ይህ የማይክሮ ፕሮፋይል ጤናን በመጠቀም ሊከናወን ይችላል ፣ይህም በነባሪ የአኗኗር ፍተሻን ያከናውናል ፣ ግን በተመሳሳይ ጊዜ ህያውነትን እና ዝግጁነትን ለመፈተሽ ሊዋቀር ይችላል። የሚደገፉትን የማይክሮ ፕሮፋይል ጤና ኤፒአይዎችን እንዴት መጠቀም እንደሚቻል ምሳሌዎች በሰንጠረዥ 6 ቀርበዋል እና ተጨማሪ መረጃ በኳርኩስ መመሪያ ቀርቧል። የጤና መመሪያ.

ሠንጠረዥ 6፡ የሚደገፉ የማይክሮ ፕሮፋይል ጤና ኤፒአይዎች አጠቃቀም ምሳሌዎች።

የማይክሮፕሮፋይል ጤና ባህሪዎች
መግለጫ
ምሳሌዎች

@ሕያውነት

መድረኩ ያልተሳኩ በመያዣ የተያዙ መተግበሪያዎችን ዳግም ያስጀምራቸዋል።
የመጨረሻ ነጥብ፡-
አስተናጋጅ: 8080 / ጤና / የቀጥታ ስርጭት

@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) መለኪያዎችን ይሰጣሉ። የፀደይ ገንቢዎች Spring Boot Actuator እና ማይክሮሜትር በመጠቀም መለኪያዎችን ይሰጣሉ። በተራው፣ ኳርኩስ የመነሻ መለኪያዎችን (JVM እና ስርዓተ ክወና)፣ የአቅራቢ መለኪያዎችን (ኳርኩስ) እና የመተግበሪያ መለኪያዎችን ለማቅረብ የማይክሮ ፕሮፋይል መለኪያዎችን ይጠቀማል። የማይክሮ ፕሮፋይል ሜትሪክስ አተገባበሩ JSON እና OpenMetrics (Prometheus) የውጤት ቅርጸቶችን እንዲደግፍ ይፈልጋል። የማይክሮ ፕሮፋይል ሜትሪክስ ኤፒአይን የመጠቀም ምሳሌዎች በሰንጠረዥ 7 ውስጥ ተሰጥተዋል።

В ፕሮጀክት ከኛ ምሳሌ የማይክሮ ፕሮፋይል መለኪያዎች የመተግበሪያ መለኪያዎችን ለማቅረብ ያገለግላሉ። ለበለጠ መረጃ የኳርኩስ መመሪያን ይመልከቱ መለኪያዎች መመሪያ.

ሠንጠረዥ 7. የማይክሮ ፕሮፋይል ሜትሪክስ ኤፒአይዎችን የመጠቀም ምሳሌዎች።

የማይክሮ ፕሮፋይል መለኪያዎች ባህሪዎች
መግለጫ
ምሳሌዎች

@ተቆጥሯል።

አንድ የተብራራ ነገር የተጠራበትን ጊዜ የሚቆጥር ቆጣሪ ቆጣሪን ያመለክታል

@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;
}

መለኪያዎች የመጨረሻ ነጥቦች

የመተግበሪያ መለኪያዎች localhost: 8080 / ሜትሪክስ / መተግበሪያ
መሰረታዊ መለኪያዎች localhost: 8080 / ሜትሪክስ / ቤዝ
የአቅራቢ መለኪያዎች localhost: 8080 / ሜትሪክስ / ሻጭ
ሁሉም መለኪያዎች localhost: 8080 / ሜትሪክስ

የማይክሮ ፕሮፋይል እረፍት ደንበኛ

ማይክሮ ሰርቪስ ብዙውን ጊዜ አብሮ ለመስራት ተዛማጅ የደንበኛ ኤፒአይዎችን የሚያስፈልጋቸው RESTful የመጨረሻ ነጥቦችን ይሰጣሉ። RESTful የመጨረሻ ነጥቦችን ለመጠቀም የፀደይ ገንቢዎች በተለምዶ RestTemplateን ይጠቀማሉ። Quarkus ይህንን ችግር ለመፍታት የማይክሮ ፕሮፋይል እረፍት ደንበኛ ኤፒአይዎችን ያቀርባል፣ የአጠቃቀም ምሳሌዎች በሰንጠረዥ 8 ተሰጥተዋል።

В ፕሮጀክት ከኛ ምሳሌ RESTful የመጨረሻ ነጥቦችን መጠቀም የማይክሮ ፕሮፋይል እረፍት ደንበኛን በመጠቀም ይከናወናል። በዚህ ርዕስ ላይ ተጨማሪ መረጃ እና ምሳሌዎች በኳርኩስ መመሪያ ውስጥ ይገኛሉ የእረፍት ደንበኛ መመሪያ.

ሠንጠረዥ 8. የማይክሮ ፕሮፋይል እረፍት ደንበኛ ኤፒአይዎችን የመጠቀም ምሳሌዎች።

የማይክሮ ፕሮፋይል እረፍት ደንበኛ ባህሪዎች
መግለጫ
ምሳሌዎች

@RegisterRestClient

የተተየበው የጃቫ በይነገጽ እንደ REST ደንበኛ ይመዘግባል

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

@ቀሪ ደንበኛ

የተተየበው REST ደንበኛ በይነገጽ ምሳሌ መተግበሩን ምልክት ያደርጋል

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

ድግግሞሽ

የ REST የመጨረሻ ነጥብ ይጠራል

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

mp-እረፍት/ዩአርኤል

የ REST የመጨረሻ ነጥብ ይገልጻል

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

ውጤቶች

በዋናነት በስፕሪንግ ገንቢዎች ላይ ያነጣጠረ በዚህ ብሎግ የJava ማይክሮ አገልገሎቶችን ለማዳበር እና በመቀጠል በመቶዎች የሚቆጠሩ ሜጋባይት ራም የሚቆጥብ እና የሚጀምርበትን የፀደይ ኤፒአይዎችን ከማይክሮ ፕሮፋይል ኤፒአይዎች ጋር በኳርኩስ እንዴት መጠቀም እንደሚቻል በፍጥነት ተመልክተናል። የሚሊሰከንዶች ጉዳይ።

አስቀድመው እንደተረዱት፣ ስለ ስፕሪንግ እና የማይክሮ ፕሮፋይል ኤፒአይዎች ድጋፍ እና እንዲሁም ሌሎች ብዙ ጠቃሚ መረጃዎችን በተመለከተ ተጨማሪ መረጃ በ ውስጥ ይገኛሉ። የኳርኩስ መመሪያዎች.

ምንጭ: hab.com

አስተያየት ያክሉ