Senibina Mikro Perkhidmatan - Pelajari, Bina dan Terapkan Perkhidmatan Mikro



Blog ini menerangkan mengenai Architecture Microservice secara terperinci. Ini juga merangkumi kebaikan dan keburukan dan kajian kes yang menjelaskan seni bina UBER.

Senibina Perkhidmatan Mikro:

Daripada saya , anda mesti mendapat pemahaman asas mengenai Microservice Architecture.Tetapi, menjadi profesional dengan memerlukan lebih daripada sekadar asas. Di blog ini, anda akan memahami konsep seni bina dengan mendalam dan menerapkannya menggunakan kajian kes UBER.

Di blog ini, anda akan mengetahui perkara berikut:





  • Definisi Senibina Mikro Perkhidmatan
  • Konsep Utama Senibina Mikro Perkhidmatan
  • Kelebihan dan Kekurangan Senibina Mikro Perkhidmatan
  • UBER - Kajian Kes

Anda boleh merujuk ke , untuk memahami asas dan faedah Microservices.

Itu hanya akan adil sekiranya saya memberi anda definisi Mikro Perkhidmatan.



Definisi Perkhidmatan Mikro

Oleh itu, tidak ada definisi yang tepat untuk Microservices aka Microservice Architecture, tetapi anda boleh mengatakan bahawa ini adalah kerangka kerja yang terdiri daripada perkhidmatan kecil yang dapat digunakan secara individu yang melakukan operasi yang berbeza.

Perkhidmatan mikro menumpukan pada domain perniagaan tunggal yang dapat dilaksanakan sebagai perkhidmatan yang dapat digunakan sepenuhnya sepenuhnya dan menerapkannya pada tumpukan teknologi yang berbeza.

Perbezaan Antara Senibina Monolitik Dan Perkhidmatan Mikro - Senibina Mikro Perkhidmatan - Edureka



Rajah 1: Perbezaan Antara Senibina Monolitik dan Mikro - Perkhidmatan Senibina Mikro

Rujuk rajah di atas untuk memahami perbezaan antara seni bina perkhidmatan monolitik dan mikro.Untuk pemahaman yang lebih baik mengenai perbezaan antara kedua-dua seni bina, anda boleh merujuk ke blog saya sebelumnya

Untuk membuat anda lebih memahami, izinkan saya memberitahu anda beberapa konsep utama seni bina perkhidmatan mikro.

Konsep Utama Senibina Mikro Perkhidmatan

Sebelum anda mula membina aplikasi anda sendiri menggunakan perkhidmatan mikro, anda harus jelas mengenai skop dan fungsi aplikasi anda.

Berikut adalah beberapa panduan yang harus diikuti semasa membincangkan perkhidmatan mikro.

Garis Panduan Semasa Merancang Perkhidmatan Mikro

  • Sebagai pembangun, apabila anda membuat keputusan untuk membuat aplikasi, pisahkan domain dan jelas dengan fungsinya.
  • Setiap perkhidmatan mikro yang anda reka hanya tertumpu pada satu perkhidmatan aplikasi.
  • Pastikan bahawa anda telah merancang aplikasi sedemikian rupa sehingga setiap perkhidmatan dapat digunakan secara individu.
  • Pastikan komunikasi antara perkhidmatan mikro dilakukan melalui pelayan tanpa status.
  • Setiap perkhidmatan dapat terus diubah menjadi layanan yang lebih kecil, memiliki layanan mikro mereka sendiri.

Sekarang, setelah anda membaca garis panduan asas semasa merancang perkhidmatan mikro, mari kita fahami seni bina perkhidmatan mikro.

Bagaimana Arkitek Perkhidmatan Mikro berfungsi?

Senibina Mikroservice tipikal (MSA) harus terdiri daripada komponen berikut:

apakah keyerror dalam python
  1. Pelanggan
  2. Penyedia Identiti
  3. API Gateway
  4. Format Pemesejan
  5. Pangkalan Data
  6. Kandungan Statik
  7. Pengurusan
  8. Penemuan Perkhidmatan

Rujuk rajah di bawah.

Gambar 2: Senibina Mikro Perkhidmatan - Senibina Mikro Perkhidmatan

Saya tahu seni bina kelihatan agak kompleks, tetapi biarkanSayapermudahkan untuk anda.

1. Pelanggan

Senibina dimulakan dengan pelbagai jenis klien, dari pelbagai peranti yang berusaha melakukan pelbagai kemampuan pengurusan seperti mencari, membina, mengkonfigurasi dll.

2. Penyedia Identiti

cara menggunakan sprite css

Permintaan dari klien ini kemudian diteruskan kepada penyedia identiti yang mengesahkan permintaan klien dan menyampaikan permintaan tersebut ke API Gateway. Permintaan tersebut kemudian disampaikan kepada perkhidmatan dalaman melalui API Gateway yang ditentukan dengan baik.

