High-speed Service Framework (HSF) adalah kerangka layanan panggilan prosedur jarak jauh (RPC) terdistribusi yang banyak digunakan di Alibaba Group.
Ikhtisar
HSF bertindak sebagai perantara antara berbagai sistem bisnis, membantu memisahkan sistem-sistem ini dan mengurangi ketergantungan di antara mereka. HSF menyatukan metode publikasi dan pemanggilan layanan untuk aplikasi terdistribusi. HSF mengelola operasi teknis kompleks dalam arsitektur terdistribusi, seperti komunikasi jarak jauh, serialisasi, kehilangan performa, serta implementasi panggilan sinkron dan asinkron. Anda dapat menggunakan HSF untuk dengan cepat mengembangkan aplikasi terdistribusi dan menyediakan atau menggunakan modul fungsi umum.
Arsitektur HSF
HSF adalah kerangka RPC yang sepenuhnya bekerja di sisi klien dan tidak memproses permintaan melalui kluster pusat. Semua layanan HSF dipanggil antara konsumen layanan dan penyedia layanan dalam mode titik-ke-titik. HSF bergantung pada sistem eksternal berikut untuk mengimplementasikan sistem layanan terdistribusi yang lengkap.
- Penyedia layanan
Penyedia layanan menggunakan port 12200 untuk menerima permintaan, menyediakan layanan, dan mempublikasikan informasi alamat ke registri alamat.
- Konsumen layanan
Konsumen layanan berlangganan layanan melalui registri alamat dan memulai panggilan berdasarkan informasi alamat dari layanan yang dilanggan. Registri alamat tidak terlibat dalam panggilan.
- EDAS registri alamat
HSF hanya dapat mengimplementasikan penemuan layanan melalui registri alamat. Jika tidak, HSF hanya dapat melakukan panggilan titik-ke-titik.
Penyedia layanan tidak dapat mengekspos informasi layanannya, sehingga konsumen layanan tidak dapat memperoleh layanan yang ingin dipanggil. Dalam hal ini, registri alamat berfungsi sebagai perantara yang memungkinkan pendaftaran dan penemuan layanan.
- EDAS pusat konfigurasi persisten
Pusat konfigurasi persisten digunakan untuk menyimpan aturan tata kelola layanan HSF. Saat startup, konsumen HSF berlangganan aturan yang diperlukan, seperti aturan routing, pengelompokan, dan pembobotan, dari pusat konfigurasi persisten. Dengan cara ini, konsumen dapat menentukan logika pemilihan alamat selama panggilan.
- EDAS pusat penyimpanan metadata
Metadata mencakup informasi terkait layanan HSF, seperti metode dan struktur parameter. Metadata tidak memengaruhi panggilan layanan HSF. Oleh karena itu, pusat penyimpanan metadata bersifat opsional. Untuk memudahkan O&M layanan, saat HSF mulai, konsumen HSF melaporkan metadata ke pusat penyimpanan metadata.
- EDAS konsol
Konsol EDAS menghubungkan registri, pusat konfigurasi persisten, dan pusat penyimpanan metadata. Konsol menyediakan fitur O&M layanan, seperti kueri layanan dan manajemen aturan tata kelola layanan. Ini meningkatkan efisiensi R&D dan memudahkan O&M untuk layanan HSF.
Fitur
Kerangka RPC terdistribusi HSF mendukung metode pemanggilan layanan berikut:
- Panggilan sinkron
Secara default, konsumen HSF menggunakan panggilan sinkron untuk mengonsumsi layanan, dan konsumen harus menunggu hasil yang dikembalikan dari setiap panggilan.
- Panggilan asinkronHSF mendukung panggilan asinkron sehingga konsumen HSF tidak perlu menunggu hasil yang dikembalikan dari semua panggilan layanan. Panggilan asinkron dapat dilakukan dengan menggunakan metode Future dan Callback.
- Panggilan Future
Konsumen HSF memanggil HSFResponseFuture.getResponse(int timeout) untuk memperoleh hasil yang dikembalikan dari panggilan.
- Panggilan Callback
Panggilan dilakukan dengan menggunakan mekanisme Callback internal yang disediakan oleh HSF. Setelah layanan HSF dikonsumsi dan hasilnya dikembalikan, HSF memanggil operasi
HSFResponseCallback. Konsumen kemudian memperoleh hasil panggilan dari notifikasi callback.
- Panggilan Future
- Panggilan generik
Biasanya, konsumen HSF memanggil layanan dan memperoleh nilai yang dikembalikan dengan menggunakan API di SDK dari penyedia layanan. Namun, panggilan generik memungkinkan konsumen HSF untuk melewati SDK dan langsung memanggil layanan untuk memperoleh data. Mengimplementasikan panggilan generik untuk layanan berbasis platform memungkinkan Anda mengandalkan SDK lebih sedikit dan membangun sistem ringan.
- Ekstensi filter jejak
HSF memiliki filter panggilan bawaan dan dapat mengidentifikasi serta mengintegrasikan titik ekstensi filter panggilan Anda ke dalam jejak panggilan HSF. Ini memungkinkan ekstensi untuk memproses permintaan HSF.
Metode pengembangan aplikasi
HSF memungkinkan Anda mengembangkan aplikasi di Ali-Tomcat dan Pandora Boot.
- Ali-Tomcat: Metode ini bergantung pada Ali-Tomcat dan Pandora, dan menyediakan fitur HSF lengkap seperti pendaftaran dan penemuan layanan, pengiriman parameter implisit, panggilan asinkron, panggilan generik, dan ekstensi filter jejak. Aplikasi harus diterapkan dalam bentuk paket WAR.
- Pandora Boot: Metode ini bergantung pada Pandora dan menyediakan beberapa fitur HSF, seperti pendaftaran layanan, penemuan layanan, dan panggilan asinkron. Aplikasi harus dikompilasi menjadi paket JAR yang dapat dieksekusi untuk diterapkan.