Technology sharing

SpringCloud

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1. Quae sunt microservices?

1. notiones fundamentales

Microservices suntarchitectonica(differt ab architectura monolithica, architectura verticali, architectura distributa, architectura SOA), applicationes in minora, officia processus agitatae dividuntur.

2. Characteres microservices

  1. Leve: Scinditur systemata complexa seu officia verticaliter, et singulae microserviae in solvendis specialibus quaestionibus versantur.
  2. Humilis coniunctio: Quaelibet divisio servitii ab invicem independentia est secundum codicem, opes, et ambitum, et explicari, examinari, explicari et independenter posse conservari, quod utile est stabilitati systematis (ictum reducitur cum difficultates. occurrunt) et expansionem (opum augendi) resource aestimationem commodius ac minus periculi esse.
  3. Crux-platform: variae microformiae diversae linguae evolutionis uti possunt et in diversis ambitibus currunt.

2. Quid est SpringCloud?

1. notiones fundamentales;

Ver nubes est aMicroservices compage qui praebet solutiones amplissimas systematis distributae. Facultates praebet ut evolutionem et instruere microservorum, servitii adnotationes et inventionis, servitii regiminis, ac servitii operationem et sustentationem per componentizationem.

2. Communiter components;

1)Ver Cloud Netflix:

Signa: adnotatione centrum

Ribbon: onus librans

Fingere: remota vocatio

Hystrix: servitium circa ruptor

Zuul/Gateway:Gateway

2)Spring Cloud Mando: Centralised instrumentum configurationis administratio, repositio externa applicationis configurationis, adhiberi potest applicationes ad ver vel non ver.

3)Ver Cloud Bus: eventus ac nuntius bus, ad publicas mutationes vel configurationem mutationes eventus in botro solebant propagare.

4)Ver Cloud Consul: Service inventionis et configurationis instrumentum, compagem cum vasis Docker integratis.

5)Ver Cloud Securitatis: Securitas toolkit quod subsidium applicationem securitatis et authenticas praebet.

6)Ver Cloud Sleuth: distributum vocant catenam delineationem, compatibilem cum Zipkin, HTrace et ELK exarato.

7)Spring Cloud Cluster: Electio princeps, per abstractionem Zookeeper, Redis et Consul effecta.

8)Ver Cloud Data Flow: Microserviens orchestrationem, facile uteris per reticulum et gutta interfaciei vel REQUIES API.

9)Fons Cloud Streamo: Leve momentum microservii eventus agitatae compagem ad celeriter aedificandas applicationes quae ad systemata externa coniungunt.

10)Ver Cloud Negotium: Brevis-terminus microserviae compages ad celeriter aedificandas applicationes quae massam plenam datorum munerum processus.

3. Ad uti SpringCloud components

ver cloud tutorial--3.

vere cloud tutorial--4.

1. Hystrix (fuse, downgrade, limitans current)

1) Quid igitur faciam?

existin systemata distributa , si nodi deficiat aut deprauatio in retis occurrat, salutator obstruetur et opperiatur.Hoc vicissim ad lassitudinem subsidiorum in systematis fluminis salutatorum ducit, tandem inde insystema cadentem; . Ruptores ambitus efficaciter impedire possunt servitium avalanches.

Si repentina incrementa negotiationis, communis aditus estNegotium munera Non coreDegradationis servitii mensurae adoptantur ad tuendam normalem servitutem nuclei negotii functionum, dum ad nucleum functionis officia, limitandi mensuras adhibenda sunt.

2) An contingit in cliente latere vel in calculonis servi?

Servitii ambitus violator;plerumque Occurrit in parte servo (propositum est ut cito deficeret RECENS). (interdum etiam configurari potest in clientelam cito deesse, cum exceptio cuiusdam servientis inveniatur cum vocantem);
Degradatio servitii: plerumque in parte clientis occurrit. Cum altiore website postulatio oneris, cum servitium disiungitur vel clauditur, ministerium iam non vocabitur (interdum etiam figurari potest in parte servientis, cum ratio habet subita negotiatio, erit Core functiones inclinatas ad tuendam nucleum functiones);

Current limiting: plerumque evenit in calculonis servi parte;

III) quomodo uti

  • Meltdown:

@EnableCircuitBreaker: enabled in applicationfuse