3. API Gateway

Oleh kerana pelanggan tidak menghubungi perkhidmatan secara langsung, API Gateway bertindak sebagai pintu masuk bagi klien untuk meneruskan permintaan ke perkhidmatan mikro yang sesuai.

Kelebihan menggunakan gateway API termasuk:

  • Semua perkhidmatan boleh dikemas kini tanpa diketahui oleh pelanggan.
  • Perkhidmatan juga boleh menggunakan protokol pemesejan yang tidak mesra web.
  • API Gateway dapat melakukan fungsi rentas seperti memberikan keselamatan, pengimbangan beban dll.

Setelah menerima permintaan pelanggan, seni bina dalaman terdiri daripada perkhidmatan mikro yang saling berkomunikasi melalui mesej untuk menangani permintaan pelanggan.

4. Format Pemesejan

Terdapat dua jenis mesej yang mereka sampaikan:

  • Mesej segerak: Dalam keadaan di mana pelanggan menunggu maklum balas dari perkhidmatan, Perkhidmatan Mikro biasanya cenderung digunakan REST (Pemindahan Negeri Perwakilan) kerana bergantung pada pelayan pelanggan tanpa status, dan Protokol HTTP . Protokol ini digunakan kerana ini adalah lingkungan yang diedarkan dan setiap fungsi ditunjukkan dengan sumber daya untuk menjalankan operasi
  • Mesej tidak segerak: Dalam keadaan di mana pelanggan tidak menunggu tindak balas dari perkhidmatan, Mikroservice biasanya cenderung menggunakan protokol seperti AMQP, STOMP, MQTT . Protokol-protokol ini digunakan dalam jenis komunikasi ini kerana sifat pesan ditentukan dan mesej-mesej ini harus dapat dikendalikan antara pelaksanaan.

Soalan seterusnya yang mungkin terlintas di benak anda adalah bagaimana aplikasi yang menggunakan Mikroservice menangani data mereka?

5. Pengendalian Data

Nah, setiap Microservice memiliki pangkalan data peribadi untuk menangkap data mereka dan melaksanakan fungsi perniagaan masing-masing. Juga, pangkalan data Microservice dikemas kini melalui API perkhidmatan mereka sahaja. Rujuk rajah di bawah:

Gambar 3: Perwakilan Data Pengendalian Mikro - Senibina Mikro

Perkhidmatan yang disediakan oleh Microservices diteruskan ke perkhidmatan jarak jauh yang menyokong komunikasi antara proses untuk tumpukan teknologi yang berbeza.

6. Kandungan Statik

Setelah Perkhidmatan Mikro berkomunikasi dalam diri mereka, mereka menyebarkan kandungan statik ke perkhidmatan storan berasaskan awan yang dapat menyampaikannya terus kepada pelanggan melalui Rangkaian Penghantaran Kandungan (CDN) .

Selain daripada komponen di atas, terdapat beberapa komponen lain yang terdapat dalam Senibina Mikro Perkhidmatan:

7. Pengurusan

Komponen ini bertanggungjawab untuk mengimbangi perkhidmatan pada nod dan mengenal pasti kegagalan.

8. Penemuan Perkhidmatan

Bertindak sebagai panduan kepada Mikro Perkhidmatan untuk mencari jalan komunikasi di antara mereka kerana ia menyediakan senarai perkhidmatan di mana node berada.

Langgan saluran youtube kami untuk mendapatkan kemas kini baru ..!

Sekarang, mari kita lihat kebaikan dan keburukan seni bina ini untuk mendapatkan pemahaman yang lebih baik tentang kapan menggunakan seni bina ini.

Kebaikan dan Kekurangan Senibina Mikro Perkhidmatan

Rujuk jadual di bawah.

Kelebihan Senibina Mikroservice Kekurangan Mikro Perkhidmatan Senibina
Kebebasan untuk menggunakan teknologi yang berbezaMeningkatkan cabaran mengatasi masalah
Setiap perkhidmatan mikro memberi tumpuan kepada kemampuan perniagaan tunggalMeningkatkan kelewatan kerana panggilan jarak jauh
Menyokong unit yang boleh digunakan secara individuPeningkatan usaha untuk konfigurasi dan operasi lain
Membolehkan pengeluaran perisian kerapSukar menjaga keselamatan transaksi
Menjamin keselamatan setiap perkhidmatanSukar untuk mengesan data merentasi pelbagai had perkhidmatan
Pelbagai perkhidmatan dikembangkan dan digunakan secara selariSukar untuk memindahkan kod antara perkhidmatan

Marilah kita memahami lebih banyak mengenai Perkhidmatan Mikro dengan membandingkan seni bina UBER sebelumnya dengan yang sekarang.

