“Ringkasnya, perkhidmatan mikro ialah gaya reka bentuk seni bina sistem. Tujuan utamanya adalah untuk memisahkan sistem asalnya bebas kepada berbilang perkhidmatan kecil. Perkhidmatan kecil ini semuanya berjalan dalam proses bebas mereka sendiri. RESTful API berasaskan HTTP untuk komunikasi dan kerjasama. Setiap perkhidmatan kecil yang dibahagikan dibina di sekeliling item tertentu atau beberapa fungsi perniagaan yang sangat digabungkan dalam sistem, dan setiap perkhidmatan mengekalkan storan datanya sendiri, pembangunan perniagaan, kes ujian automatik dan mekanisme penggunaan bebas.
“
Apakah itu Microservice Architecture
Ringkasnya, perkhidmatan mikro ialah gaya reka bentuk seni bina sistem. Tujuan utamanya adalah untuk memisahkan sistem asalnya bebas kepada berbilang perkhidmatan kecil. Perkhidmatan kecil ini semuanya berjalan dalam proses bebas mereka sendiri. RESTful API berasaskan HTTP untuk komunikasi dan kerjasama. Setiap perkhidmatan kecil yang dibahagikan dibina di sekeliling item tertentu atau beberapa fungsi perniagaan yang sangat digabungkan dalam sistem, dan setiap perkhidmatan mengekalkan storan datanya sendiri, pembangunan perniagaan, kes ujian automatik dan mekanisme penggunaan bebas.
Kebaikan dan keburukan seni bina perkhidmatan mikro
Kelebihan Perkhidmatan Mikro
・Setiap perkhidmatan mikro adalah kecil supaya ia boleh menumpukan pada fungsi perniagaan tertentu atau keperluan perniagaan.
・Perkhidmatan mikro boleh dibangunkan secara bebas oleh pasukan kecil 2 hingga 5 pembangun.
・Perkhidmatan mikro adalah perkhidmatan yang digandingkan secara longgar dan bermakna secara fungsional yang bebas sama ada ia berada dalam fasa pembangunan atau fasa penggunaan.
・Perkhidmatan mikro boleh dibangunkan dalam bahasa yang berbeza, seperti Java, Python, PHP, C#, dll.
・Perkhidmatan mikro membenarkan cara yang mudah dan fleksibel untuk menyepadukan penggunaan automatik melalui alat penyepaduan berterusan seperti Jenkins, Travis CI, dsb.
・Ahli baharu sesebuah pasukan boleh memasuki pengeluaran dengan lebih cepat.
・Perkhidmatan mikro mudah difahami, diubah suai dan diselenggara oleh pembangun tunggal, supaya pasukan kecil boleh lebih fokus pada kerja mereka sendiri. Nilai tidak perlu direalisasikan melalui kerjasama.
・Perkhidmatan mikro membolehkan anda memanfaatkan gabungan teknologi terkini.
・Perkhidmatan mikro hanyalah kod untuk logik perniagaan, tidak dicampur dengan HTML, CSS atau komponen antara muka yang lain.
・Perkhidmatan mikro boleh ditingkatkan mengikut permintaan.
・Perkhidmatan mikro boleh digunakan pada pelayan dengan konfigurasi pertengahan hingga rendah.
・Mudah untuk disepadukan dengan sistem aplikasi pihak ketiga.
・Setiap perkhidmatan mikro mempunyai kapasiti storan sendiri, dan boleh mempunyai pangkalan data sendiri atau pangkalan data bersatu.
Kelemahan Microservices
・Seni bina perkhidmatan mikro mungkin memperkenalkan terlalu banyak operasi;
・Perlu meningkatkan kemahiran aplikasi DevOps;
・Usaha berganda diperlukan untuk membawa cabaran tertentu kepada pembangunan dan operasi dan penyelenggaraan;
・Sistem teragih adalah lebih kompleks dan sukar untuk diurus daripada seni bina aplikasi monolitik;
・Adalah sukar untuk mendiagnosis kerosakan, dan penjejakan penggunaan yang diedarkan adalah lebih rumit daripada seni bina monolitik;
・Apabila bilangan perkhidmatan bertambah, kerumitan pengurusan bertambah.
Pertempuran praktikal seni bina perkhidmatan mikro dalam aplikasi perindustrian
Berikut ialah penjelasan tentang kes pendaratan sebenar seni bina perkhidmatan mikro Gechuang Dongzhi dalam pelanggan dalam industri pengeluaran perindustrian. Seni bina perkhidmatan mikro semasa syarikat ditunjukkan dalam rajah di bawah.
Syarikat itu mempunyai MES, EDA, RPT, SPC, OEE, FDC dan aplikasi lain, antaranya aplikasi pertanyaan dan analisis telah dipindahkan ke seni bina perkhidmatan mikro, menggunakan Spring Cloud.
Mengambil sistem RPT sebagai contoh, selepas menggunakan SpringCloud, anda hanya perlu membangunkan kod yang berkaitan dengan logik perniagaan untuk laporan baharu. Konfigurasi, kebenaran dan kod pengesahan lain dikendalikan oleh seni bina perkhidmatan mikro. Pengerahan pembangunan dan ujian lebih pantas berbanding sebelum ini. , dan penyepaduan Dengan penggunaan teknologi Python, dalam beberapa senario tertentu, kecekapan pengendalian sistem juga telah dipertingkatkan dengan ketara.
Dalam sistem analisis pengecualian, Spark MLlib telah digunakan sebelum ini, tetapi dari segi meramalkan pengecualian produk, Keras Python adalah lebih baik. Selepas mengimport seni bina perkhidmatan mikro, seni bina “campuran” Scala dan Python boleh digunakan dengan mudah. Ketepatan analisis telah dipertingkatkan .
Semasa proses migrasi, kami menghadapi masalah “sempadan” perkhidmatan mikro. Dalam proses reka bentuk dan transformasi seni bina perkhidmatan mikro, masalah yang tidak dapat dielakkan ialah cara menentukan sempadan perkhidmatan, cara mengenal pasti perkhidmatan dan cara mengesahkan butiran perkhidmatan mikro. . Kita mungkin mendengar bahawa perkhidmatan tidak boleh terlalu besar atau terlalu kecil, sudah tentu ini adalah konsep umum. Jadi, persoalannya, betapa besarnya besar dan betapa kecilnya kecil.
Perkhidmatan yang direka bentuk dengan baik harus mengandungi lima ciri berikut:
Ciri 1: Perkhidmatan ini tidak berkongsi pangkalan data dengan perkhidmatan lain
Ciri 2: Perkhidmatan harus mengandungi seberapa sedikit jadual pangkalan data yang mungkin
Ciri 3: Perkhidmatan sama ada mengandungi makna perniagaan yang lengkap, atau merupakan perkhidmatan awam sejagat.
Ciri 4: Perkhidmatan yang baik harus memastikan ketersediaan datanya terlebih dahulu.
Ciri 5: Dalam sistem perniagaan, perkhidmatan hanya boleh menjadi satu-satunya sumber yang dipercayai.
Aplikasi seperti sistem MES dan sistem EDA yang sangat berkaitan dengan pengeluaran mempunyai logik perniagaan yang kompleks dan gandingan yang kuat, dan sukar untuk “memecahkan” perkhidmatan untuk memenuhi lima ciri di atas. Jadi tidak mungkin untuk “memecahkannya” buat masa ini.
Ringkasnya, seni bina perkhidmatan mikro lebih sesuai untuk aplikasi pertanyaan dan analisis dalam aplikasi pembuatan, dan peranannya dalam aplikasi kawalan pengeluaran yang sangat berkaitan dengan pengeluaran masih perlu diterokai.