Menene Tarin Sabis?

Sannu a sake!... A jajibirin fara karatun "Software Architect" Mun shirya wani fassarar mai amfani.

Menene Tarin Sabis?

Rukunin sabis shine mai daidaitawa, ƙarancin kayan aikin da ake buƙata don ɗaukar manyan ɗimbin hanyoyin sadarwa na tushen hanyar sadarwa tsakanin mu'amalar shirye-shiryen aikace-aikacen (APIs). Sabis Mesh yana ba da damar sadarwa mai sauri, abin dogaro da aminci tsakanin kwantena da sau da yawa sabis na ababen more rayuwa na aikace-aikace. Sabis Mesh yana ba da damar aiki kamar gano sabis, daidaita nauyi, ɓoyayye, bayyana gaskiya, ganowa, tantancewa da izini, da goyan bayan tsarin rufewa ta atomatik (kewaya).
Ana aiwatar da ragamar sabis ta hanyar samar da kowane misalin sabis tare da misalin wakili, wanda ake kira Sidecar. Sidecar kula da sadarwa tsakanin ayyuka, saka idanu da warware matsalolin tsaro, wato, duk abin da za a iya ɓoyewa daga sabis na mutum ɗaya. Ta wannan hanyar, masu haɓakawa na iya rubutawa, kiyayewa, da kuma bautar lambar aikace-aikacen a cikin ayyuka, kuma masu gudanar da tsarin za su iya aiki tare da Mesh Sabis kuma su gudanar da aikace-aikacen.

Istio daga Google, IBM da Lyft a halin yanzu shine mafi mashahurin gine-ginen sabis na raga. Kuma Kubernetes, wanda aka fara haɓakawa a Google, yanzu shine kawai tsarin kaɗe-kaɗe na kwantena wanda Istio ke tallafawa. Masu siyarwa suna ƙoƙarin ƙirƙirar nau'ikan Istio da ke tallafawa kasuwanci. Zai zama mai ban sha'awa don ganin sababbin abubuwan da za su iya kawowa ga aikin budewa.

Koyaya, Istio ba shine kawai zaɓi ba kamar yadda ake haɓaka wasu ayyukan Mesh na Sabis. Tsarin sidecar proxy shine mafi mashahuri aiwatarwa, kamar yadda za'a iya yanke hukunci ta ayyukan Buoyant, HashiCorp, Solo.io da sauransu. Hakanan akwai madadin gine-gine: kayan aikin fasaha na Netflix yana ɗaya daga cikin hanyoyin da ake aiwatar da aikin Mesh na Sabis ta hanyar ɗakunan karatu na Ribbon, Hysterix, Eureka, Archaius, da kuma dandamali kamar Fabric Sabis na Azure.

Sabis ɗin Sabis kuma yana da nasa ƙamus don abubuwan haɗin sabis da ayyuka:

  • Tsarin kaɗe-kaɗe na kwantena. Yayin da ake ƙara yawan kwantena zuwa kayan aikin aikace-aikacen, akwai buƙatar kayan aiki daban don saka idanu da sarrafa kwantena - tsarin tsararrun kwantena. Kubernetes ya shagaltu da wannan alkuki, ta yadda har ma manyan masu fafatawa Docker Swarm da Mesosphere DC/OS suna ba da haɗin kai tare da Kubernetes a matsayin madadin.
  • Ayyuka da Misalai (Kubernetes Pods). Misali shine kwafin microservice guda ɗaya mai gudana. Wani lokaci misali ɗaya shine akwati ɗaya. A Kubernetes, misali ya ƙunshi ƙaramin rukunin kwantena masu zaman kansu da ake kira kwaf. Abokan ciniki ba safai suke samun dama ga misali ko kwafsa kai tsaye; sau da yawa, suna samun damar sabis, wanda shine saiti iri ɗaya, ma'auni da kuskuren jurewa ko kwas (kwafi).
  • Sidecar Proxy. Sidecar Proxy yana aiki tare da misali guda ɗaya ko kwafsa. Ma'anar Sidecar Proxy shine zuwa hanya ko zirga-zirgar wakili da ke fitowa daga kwandon da yake aiki da shi da kuma dawo da zirga-zirga. Sidecar yana hulɗa tare da wasu Sidecar Proxies kuma ana sarrafa shi ta tsarin ƙungiyar mawaƙa. Yawancin aiwatar da Mesh na Sabis suna amfani da Sidecar Proxy don tsangwama da sarrafa duk zirga-zirga a ciki da waje na misali ko kwafsa.
  • Gano Sabis. Lokacin da wani misali yana buƙatar sadarwa tare da wani sabis, yana buƙatar nemo (gano) lafiyayyen misali na sauran sabis ɗin. Yawanci, misalin yana yin duban DNS. Tsarin kaɗe-kaɗe na kwantena yana kula da jerin lokuta waɗanda ke shirye don karɓar buƙatun kuma suna ba da hanyar sadarwa don tambayoyin DNS.
  • Load daidaitawa. Yawancin tsarin kade-kade na kwantena suna ba da daidaiton kaya a Layer 4 ( jigilar kaya). Sabis Mesh yana aiwatar da ƙarin hadaddun ma'auni na nauyi a Layer 7 (matakin aikace-aikacen), mai wadatar algorithms kuma mafi inganci wajen sarrafa zirga-zirga. Ana iya canza saitunan daidaita kaya ta amfani da API, yana ba ku damar tsara jigilar shuɗi-kore ko kanary.
  • Enciko. Sabis na Sabis na iya ɓoyewa da ɓoye buƙatun da martani, cire wannan nauyi daga ayyuka. Sabis ɗin Sabis kuma yana iya haɓaka aiki ta hanyar ba da fifiko ko sake yin amfani da haɗin kai na dindindin, rage buƙatar ƙididdige ƙididdiga masu tsada don ƙirƙirar sabbin haɗi. Mafi yawan aiwatar da ɓoyayyen hanya shine Mutual TLS (mTLS), Inda maɓalli na jama'a (PKI) ke samarwa da rarraba takaddun shaida da maɓallan don amfani da Sidecar Proxy.
  • Tabbatarwa da izini. Sabis ɗin Sabis na iya ba da izini da tabbatar da buƙatun da aka yi daga waje ko a cikin aikace-aikacen, aika ingantattun buƙatun kawai zuwa alƙawura.
  • Goyan bayan tsarin kashewa ta atomatik. Sabis Mesh yana goyan bayan tsarin kashewa ta atomatik, wanda ke keɓance lokuta marasa lafiya sannan kuma a hankali ya mayar da su zuwa tafkin marasa lafiya lokacin da ake buƙata.

