Caij nplooj ntoos hlav Tutorial – Microservice nrog lub caij nplooj ntoos hlav Boot framework

Microservice with Spring Boot framework

Caij nplooj ntoos hlav Tutorial – Microservice nrog lub caij nplooj ntoos hlav Boot framework

Txheej txheem cej luam:

Lub tswvyim ntawm Microservices yog thaum lug muab tso rau hauv xyaum nyob enterprises. Piv rau lub monolithic nws lub nruab, Microservices muaj kev pab ntau dua thiab pab overcome cov kev txwv ntawm lub nruab monolithic, Tshwj xeeb tshaj yog nyob rau hauv cov ntsiab lus teb uas niaj hnub xav tau ntawm cov enterprises. Niaj hnub enterprises xav lesser downtime, tswj kom muaj kev txhawj xeeb, thiab yooj ywm ntawm lawv lub nruab. Kev pab coupling thiab high interdependence hla kev pab nyob rau lub nruab monolithic zog los ua ib barrier nyob rau hauv achieving li cas niaj hnub enterprises xav tau.

Microservices pub rau cov kev pab ntau dua yuav tsum ywj siab ywj siab thiab loosely kajsiab kom enterprises muaj ntau dua yooj yim thiab muaj kev vam meej. Raws li enterprises noj cov kev pab cuam ntawm Microservices, Kev pab dag zog thiab cov chaw muab kev pab yog muab tshem tawm los tsim lub nruab tshiab los yog upgrade uas twb muaj lawm. Lub caij nplooj ntoos hlav ntoos hlav lawm ib tej uas pab enterprises kom siv cov Microservices. The Spring Boot harnesses all good things about the Spring Framework that are necessary for Microservice development and customizes the caij nplooj ntoos hlav for Microservice development. You can say that the Spring Boot is a microframework that makes building Microservices easier because it packages necessary modules from the superset so that developers can choose the necessary modules without getting overwhelmed.








Microservices – Yog dab tsi?

Microservices, also known as the Microservices Architecture, are a group of loosely coupled software services that constitute a software suite. The services are also known as modules and they can manage a software module independently. The services can be, and usually are, different from one another. The services need to communicate with one another and they can do so in various ways. Qhov uas xaiv los sib txuas lus nyob ntawm tus software yuav tsum tau. Tseem, Qee yam ntawm cov txheej txheem uas siv los ntawm cov developers HTP/REST nrog JSON los yog Protobuf. Devops cov tub txawg yuav siv tau tej yam khoom uas lawv xav hais tias yog tsim nyog. Feem ntau, Tus sawv cev rau lub Xeev Transfer (SO) tswj tau yog siv vim yog txoj kev comparatively sab complexity.

Tej zaum qhov uas yuav to taub Microservices thiab cov kev pab cuam los piv nrog monolithic software lub nruab software. Microservices chaw nyob tej yam kev txwv ntawm lub nruab monolithic. Kev pab nyob rau hauv lub kaw lus monolithic yog nruj nruj nreem. Vim li ntawd, yog hais tias ib qho kev pab cuam kho los sis kho, Lwm cov kev pab no kuj raug kev cuam tshuam vim hais tias tag nrho cov kev pab yuav tsum tau muab rov qab thiab yuav tsum tau rov qab thov dua. Monolithic lub nruab kuj muaj ib zaug xwb khiav lub sij hawm uas raug nyiaj tag nrho cov kev pab, yuav tsum tsis pub ua. Li ntawd, lub nruab monolithics cov kev tsis cuam tshuam yog tsim nyog redeployments; Cov kev pab cuam nruj nreem los yog tsis muaj yooj yim; cov nuj nqis inefficiency thiab cov kev siv nyiaj ntau. Piv rau lub nruab nrog Microservice Architecture. Ib, yog hais tias koj xav tau hloov los yog kho ib qhov kev pab, koj thiaj li tsis raug nyiaj rau lwm tus. Tej zaum koj yuav tau, Txawm li cas los, yuav tsum tau rov xyuas cov txheej txheem kev sib txuas lus mus los yog kho los yog kho. Ob, Vim hais tias cov kev pab yog xoob xoob, hloov tau yog yooj yim uas tsis muaj kev cuam tshuam qhov system. Peb, Koj yeej siv tau cov kev pab raws li cov cai hais txog qhov lawv sib txuas lus los yog nyob ntawm seb ib leeg twg. Plaub, thaum koj rov ua haujlwm, Qhov kev pab cuam no tsuas yog redeployed.