@HistrixCommand(fallbackMethod="xxxFallback", commandProperties = {
}): Conjectio annotationis inclinatae annotationi additur. Imple in condiciones in imperioProperties fusas = {}.HystrixPropertiesManager类Sisto.

  1. @HystrixCommand(fallbackMethod = "xxxFallback",commandProperties = {
  2. //20秒内出现3个请求,失败率为30%,就会触发熔断,30秒内不再发送调用
  3. // 条件一: 请求数量达到3个
  4. @HystrixProperty(name = HystrixPropertiesManager.CIRCUIT_BREAKER_REQUEST_VOLUME_THRESHOLD, value = "3"),
  5. // 条件二: 每20秒一个判断单位
  6. @HystrixProperty(name = HystrixPropertiesManager.EXECUTION_ISOLATION_THREAD_INTERRUPT_ON_TIMEOUT,value = "20000"),
  7. // 条件三: 失败率30%
  8. @HystrixProperty(name = HystrixPropertiesManager.CIRCUIT_BREAKER_ERROR_THRESHOLD_PERCENTAGE, value = "30"),
  9. // 结果: 熔断后, 30秒内不再请求远程服务
  10. @HystrixProperty(name = HystrixPropertiesManager.CIRCUIT_BREAKER_SLEEP_WINDOW_IN_MILLISECONDS, value = "30000")
  11. })
  • Downgrade:

Novam xxxFallbackFactory classem ad efficiendum FallbackFactory et methodum creandi vincendi.

@FeignCliend(fallbackFactory=xxxFallbackFactory.class): Histrix integratur in Simula

Aut modum fallback directe denota in methodo: @HistrixCommand(fallbackMethod="xxxFallback")

  • Limiting:

        1、Vena bellandi cautum:

I), semaphore current modus

Semaphore ad numerum relatorum concurrentium moderari adhibetur. Specificare numerum licentiarum virtualium internarum per conditorem.

Si semaphorum solitudo technologia adhibetur, quoties petitio recipitur, servitium proprium linum directe vocat servitium dependens. Semaphora aequiparatur scopo Est 0, iam non est filum transire permissum, sed logica fallacissima directe est exsecuta et retusa.

Semaphora potest intelligicontra, calculus numerum petitionum actu processit. Cum valorem calculi ad valorem pervenerit, petitiones subsequentes non acceptandae (vel inclinatae) et expectare debes donec aestimatio calculi minor sit quam valor ante sequentes petitiones. potuimus.

  1. @HystrixCommand(
  2. commandProperties= {
  3. @HystrixProperty(name="execution.isolation.strategy", value="SEMAPHORE"),
  4. @HystrixProperty(name="execution.isolation.semaphore.maxConcurrentRequests", value="20")
  5. },
  6. fallbackMethod = "errMethod"
  7. )

2), stagnum stamina currentis

  1. @HystrixCommand(
  2. commandProperties = {
  3. @HystrixProperty(name = "execution.isolation.strategy", value = "THREAD")
  4. },
  5. threadPoolKey = "createOrderThreadPool",
  6. threadPoolProperties = {
  7. @HystrixProperty(name = "coreSize", value = "20"),
  8. @HystrixProperty(name = "maxQueueSize", value = "100"),
  9. @HystrixProperty(name = "maximumSize", value = "30"),
  10. @HystrixProperty(name = "queueSizeRejectionThreshold", value = "120")
  11. },
  12. fallbackMethod = "errMethod"
  13. )

Nota hic: injavaStagnum in sequela, si numerus filorum exceditcoreSize, stamina creationis petita primum queue intrabunt. Si queue plena est, stamina creabuntur donec numerus filorum perveniatmaximumSize atque abjecto consilio.Additur autem modulo in piscinis phialam hystricis conformatamqueueSizeRejectionThreshold,siqueueSizeRejectionThreshold < maxQueueSizeNumerus stantibus anteponerequeueSizeRejectionThresholdutemur reiectionem belli, itamaximumSize incassum.siqueueSizeRejectionThreshold > maxQueueSizeNumerus stantibus anteponeremaxQueueSizehora;maximumSizevalida est, ratio relatorum usque ad numerum pervenitmaximumSize

      2. Discrimen inter semaphoram venam limitationem et linum piscinæ currentis limitationem;

1) euismod gradu: Semaphore filum originale utitur et consummatio humilis perficientur habet;

2) Systema stabilitatis campestris: Fila piscinae solitariae sunt et problemata sua sponte stagnis stamina non afficiunt;

3) Synchronum et asynchronum: Quia semaphor est stamina originalia adhibita, synchrona est et interclusio.

        3. Current limitandi belli usus missiones;