KAJIAN KES UBER

Senibina Sebelumnya UBER

perbezaan antara peta hash dan jadual hash

Seperti banyak syarikat permulaan, UBER memulakan perjalanannya dengan seni bina monolitik yang dibina untuk satu persembahan di satu bandar. Memiliki satu pangkalan data kelihatan bersih pada masa itu, dan menyelesaikan masalah perniagaan utama UBER. Namun, ketika UBER mulai berkembang ke seluruh dunia, mereka menghadapi berbagai masalah dengan tegas mengenai skalabilitas dan integrasi berterusan.

Gambar 4: Senibina Monolitik UBER - Senibina Mikro Perkhidmatan

Gambar rajah di atas menggambarkan seni bina UBER sebelumnya.

  • API REST hadir dengan sambungan penumpang dan pemandu.
  • Tiga adaptor yang berbeda digunakan dengan API di dalamnya, untuk melakukan tindakan seperti penagihan, pembayaran, pengiriman e-mel / mesej yang kita lihat ketika kita memesan teksi.
  • Pangkalan data MySQL untuk menyimpan semua data mereka.

Oleh itu, jika anda perhatikan di sini semua ciri seperti pengurusan penumpang, penagihan, ciri pemberitahuan, pembayaran, pengurusan perjalanan dan pengurusan pemandu disusun dalam satu kerangka.

Pernyataan masalah

Semasa UBER mula berkembang ke seluruh dunia kerangka seperti ini memperkenalkan pelbagai cabaran. Berikut adalah beberapa cabaran yang ketara

  • Semua fitur harus dibangun kembali, digunakan dan diuji lagi dan lagi untuk mengemas kini satu fitur.
  • Memperbaiki pepijat menjadi sangat sukar dalam satu repositori kerana pembangun harus mengubah kodnya berulang-ulang kali.
  • Meningkatkan ciri secara serentak dengan pengenalan ciri baru di seluruh dunia agak sukar untuk dikendalikan bersama.

Penyelesaian

Untuk mengelakkan masalah seperti itu, UBER memutuskan untuk mengubah senibina dan mengikuti syarikat pertumbuhan tinggi seperti Amazon, Netflix, Twitter dan banyak lagi. Oleh itu, UBER memutuskan untuk memecahkan seni bina monolitiknya menjadi beberapa pangkalan kod untuk membentuk seni bina perkhidmatan mikro.

Rujuk rajah di bawah untuk melihat seni bina perkhidmatan mikro UBER.

Gambar 5: Senibina Mikro Perkhidmatan UBER - Senibina Mikro Perkhidmatan

  • Perubahan utama yang kami perhatikan di sini adalah pengenalan API Gateway yang menghubungkan semua pemandu dan penumpang. Dari API Gateway, semua titik dalaman dihubungkan seperti pengurusan penumpang, pengurusan pemandu, pengurusan perjalanan dan lain-lain.
  • Unit-unit tersebut adalah unit yang dapat digunakan secara berasingan yang melaksanakan fungsi yang berasingan.
    • Contohnya: Sekiranya anda ingin mengubah apa-apa dalam perkhidmatan mikro pengebilan, anda hanya perlu menggunakan perkhidmatan mikro pengebilan dan tidak perlu menggunakan perkhidmatan yang lain.
  • Semua ciri kini diskalakan secara berasingan iaitu saling bergantung antara setiap ciri yang dikeluarkan.
    • Sebagai Contoh, kita semua tahu bahawa jumlah orang yang mencari teksi lebih banyak berbanding orang yang sebenarnya membuat tempahan teksi dan membuat pembayaran. Ini membuat kita membuat kesimpulan bahawa jumlah proses yang berfungsi pada perkhidmatan mikro pengurusan penumpang lebih banyak daripada jumlah proses yang berjalan pada pembayaran.

Di dalam inicara, UBER mendapat keuntungan dengan beralihituseni bina dari monolitik hingga Perkhidmatan Mikro.

Saya harap anda seronok membaca catatan ini di Microservice Architecture.Saya akan hadir dengan lebih banyak blog, yang juga mengandungi banyak maklumat.
Berminat Mempelajari Lebih Lanjut Mengenai Perkhidmatan Mikro?

Sekiranya anda ingin mempelajari Perkhidmatan Mikro dan membina aplikasi anda sendiri, maka periksa kami yang dilengkapi dengan latihan langsung yang dipimpin oleh instruktur dan pengalaman projek kehidupan sebenar. Latihan ini akan membantu anda memahami Perkhidmatan Mikro secara mendalam dan membantu anda mencapai penguasaan terhadap subjek ini.

Ada soalan untuk kami? Sila sebutkan di bahagian komen ” Senibina Perkhidmatan Mikro 'Dan saya akan menghubungi anda.