Yuav tsum nyeem- Cov kauj ruam yuav ua hauj lwm nrog lub caij nplooj ntoos hlav xws li

Lub caij nplooj ntoos hlav?

Tus Caij nplooj ntoos hlav khau raj yog ib tug tshiab framework uas pab koj muaj caij nplooj ntoos hlav. Thaum uas suab tsis muaj dab tsi txog caij nplooj ntoos hlav Boot, Nws yuav pab koj lub caij nplooj ntoos hlav spring yog. Nws muaj tej txoj kev uas pab koj ua ntaub ntawv yooj yim. Ua ntej, Nws yuav pab kom koj tsis txhob sau verbose code, Kuj xa mus ua Boilerplate software txoj kev loj hlob los ntawm txoj kev loj hlob simplifying chaws sau ntawv. Thib ob, Nws aims dawb software developers ntawm XML dependency, Tej yam uas yog intrinsic heev nrog lub caij nplooj ntoos hlav springmework. Lub caij nplooj ntoos hlav, txoj kev, muag hnyav criticism vim nws cov bulky XML configuration. Nqaij npuas Boott tsis tsuas siv XML Thaum lub tsev software siv tiam sis txawm ua rau lub bold thov kev pab dawb developers los ntawm cov nqe lus sau ntawv import.

Yuav tsum nyeem – Nrhiav kom paub cov kev pab Batch caij nplooj ntoos hlav

Microservices & Nqaij npuas khau raj – Qhov kev txheeb ze yog dab tsi?

Caij nplooj ntoos hlav khau raj tsim Microservices yooj yim vim software developers yuav xaiv, thiab siv cov khaub ncaws los ntawm lub moj khaum tsis xav siv ntau lub sij hawm rau cov lus ntawm lub components. Lub plab hlaub rests rau saum lub caij nplooj ntoos hlav Framework thiab nws muab cov developers li cas lawv xav tau kom scour lub moj khaum thiab siv sij hawm nyob rau lub tsev components rau lub caij nplooj ntoos hlav. Koj yuav hais tias nws yog ib hom mini framework. Nqaij npuas Boott facilitates ntau dua productivity los ua tswvyim xws li reSTful HTTP thiab embedded webb yooj yim siv thiab deploy. Nplooj ntoos hlav khau yas muaj ntawv txaus mechanism rau lub tsev daim ntaub ntawv, hu ua lub caij nplooj ntoos hlav Initializer. Nws ua rau txoj kev loj hlob yooj yim uas tas cov developers xaiv raws nraim li qiv lawv xav tau, muab metadata thiab xwb generating peb tes num. Zuag qhia tag nrho, Txoj kev loj hlob ntawm Microservices yuav tau expedited siv Boott.








Coj daim ntawv & Configuration

Rau kev tsim microservices (siv lub caij nplooj ntoos hlav), Peb yuav tau ua raws li tej kauj ruam. Peb yuav tham txog cov kauj ruam ib los ntawm ib tug.

Yuav tsum nyeem – Dhia uas xeem coj – nws ua haujlwm li cas?

Kev pab:

Microservices yeej txawv ua hauj lwm ua ke. Nws yog ib qhov kev sib txuas lus raws li ib tug tivthaiv architecture. Tam sim no, Nrhiav cov Microservices, ib co sau npe tau tswj. Thiab, Txhua tus microservices yuav tsum sau npe muaj. Muaj ob peb lub registration servers (qhib tau qhov twg los) muaj nyob rau hauv lub lag luam. Ib tug hu ua 'Eureka’ uas yog incorporated los ntawm lub caij nplooj ntoos hlav huab. Caij nplooj ntoos hlav huab tseem txhawb 'Consul', uas yog ib lwm txoj rau 'Eureka'.

Qhia 1: Tus qauv sau npe

@SpringBootApplication

@EnableEurekaServer

Pej xeem cov kev pabcuam pej xeem {

 

pej xeem tsis muaj dabtsis loj zoo li qub(Txoj hlua[] args) {

// Lub plab hlaub yuav nrhiav kev pab npaj ua ntej-nyiaj tso npe.yml

Lawv... setproperty(“spring.config.name”, “pab neeg ua hauj lwm rau hauv npe”);

SpringAplication.khiav(Kev Pab Cuam.class, args);

}

}

Configuration (pas dej ua .xml):

Nyob rau hauv tshooj no peb yuav xyuas lub ntsiab components hauv pom.xml configuration ntaub ntawv.

Qhia 2: Qauv.xml txaus siab ua ntaub ntawv

<niam txiv>