Cum volumen petitionis valde intensum est, et supra caput sequelae solitariae relative altum est, commendatur ut semaphores ad onus redigendum sit. Commendatur methodo utendi sequelae piscinae in aliis missionibus.

4) Quid interest inter tres?

Limitatio currentis iustus est limitatio currentis. Quamdiu limites negotiationis non exceditur, servitium adhuc praesto est (diversi ab ambitu ruptor) et non deprimendus est (exceptio negotiationis limites etiam mittendus est pro RECENS ad tractandum. de se ipso). Modo loquamur de differentia inter praevaricatoris et deiectionis ambitum:

  • diversis notionibus

Circuitus ruptor significat servitutem quam totum perpendat (focusing in sui protectionem), descensum significat accipiendi optionem proximam optimam (focusing in linea ima tuenda), et limitatio hodierna refert ad quantitatem negotiationis quae excedere non potest.

  • Alia CT machinationes

Per defaltam, si hystrix deprehendit petitionem defectus rate excedit 50 inter 10 seconds, mechanismum praevaricatoris ambitum trigger. Post hoc, petitio ad microserviam in singulis 5 secundis retractatur. Si microservio in usu est, mechanismus circumventus ruptor avertitur et petitiones normales restituuntur.

Defalta hystrix mechanismum gradatim felis faciet sub his 4 conditionibus:

  1. Modus HystrixBadRequestException iaculans
  2. Modum vocationis timeout
  3. Conversus in circuitu praevaricator vocationem intercipiendi
  4. Stagnum vel filum queue vel semaphore plenum est
  • Alia dominii relationes

Mechanismus descensus in ambitu ruptor dici potest, sed mechanismus ruptor ambitus plerumque in downgradu vocari non potest.Quia praevaricator ambitus ab altiore prospectu incipit ac deactivates officia ad stabilitatem systematis stabiliendam, dum inclinatio est optima res proxima et solutionem spondet praebet, ideo relationes eorum dominii sunt diversae (circuitus ruptor &gt; downgradus).

2. simula et RestTemplate

Link content summarium:

  1. starter nant addere;
  2. Adde annotationem: @EnableFeignClients;
  3. Create finge interface:

@FeignClient(name="eureka-HA",fallbackFactory=DeptClientServiceFallbackFactory.class)

fons cloud tutorial-- 1. Celeriter demo viscus-gradus aedifices, modo hunc articulum_Ye Juyan-GitCode apertum fontem communitatis lege.Sine ulterius, sequere me et incipe tuum primum ver Cloud experientiam. Primum, recense elementa fundamentalia microservices: [Picture hic] Producer: Providere Consumer: Consume servitium Service registration/inventum centrum: Service adnotatione, inventio, vigilantia. intellege fundamentum architecturae fontium microservices: effectrix (cliens), consumptor (cliens), servitium registration/inventionis centrum (server) Ye Juyan GitCode apertum principium civitatisicon-default.png?t=N7T8https://gitcode.csdn.net/65e840841a836825ed78b9d0.html?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MzI1MTQ3NiwiZXhwIjoxNzIxMTM0MjcwLC3MjAjAJXQiJKV1QiLCJpYXQiJKXJUZI1NiJ9.eyJpZCI6MzI1MTQ3NiwiZXhwIjoxNzIxMTM0MjcwLC3MjAjAjM0M0MjcwLCJpYXQIJXJJUZI1NiJ9.eyJpZCI6MzI1MTQ3NiwiZXhwIjoxNzIxMTM0MjcwLC3MJpYXQiJKXJUZ1NiJ9. FfMTk5NTIwMjkifQ.7co5oRDfDrxtdqIsV-9AjJacdbURh-cikj5Rtxt7Z1c

3. Usus Zuul

refer ad:

Exsecutio practica de SpringBoot project architecturae "Gateway zuul construction" -CSDN Blog

4. Usus adnotatione centrum Eureka

refer ad:

SpringBoot project architectura actualis certaminis "parentis project constructionis et registration centri constructionis" _java construction verboot parentis project startup-CSDN blog

4. Quomodo SpringCloud operatur

