Bersambung dengan tema evolusi dan perubahan paradigma dan kaedah kerja berlaku dalam bidang pengembangan perisian, yang baru-baru ini kita bahas dalam artikel yang disebut "Pembangunan Perisian: Kajian sejarah hingga kini", "Interoperabiliti melalui Cloud: Bagaimana mencapainya?" y "XaaS: Pengkomputeran Awan - Semuanya Sebagai Perkhidmatan", hari ini kita akan membincangkan Perkhidmatan Mikro.
Perkhidmatan mikro adalah seni bina perisian moden, bukan API (Antaramuka Pengaturcaraan Aplikasi) atau teknologi itu sendiri, yang dapat dipasang dan digunakan. Seni bina perisian, juga dikenali sebagai corak perisian, sama sekali tidak asing dengan bahasa pengaturcaraan, kerana mereka hanya menetapkan cara teknologi harus berfungsi dan bukan bagaimana ia dilaksanakan.
pengenalan
Perkhidmatan mikro dapat dilihat sebagai evolusi Senibina SOA (Senibina Berorientasikan Perkhidmatan), yang membimbing pemaju untuk membuat aplikasi yang lebih modular, yang berfungsi dan autonomi, dengan kapasitas tinggi untuk digunakan kembali dengan cara yang efisien, seperti yang dilakukan dengan cara yang serupa, ketika kita mengoptimumkan penggunaan beberapa perkakasan, di mana ia hanya terungkap apa yang benar-benar perlu, dan bukannya memanfaatkan sepenuhnya sepenuhnya tanpa perlu.
Seni Bina Perkhidmatan Mikro, dalam praktiknya tidak begitu luas seperti teori, iaitu, ia lebih dikenali daripada yang digunakan. Namun, setiap hari semakin banyak pembangun yang melaksanakannya kerana ia adalah model pembangunan perisian yang Ia meningkatkan masa, prestasi dan kestabilan pemboleh ubah dalam projek di mana ia digunakan. Selain itu, miliknya skalabiliti berkaitan sederhana menjadikannya sangat sesuai dalam perkembangan di mana keserasian merentas platform (Web, Mudah Alih, Wearables, IoT) sangat penting.
Tetapi sementara SOA adalah Arkitek peringkat yang lebih tinggi, iaitu, Senibina di mana aplikasi berdasarkan perkhidmatan dibina, di mana perkhidmatan adalah unit kerja terkecil dan paling berfungsi dalam aplikasi yang dibuat, Senibina Perkhidmatan Mikro juga membolehkan kami membuat perkhidmatan, tetapi perkhidmatan ini dirancang dengan cara yang sangat kecil dan spesifik sehingga mereka berfungsi dengan tepat dan tepat waktu, sedemikian rupa sehingga mereka dapat dipisahkan dari aplikasi yang lain dan berfungsi dengan cara yang sepenuhnya autonomi dari aplikasi yang lain di mana ia dibuat.
Apakah Arkitek Perisian (Corak)?
Untuk memahami Senibina Perisian Mikro Perkhidmatan dengan baik, ada baiknya kita mengetahui sedikit tentang semua Senibina Perisian yang sedia ada yang terkenal. Terdapat banyak yang ada, seperti yang dapat dilihat di laman web Rancangan Oodes atau hanya di Wikipedia, tetapi menurut buku terkenal yang disebut "Buku Reka Bentuk Corak" (Buku Corak Reka Bentuk) corak yang ada boleh dikelaskan sebagai:
Penciptaan
Mereka yang berurusan dengan cara untuk membuat objek dan yang tujuannya adalah untuk mengabstraksi proses instantiasi dan menyembunyikan perincian bagaimana objek dibuat atau diinisialisasi. Di kelas ini adalah seperti berikut:
- Kilang abstrak
- Pembina
- Kaedah Kilang
- Prototaip
- Singleton
Struktural
Mereka yang menerangkan bagaimana kelas dan objek (sederhana atau kompaun) dapat digabungkan untuk membentuk struktur besar dan memberikan fungsi baru. Di kelas ini adalah seperti berikut:
- Adapter
- Bridge
- Komposit
- Penghias
- Facade
- Flyweight
- Proksi
Kelakuan
Mereka yang membantu kita menentukan komunikasi dan iterasi antara objek sistem. Tujuan corak ini adalah untuk mengurangkan gandingan antara objek. Di kelas ini adalah seperti berikut:
- Rangkaian Tanggungjawab
- Perintah
- Penterjemah
- Pengulangan
- Pengantara
- Cenderahati
- Pemerhati
- Negeri
- Strategi
- Kaedah Templat
- Pelawat
orang lain
Corak reka bentuk sebelumnya menyatakan skema yang menentukan struktur reka bentuk untuk membina sistem perisian. Tetapi apabila kita ingin menyatakan skema organisasi dan struktur asas untuk sistem perisian yang dibuat dengan lebih baik, kita biasanya mendapat klasifikasi lain:
- Senibina batu tulis
- DAO: Objek Akses Data
- DTO: Objek Pemindahan Data
- EDA: Senibina Didorong oleh Acara
- Permintaan tersirat
- Objek telanjang
- Pengaturcaraan berlapis
- Peer-to-peer
- Paip
- SOA: Senibina Berorientasikan Perkhidmatan
- Tiga peringkat
Terdapat juga "Model Pandangan Pengawal" yang terkenal dan digunakan, dan terbahagi kepada:
- Model / Paparan / Pengawal
- Model / Paparan / Penyampai
- Model / Paparan / Penyampai dengan Model Penyampai
- Model / Pandangan / Model Lihat
- Model / Paparan / Penyampai dengan Paparan Pasif
- Model / Paparan / Penyampai dengan Pengawas Penyelia
Menjadi "Model Pandangan Pengawal" salah satu yang paling terkenal dan dilaksanakan hari ini, tidak mencukupi untuk menyediakan fungsi yang diperlukan untuk aplikasi korporat, dan ini adalah salah satu sebab utama mengapa, Senibina Mikro Perkhidmatan menggantikan Model-View-Controller (MVC).
Kelebihan Senibina Mikro Perkhidmatan
Apabila platform web menggunakan Senibina Mikro Layanan, biasanya mempunyai kelebihan berikut:
- Menyelesaikan dengan mudah setiap masalah atau masalah yang dikemukakan dengan menangani setiap perkhidmatan mikro kecil yang terlibat dalam situasi tertentu.
- Untuk mengurangkan Kegagalan perkhidmatan umum atau global, kerana apabila Perkhidmatan Mikro gagal, ia tidak akan mempengaruhi perkhidmatan yang lain, kerana mereka benar-benar bebas.
- Untuk meredakan pelancaran dan penggabungan fungsi atau perkhidmatan lengkap atau khusus, kerana setiap Mikroservice dapat ditambah atau dikeluarkan dan dikemas kini secara berasingan dan progresif.
- Untuk menjadi lebih baik akses ke aplikasi atau perkhidmatan yang dibuat dari semua jenis peranti dan platform.
- Meningkatkan fleksibiliti platform, kerana Perkhidmatan Mikro dapat diedarkan pada pelayan yang berbeza dan ditulis dalam bahasa yang berbeza.
Kerangka Sumber Terbuka
Terdapat banyak pilihan sumber terbuka yang boleh digunakan oleh pembangun perisian untuk mengembangkan penyelesaian yang merupakan sebahagian daripada Architectures Microservices. Khusus untuk Java, yang merupakan teknologi yang banyak digunakan untuk ini, ada yang berikut:
- Kriket
- dropwizard
- Eclipse MicroProfile
- Helidon
- Jersey
- Payara Mikro
- bermain
- Letakkan semula
- Mencetuskan
- Boot musim bunga
- Skuasy
- Pusing
- telepresence
- WildFly Thorntail
- zipkin
Contoh Web dengan Senibina Mikro Perkhidmatan
Di antara sebilangan besar laman web yang menyediakan perkhidmatan aplikasi berskala besar dan secara beransur-ansur menerapkan Senibina Mikro Perkhidmatan untuk meningkatkan penyelenggaraan dan skalabiliti platform perkhidmatan dan produk mereka, menjadikannya mudah, berkesan dan cepat, kita dapat menyebutkan tiga laman web utama dalam industri Apakah mereka:
- Amazon
- ebay
- Netflix
Kesimpulan
Jelas bahawa Perkhidmatan mikro banyak menyumbang kepada Pembangunan Perisian berasaskan Web ModenTetapi mereka juga bermaksud menangani banyak cabaran baru untuk diselesaikan. Masalah yang tidak hanya berkaitan dengan Kerangka belajar dan bekerja dengan cekap, tetapi juga bagaimana perkembangan baru ini dilengkapkan dan dilaksanakan di jabatan IT, yang pada akhirnya adalah orang yang menjadikannya dalam talian dan menguruskannya, dan mendapat berat dalam keputusan akhir mengenai setiap perkembangan. Tetapi Senibina ini ada di sini dan sudah lama tinggal.