Ana kiran ɓangaren aikace-aikacen Mesh na Sabis wanda ke sarrafa zirga-zirgar hanyar sadarwa tsakanin al'amura Jirgin Data. Ƙirƙiri kuma ƙaddamar da tsari wanda ke sarrafa ɗabi'a Jirgin Data, ana yin ta ta amfani da daban Jirgin Kulawa. Jirgin Kulawa yawanci ya haɗa ko an tsara shi don haɗawa zuwa API, CLI, ko GUI don sarrafa aikace-aikacen.

Menene Tarin Sabis?
Jirgin Kulawa a cikin Sabis ɗin Sabis yana rarraba daidaitawa tsakanin Sidecar Proxy da Jirgin Bayanai.

Ana amfani da gine-ginen Sabis sau da yawa don magance hadaddun matsalolin aiki ta amfani da kwantena da ƙananan sabis. Majagaba a fagen microservices kamfanoni ne irin su Lyft, Netflix da Twitter, waɗanda ke ba da ingantaccen sabis ga miliyoyin masu amfani a duniya. (Anan ga cikakken kallon wasu ƙalubalen gine-ginen da Netflix ya fuskanta.). Don ƙarancin aikace-aikacen da ake buƙata, ƙirar gine-gine mafi sauƙi za su wadatar.

Sabis Mesh gine ba shi yiwuwa ya zama amsar duk aikace-aikace da al'amurran da suka shafi bayarwa. Masu gine-gine da masu haɓakawa suna da babban kayan aiki na kayan aiki, kuma ɗaya daga cikinsu shine guduma, wanda, a cikin ayyuka da yawa, dole ne ya warware daya kawai - ƙusoshi masu hamma. Rubutun Magana na Microservices daga NGINX, alal misali, ya haɗa da nau'o'i daban-daban da yawa waɗanda ke ba da ci gaba na hanyoyin magance matsalolin ta amfani da ƙananan ayyuka.

Abubuwan da suka taru a cikin Tsarin Sabis na Sabis, kamar NGINX, kwantena, Kubernetes, da microservices a matsayin tsarin tsarin gine-gine, na iya zama daidai gwargwado a aiwatar da Mesh ɗin Sabis ɗin ba. Misali, Istio an ƙera shi azaman cikakken tsarin gine-ginen sabis, amma yanayin sa yana nufin masu haɓakawa za su iya zaɓar da aiwatar da abubuwan fasahar da suke buƙata kawai. Tare da wannan a zuciya, yana da mahimmanci don haɓaka fahintar fahimtar manufar Sabis ɗin Sabis, koda kuwa ba ku da tabbacin za ku taɓa iya aiwatar da shi gabaɗaya a aikace-aikacenku.

Modular monoliths da DDD

source: www.habr.com

Add a comment