1. Signa operationis principium:

  1. Servitium adnotatione: Cum servitium provisor incipit, adnotationem petitionem mittet servo Eureka, inclusa servitii IP inscriptio, numerus portus, nomen muneris et alia notitia. Post acceptam adnotationem roganti, Servus Eureka informationes muneris in memoriam servabit et munus externum electronicum adnotatione informationis inquisitionis praebebit.

  2. Operae inventio: Cum officium edax necesse est alia officia vocare, mittet servitii inventionis petitionem ad Servatorem Eurekae impetrandum indicem instantiarum officiorum debiti. Post acceptam petitionem, Servus Eureka reddet album instantiarum servitii respondentis, incluso IP inscriptione, numero portuum et aliis informationibus servitii. Ministerium consumptorium unum eligit ex instantiis muneris quae vocant (onus librationis) innixa in album instantiae redditae.

  3. Repressio cordis pulsatio sanitatis: Ministerium provisor regulariter pulsationem cordis in eureka servo mittet ad probandum ministerium eius in operatione normali esse. Si Servus Eureka non recipiat pulsum cordis ab instantia officii intra tempus, considerabit instantiam muneris deprimi et removere e indice servitii.

5. SpringCloud underlying source codice

1. porta Zuul source code

Exsecutio practica de SpringBoot project architecturae "Gateway zuul construction" -CSDN Blog Visum est et lectum 227 temporibus. Caput 3 Gateway Zuul Construction Praefatio: 1. Praecipua functiones Zuul maxime praebet fusuram dynamicam (exsecutionem in vitta constructam) et eliquationem (potest adhiberi ut colum authenticatio unita, cineraceum evulgandi colum, album et album IP colum nigrum, servitium colum currenti limitando) (Potest impleri cum Vigil)) munus; Nubes fons GateWay utitur API non intercluso, in limitando colum aedificato, nexus longos (ut interretiales) sustinet, et melior est quam Zuul in missionibus concursus magni et tardi responsionis ad finem muneris...https://blog.csdn.net/qq_19952029/article/details/124285479

2. Registration centrum Eureka source code

3. Circuit ruptor Histrix source code

4. configurationis centrum Mando source code

5. Load librans Ribbon source code

6. Microservice vocat fontem codice finge

6. Quomodo instrumentalia SpringCloud distributa transactiones?

Seata TCC modus praxis (Part II) -Alibaba Cloud Developer CommunitySeata TCC modus pugnandi actualis (Part II)icon-default.png?t=N7T8https://developer.aliyun.com/article/1053737?spm=5176.26934562.main.1.799c6a03T45SJ9Praedicta cursoria electronica non solvit quaestionem suspensionis, quae diversis indicibus status iudicari potest.

https://www.cnblogs.com/lilpig/p/16613226.htmlicon-default.png?t=N7T8https://www.cnblogs.com/lilpig/p/16613226.html

1. TCC modus partes

TM: Procurator Transactionis cum @GlobalTransaction annotationis generatus.

TC: Coordinator

RM: Participant

Totum processum est;

TM proxies res tuas global et tabulas cum TC ante initium executionis
TM incipit exsecutionem cuiusque rami transactionis in transactione globali, et RM registra et nuntia ramorum transactionum et status executionis ad TC.
Expleto rami negotio, TM petitionem inchoat ad TC committendum vel ad rem globalem retrahendam.

2. Sensus TCC resource reservationis, submissionis, et reverti.

Reservatio significat claudendi et adaequationis subsidii datorum ad statum medium, et deinde mutat statum effectivum cum secundus gradus committit post confirmationem.Ita reservatio tempus et reverti tempus committamusOmnes involvere databases operating, ita etiam confirmatio et regressus esse possunt defectibus quae exigunt processus manuales, qui solvi possunt per acta recordationis, retries compensantes, etc.

3. Commoda et incommoda TCC

Commoda TCC modus

  1. Directa submission in uno stadio, non DB crines, non in alio cincinno, bonum effectus
  2. Reservatio et recuperatio logica a te ipso scripta est et a datorum non pendet.

Incommoda TCC modus

  1. Coding est complex
  2. debiliter consistent
  3. quodConfirmetCancelPotest etiam deficere et debes cum hoc processu agere
  4. Quaedam negotia non sunt apta TCC exemplar.

4. XA modus

Firma constantia, componendo cum locali negotiorumque uniuscuiusque particeps committuntur et revolvuntur.

XA commoda modus

  1. Facile ad efficiendum, quia plerique databases iam transactiones XA sustinent, Seata solum indiget ad simplicem packaging
  2. fortis constantia

Incommoda XA modus

  1. Unicuique rei opus est ut omnes transactiones processus ut perficiantur, comas datorum occupantes, in egentes effectus et humilis promptibilitatem consequantur.
  2. Usus non est si datorum XA transactiones non sustinet

5. AT modus

infirmi constantia