Tanpa berlengah lagi, mari terus ke intinya.
, yang membahagikan modul unit perkhidmatan mengikut perniagaan,menyelesaikan kelemahan sistem tunggal, dan memenuhi keperluan perniagaan yang semakin kompleks. Martin Fowler: Pada masa ini, tiada definisi bersatu dan standard untuk industri perkhidmatan mikro. Tetapi secara amnya, seni bina perkhidmatan mikro ialah corak seni bina atau gaya seni bina yang menyokong pembahagian satu aplikasi kepada satu set perkhidmatan kecil. Setiap perkhidmatan berjalan dalam proses tersendiri Perkhidmatan bekerjasama dan menyelaras antara satu sama lain untuk menyediakan pengguna dengan nilai tertinggi. Gunakan komunikasi ringan antara perkhidmatan. Setiap perkhidmatan dibina berdasarkan perniagaan tertentu dan boleh digunakan secara bebas ke persekitaran pengeluaran. Di samping itu, mekanisme pengurusan perkhidmatan yang bersatu dan berpusat harus dielakkan sebaik mungkin. Dalam istilah orang awam:
Microservice ialah aplikasi perkhidmatan bebas dengan satu tanggungjawab. Dalam alat idea intellij, terdapat modul bebas yang dibangunkan menggunakan maven Secara khusus, ia adalah modul kecil yang dibangunkan menggunakan springboot untuk mengendalikan satu logik perniagaan profesional Setiap modul hanya melakukan satu perkara.
Perkhidmatan mikro menekankan saiz perkhidmatan, memfokuskan pada titik tertentu, secara khusus menyelesaikan masalah tertentu/melaksanakan aplikasi perkhidmatan yang sepadan, yang boleh dianggap sebagai modul dalam idea.
Sebagai contoh, jika anda pergi ke hospital: gigi anda berasa tidak selesa, kemudian anda pergi ke doktor gigi. Jika anda mengalami sakit kepala, maka anda pergi ke bahagian otak. Setiap jabatan adalah perkhidmatan mikro, dan setiap fungsi adalah perkhidmatan.
2. Bagaimanakah perkhidmatan mikro berkomunikasi secara bebas?
Komunikasi segerak: dobbo melalui RPC panggilan prosedur jauh, springcloud melalui antara muka REST panggilan json, dsb. Asynchronous: baris gilir mesej, seperti: RabbitMq, ActiveM, Kafka, dsb.
3. Apakah perbezaan antara SpringCloud dan Dubbo?
Pertama sekali, semuanya adalah rangka kerja pengurusan yang diedarkan.
dubbo ialah penghantaran binari, yang mengambil kurang lebar jalur. SpringCloud menggunakan http penghantaran, yang akan mempunyai lebih banyak lebar jalur Pada masa yang sama, menggunakan protokol http biasanya menggunakan JSON mesej, yang akan menggunakan lebih banyak.
Dubbo sukar dibangunkan, dan pakej balang yang diharap mempunyai banyak masalah projek besar tidak dapat diselesaikan. Warisan pihak ketiga SpringCloud boleh dijana dengan satu klik dan bersepadu secara semula jadi.
- Perjanjian protokol antara muka SpringCloud agak longgar,
langkah pentadbiran yang kukuh diperlukan untuk mengehadkan peningkatan antara muka yang tidak teratur .
- Perbezaan terbesar:
Spring Cloud meninggalkan komunikasi RPC Dubbo dan menggunakan kaedah REST berdasarkan HTTP. - Tegasnya, kedua-dua kaedah ini mempunyai kelebihan dan kekurangan yang tersendiri. Walaupun pada tahap tertentu, yang terakhir mengorbankan prestasi panggilan perkhidmatan, ia juga mengelakkan masalah yang disebabkan oleh RPC asli yang disebutkan di atas. Selain itu, REST lebih fleksibel daripada RPC Pembekal perkhidmatan dan pemanggil hanya bergantung pada kontrak kertas, dan tiada pergantungan yang kuat pada tahap kod Ini lebih sesuai dalam persekitaran perkhidmatan mikro yang menekankan evolusi pantas.
4. . makro);
SpringBoot boleh digunakan secara bebas tanpa SpringCloud, tetapi SpringCloud tidak boleh digunakan tanpa SpringBoot, yang merupakan hubungan pergantungan.
5. Apakah itu penurunan taraf perkhidmatan?
Fungsi pemutus litar servis adalah serupa dengan fius isi rumah kami Apabila perkhidmatan menjadi tidak tersedia atau masa respons tamat, untuk mengelakkan runtuhan seluruh sistem, panggilan ke perkhidmatan dihentikan buat sementara waktu.
Degradasi perkhidmatan adalah berdasarkan situasi beban keseluruhan sistem Untuk situasi tertentu di mana bebannya agak tinggi, untuk mengelakkan fungsi tertentu (senario perniagaan) daripada dibebankan atau bertindak balas dengan perlahan, secara dalaman meninggalkan permintaan untuk sementara. beberapa antara muka dan data bukan teras, dan secara langsung mengembalikan maklumat pengendalian ralat sandaran yang disediakan terlebih dahulu. Dengan cara ini, walaupun perkhidmatan lossy disediakan, kestabilan dan ketersediaan keseluruhan sistem adalah terjamin.
6. Apakah kelebihan dan kekurangan perkhidmatan mikro? Beritahu saya tentang perangkap yang anda temui dalam projek itu.
Kelebihan: Gandingan longgar, memfokuskan pada satu fungsi perniagaan, bebas daripada bahasa pembangunan dan saiz pasukan yang dikurangkan. Semasa pembangunan, anda tidak perlu tahu banyak tentang perniagaan, hanya fokus pada fungsi semasa, yang mudah dan terpusat, dan fungsinya kecil dan halus. Jika satu fungsi perkhidmatan mikro rosak, ia tidak akan memberi banyak kesan kepada fungsi lain, dan masalah itu boleh dikesan dengan cepat. Microservices hanya menumpukan pada kod logik perniagaan semasa dan tidak akan dicampur dengan html, css atau antara muka lain. Ia boleh dipadankan secara fleksibel dengan teknologi, dan lebih selesa untuk berdikari.
Keburukan: Apabila bilangan perkhidmatan meningkat, pengurusan adalah kompleks, penggunaan adalah kompleks, keperluan pelayan meningkat, komunikasi perkhidmatan dan tekanan panggilan meningkat, jurutera operasi dan penyelenggaraan meningkatkan tekanan, sumber manusia meningkat, kebergantungan sistem meningkat, dan ketekalan data meningkat , pemantauan prestasi.
7. Apakah perbezaan antara eureka dan zookeeper?
zookeeper adalah berdasarkan prinsip CP, konsistensi yang kuat dan toleransi kerosakan partition. eureka ialah prinsip AP ketersediaan dan toleransi partition. ZooKeeper Apabila nod induk gagal, ZooKeeper akan memilih semula nod induk daripada nod yang tinggal, yang mengambil masa terlalu lama Walaupun ia akhirnya boleh dipulihkan, perkhidmatan itu tidak akan tersedia semasa pemilihan nod induk, yang tidak boleh diterima. Semua nod dalam eureka adalah sama jika satu nod ditutup, nod lain masih akan mengekalkan perkhidmatan biasa.
8 Apakah susunan teknologi yang anda tahu tentang perkhidmatan mikro? Senaraikan satu atau dua.Ar chaius, Ali’s Dlamond, etc
Servis pemutus litar Hystrix, Utusan, dsb. Pengimbangan beban Nginx, Reben, dsb. Panggilan antara muka perkhidmatan (klien dsb dipermudahkan) Mesej beratur Kafka、 RabbitMQ, ActiveMQ, dsb. Pengurusan pusat konfigurasi perkhidmatan SpringCloudConfig, Chef, dsb. Pemantauan perkhidmatan Penghalaan perkhidmatan Zabbix, Nagios, Metrik, Penonton dan banyak lagi Penjejakan pautan penuh Zipkin, Brave, Dapper, dll. Penyerahan perkhidmatan Docker, OpenStack, Kubernetes, dsb dengan Redis, Arnab , kafka, dsb. Hantar dan terima mesej) Bas Mesej Acara Bas Awan Musim Bunga 9 Apakah itu seni bina perkhidmatan mikro?
Jika anda faham apa itu perkhidmatan mikro lebih awal, maka pada dasarnya anda sudah memahami seni bina perkhidmatan mikro.
Seni bina perkhidmatan mikro adalah untuk mengurus, menyepadukan dan menggunakan perkhidmatan mikro. Seni bina perkhidmatan mikro bergantung pada perkhidmatan mikro dan berdasarkan perkhidmatan mikro.
Contohnya: Apakah perkhidmatan mikro yang telah disenaraikan di atas. Di hospital, setiap jabatan adalah perkhidmatan mikro bebas, jadi hospital adalah seni bina perkhidmatan mikro berskala besar, sama seperti pengarah boleh menguruskan jabatan berikut. Seni bina perkhidmatan mikro terutamanya mempunyai fungsi ini.
Atas ialah kandungan terperinci Berapa banyak daripada 9 soalan temuduga perkhidmatan mikro ini boleh anda jawab?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!