Pagpapatuloy sa ang tema ng ebolusyon at mga pagbabago sa mga tularan at pamamaraan ng pagtatrabaho nangyari sa lugar ng pag-unlad ng software, na kamakailan naming hinawakan sa mga artikulong tinawag "Pagpapaunlad ng Software: Isang makasaysayang pagsusuri hanggang sa kasalukuyang araw", "Interoperability sa pamamagitan ng Cloud: Paano ito makakamtan?" y "XaaS: Cloud Computing - Lahat bilang isang Serbisyo", ngayon pag-uusapan natin Mga mikropono.
Ang mga microservice ay isang modernong arkitektura ng software, hindi isang API (Application Programming Interface) o isang teknolohiya mismo, na maaaring mai-install at magamit. Ang mga arkitektura ng software, na kilala rin bilang mga pattern ng software, ay ganap na dayuhan sa mga wika ng programa, dahil itinatatag lamang nila ang paraan kung saan dapat gumana ang mga teknolohiya at hindi kung paano ito ipinatupad.
Pagpapakilala
Ang mga mikropono ay maaaring makita bilang isang ebolusyon ng SOA Architecture (Service-oriented Architecture), na gumagabay sa mga developer na lumikha ng higit pang mga modular na application, na gumagana at nagsasarili, na may mataas na kapasidad na muling magagamit sa isang mahusay na paraan, tulad ng ginagawa sa isang katulad na paraan, kapag na-optimize namin ang paggamit ng ilang mga hardware, kung saan ito lamang magbubukas kung ano ang talagang kinakailangan, sa halip na iladlad ang buong potensyal na hindi kinakailangan.
Ang Arkitektura ng Mga Mikropono, sa pagsasagawa ay hindi pa ito lumaganap tulad ng teorya, iyon ay, mas kilala ito kaysa sa ginamit. Gayunpaman, araw-araw pa, maraming mga developer ang nagpapatupad nito sapagkat ito ay isang modelo ng pagbuo ng software na Pinapabuti nito ang mga variable ng oras, pagganap at katatagan sa loob ng mga proyekto kung saan ito inilapat. Bukod, ang kanyang simpleng nauugnay na kakayahang sumukat Ginagawa itong angkop lalo na sa mga pagpapaunlad kung saan ang pagiging tugma ng cross-platform (Web, Mobile, Wearables, IoT) ay mahalaga.
Pero habang ang SOA ay isang mas mataas na antas ng Arkitektura, iyon ay, isang Arkitektura kung saan ang mga application na batay sa mga serbisyo ay binuo, kung saan ang isang serbisyo ay ang pinakamaliit at pinaka-gumaganang yunit ng trabaho sa loob ng isang nilikha na application, Arkitektura ng Mga Mikropono rin Pinapayagan kaming lumikha ng mga serbisyo, ngunit ang mga serbisyong ito ay dinisenyo sa isang napakaliit at tiyak na paraan upang matupad nila ang isang napaka-tumpak at maagap na pag-andar, sa paraang maaari silang mai-decouples mula sa natitirang mga application at gumana sa isang ganap na autonomous na paraan mula sa natitirang aplikasyon kung saan ito nilikha.
Ano ang Mga Arkitektura ng Software (Mga pattern)?
Upang maunawaan nang mabuti ang Arkitektura ng Software ng mga Mikropono, magandang malaman ng kaunti tungkol sa lahat ng pinakatanyag na mayroon nang Mga Arkitektura ng Software. Maraming mga mayroon, tulad ng makikita sa site ng oodesign o simpleng sa Wikipedia, ngunit ayon sa tanyag na libro na tinawag «Pattern ng Disenyo ng Libro» (Book ng Mga pattern ng Disenyo) ang mga mayroon nang mga pattern ay maaaring maiuri bilang:
Malikhain
Ang mga nakikipag-usap sa mga paraan upang makapag-umpisa ng mga bagay at na ang hangarin ay i-abstract ang proseso ng instantiation at itago ang mga detalye kung paano nilikha o naisimula ang mga bagay. Sa klase na ito ang mga sumusunod:
- Pabrika ng abstract
- Ang nagpapagawa
- Paraan ng Pabrika
- Tularan
- walang pareho
Struktural
Ang mga naglalarawan kung paano maaaring pagsamahin ang mga klase at bagay (simple o compound) upang makabuo ng malalaking istraktura at magbigay ng bagong pagpapaandar. Sa klase na ito ang mga sumusunod:
- Adaptor
- Bridge
- Pinaghalo
- Dekorador
- Harapan
- Malakas na timbang
- Kahalili
Pag-uugali
Ang mga makakatulong sa amin na tukuyin ang komunikasyon at pag-ulit sa pagitan ng mga object ng isang system. Ang layunin ng pattern na ito ay upang mabawasan ang pagkabit sa pagitan ng mga bagay. Sa klase na ito ang mga sumusunod:
- Chain Ng Pananagutan
- Utos
- Tagapagsalin
- Tagapag-ulit
- Tagapamagitan
- Pagunita
- Tagapagmasid
- estado
- Estratehiya
- Paraan ng Template
- Panauhin
mga iba
Ang mga nakaraang disenyo ng pattern ay nagpahayag ng mga iskema na tumutukoy sa mga istruktura ng disenyo na kung saan magtatayo ng mga system ng software. Ngunit kapag nais naming mas mahusay na ipahayag ang isang pangunahing iskema ng organisasyon at istruktura para sa nilikha na mga system ng software, karaniwang nakikita namin ang iba pang pag-uuri na ito:
- Slate na arkitektura
- DAO: Layunin sa Pag-access ng Data
- DTO: Layunin ng Paglipat ng Data
- EDA: Araw na Pinatakbo ng Kaganapan
- Implicit na paanyaya
- Mga hubad na bagay
- Layered na programa
- Peer-to-peer
- Padaanin sa tubo
- SOA: Architecture na Nakatuon sa Serbisyo
- Tatlong antas
Nariyan din ang "Modelong Tingnan ang Controller" na kilala at ginamit, at nahahati sa:
- Model / View / Controller
- Model / View / Presenter
- Model / View / Presenter na may Model Presenter
- Model / View / View-Model
- Model / View / Presenter na may Passive View
- Model / View / Presenter kasama ang Supervisor Controller
Pagiging ang «Model View Controller» isa sa pinakakilala at ipinatupad ngayon, hindi ito sapat upang maibigay ang kinakailangang pag-andar sa isang corporate application, at ito ang isa sa mga pangunahing dahilan kung bakit, Pinalitan ng Microservices Architecture ang Model-View-Controller (MVC).
Mga kalamangan ng arkitektura ng mikroskopyo
Kapag ang isang web platform ay gumagamit ng arkitektura ng Microservices, karaniwang mayroon itong mga sumusunod na kalamangan:
- Lumutas madali ang bawat problema o problema na ipinakita sa pamamagitan ng pagtugon sa bawat maliit na mikroskopyo na kasangkot sa isang tukoy na sitwasyon.
- Para iwasan pangkalahatan o pandaigdigan na pagkabigo ng mga serbisyo, dahil kapag nabigo ang isang mikrobyo ay hindi ito nakakaapekto sa iba, sapagkat sila ay ganap na nagsasarili.
- Para madali ang paglulunsad at pagsasama ng kumpleto o tukoy na mga pagpapaandar o serbisyo, yamang ang bawat mikrobyo ay maaaring idagdag o matanggal at ma-update nang hiwalay at progresibo.
- Para gumaling pag-access sa mga application o serbisyo na nilikha mula sa lahat ng uri ng mga aparato at platform.
- Aumentar ang kagalingan ng maraming kaalaman sa platform, yamang ang microservices ay maaaring ipamahagi sa iba't ibang mga server at maisulat sa iba't ibang mga wika.
Mga Open Source Frameworks
Maraming mga pagpipilian sa bukas na mapagkukunan na maaaring magamit ng mga developer ng software upang makabuo ng mga solusyon na bahagi ng Mga Arkitektura ng mikroskopyo. Partikular para sa Java, na isang malawak na ginagamit na teknolohiya para dito, may mga sumusunod:
- Kuliglig
- dropwizard
- Eclipse MicroProfile
- Helidon
- Dyesi
- Payara Micro
- maglaro
- restlet
- Dagitab
- Spring boot
- Kalabasa
- pagmamayabang
- telepresence
- WildFly Thorntail
- zipkin
Mga Halimbawa sa Web kasama ang Mga Arkitektura ng Mikrosko
Kabilang sa malaking bilang ng mga website na nagbibigay ng malakihang mga serbisyo ng aplikasyon at paunti-unting ipinatupad ang arkitektura ng mikroskopyo upang mapabuti ang pagpapanatili at kakayahang sumukat ng kanilang platform ng mga serbisyo at produkto, ginagawa itong simple, mabisa at mabilis, maaari nating banggitin ang tatlong pangunahing mga industriya. Ano ang mga ito:
- Birago
- ebay
- Netflix
Konklusyon
Ito ay malinaw na Malaki ang naiambag ng mga microservice sa Modern Web-based Software DevelopmentNgunit nangangahulugan din sila ng pagtutuon ng maraming mga bagong hamon upang malutas. Ang mga problemang hindi lamang kinalaman sa pag-aaral ng Framework at mahusay na pagtatrabaho, ngunit kung paano din ang mga bagong pagpapaunlad ay kinumpleto at ipinatupad sa mga kagawaran ng IT, na sa huli ay ang naglalagay sa kanila ng online at namamahala sa kanila, at mayroong isang boto ng bigat sa pangwakas na mga desisyon tungkol sa bawat pag-unlad. Pero Ang Arkitektura na ito ay narito at matagal na itong nanatili.