<groupId>org.springframework.cloud</groupId>

<artifactId>caij nplooj ntoos hlav-starter-starter</artifactId>

<Version>_Brixton_. TSO</Version>

</niam txiv>

<dependencies>

<quav dej caws>

<!– Setup Caij Nplooj ntoos hlav –>

<groupId>org.springframework.boot</groupId>

<artifactId>khau raj-oob khaub-starter</artifactId>

</quav dej caws>

<quav dej caws>

<!– Setup Caij Nplooj ntoos hlav MVC thiab SO, siv embedded Tomcat pab –>

<groupId>org.springframework.boot</groupId>

<artifactId>caij nplooj ntoos hlav-starter-starter</artifactId>

</quav dej caws>

<quav dej caws>

<!– Caij nplooj ntoos hlav Cloud –>

<groupId>org.springframework.cloud</groupId>

<artifactId>caij nplooj ntoos hlav-starter</artifactId>

</quav dej caws>

<quav dej caws>

<!– Saib Eureka rau kev pab sau npe –>

<groupId>org.springframework.cloud</groupId>

<artifactId>caij nplooj ntoos hlav-starter-eureka-pab</artifactId>

</quav dej caws>

</dependencies>

Ntaub ntawv zog:

Nqa daim ntawv thov ib txwm kos npe ua ntawv thov.yml daim ntawv thov. Hauv daim ntawv thov no, Peb yuav muaj daim ntawv thov.yml (reg-srever.yml) Thov kom muab tej ntaub ntawv hais txog.

Qhia 3: Tus qauv sau npe

# Tshawb xyuas kev tshawb nrhiav

eureak:

lom:

hostname: localhost

ib nplua:

sau npe npe: tsis tseeb

fetchRegistry: tsis tseeb

neeg rau zaub mov:

chaw nres nkoj: 8761 # http (Tomcat) chaw nres nkoj

Tam sim no, yog peb qhib lub Eureka dashboard nyob http://localhost:8761, Seem no yuav npaj ua kom tiav. Li ntawd, Peb yuav tsum tau sau npe rau lub microservice nrog cov fouver. Tam sim no, yog peb refresh lub dashboard, Nws yuav qhia tau cov microservice muaj.

Nqa khau raj start-up class configuration:

Qhov no yog lub caij nplooj ntoos hlav khau raj start-up. Qhov no yog lub ntsiab nkag kis mus rau daim ntawv thov.

Qhia 4: Qauv caij nplooj ntoos hlav oob khab.

@EnableAutoConfiguration

@EnableDiscoveryClient

@Import(SampleWebAplication.class)

Pej xeem hoob kawm Accserver {

@Autowired

Accrepository accrepository;

pej xeem tsis muaj dabtsis loj zoo li qub(Txoj hlua[] args) {

// Configure siv acc-server.yml

Lawv... setproperty(“spring.config.name”, “pab pawg neeg”);

SpringAplication.khiav(Accerver.class, args);

}

}

Daim ntawv tso npe thov kev pab nrog foudations

Os, Peb yuav sau npe rau cov hoob kawm nrog cov fouver.

Qhia 5: Sau npe nrog tus fouder

# Lub caij nplooj ntoos hlav zog

caij nplooj ntoos hlav:

daim ntawv:

lub npe: kev pab

# Fouccery Server Access kom paub meej

eureak:

ib nplua:

Kev pab:

xav tau: http://localhost:8761/eurea/eureka/eureka

# HTTP pab paub meej

neeg rau zaub mov:

chaw nres nkoj: 8080 # http (Tomcat) chaw nres nkoj

Tam sim no, refresh lub dashboard, thiab nws yuav qhia cov microservice teev nyob rau hauv cov ntaub ntawv seem.








Xaus

No mas, kev txhim kho cov productivity thiab txuag lub sij hawm yog ob qhov tseem ceeb tshaj plaws ntawm lub caij nplooj ntoos hlav Boot thiab Microservices thaum lawv tseem. Txawm li cas los, Qhov no kuj yuav tsum tau muab sau tias nws tseem yog ib lub tswvyim tshiab kuj thiab cov neeg mloog yog tawm ntawm nws cov applicability thiab cov kev pab cuam tangible tseem tau mus accrue.

tshawb kawm – Nyeem ntxiv tsab xov xwm rau lub caij nplooj ntoos hlav

 

============================================= ============================================== Yuav zoo TechAlpine phau ntawv rau Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Txaus siab rau qhov blog? Tshaj tawm lus thov :)

Follow by Email
LinkedIn
LinkedIn
Share