Bagikan melalui


Persistensi dan Durabilitas Mesin

Bagian ini menjelaskan bagaimana BizTalk Server mengintegrasikan proses bisnis yang digabungkan secara longgar dengan mempertahankan status proses ke disk melalui SQL Server. Dengan mempertahankan status pada waktu yang tepat, memanfaatkan transaksi, sistem menjamin bahwa tidak ada status proses yang hilang bahkan jika terjadi pemadaman perangkat keras atau perangkat lunak. Ini disebut sebagai durabilitas sistem.

Manajemen Proses Bisnis yang Digabungkan Secara Longgar

Mengintegrasikan sistem yang ada untuk melakukan satu proses bisnis logis memerlukan manajemen status proses di luar sistem yang ada. Baik proses bisnis berjalan lama atau berumur pendek, status proses harus dipertahankan secara independen untuk menghindari ledakan jalur komunikasi kustom yang dihasilkan dari sistem yang mengkoplot erat bersama-sama.

Jelas, keadaan instans proses bisnis yang sedang berjalan harus dapat diandalkan jika proses bisnis sangat penting. Untuk memastikan bahwa proses bisnis dapat diandalkan dan tahan lama, BizTalk memanfaatkan SQL Server transaksi untuk mempertahankan status proses dan data bisnis ke disk dalam database MessageBox. Untuk informasi selengkapnya tentang database MessageBox, lihat Database MessageBox.

Setiap pesan dan semua kecuali instans proses bisnis yang paling sepele (misalnya, instans orkestrasi) di BizTalk Server disimpan dalam database MessageBox setidaknya sekali selama pemrosesan.

Persistensi dan Keberlanjutan

Fakta bahwa BizTalk Server mempertahankan semua pesan dan sebagian besar orkestrasi memiliki pengaruh langsung pada keberlanjutan seperti yang disebutkan dalam Apa itu Performa Berkelanjutan? Saat pesan tiba di database MessageBox, pesan dirutekan ke pelanggan yang menunggu (misalnya, orkestrasi dan mengirim port) dan diantrekan, atau diterbitkan, ke dalam tabel SQL kotak pesan untuk menunggu pelanggan mengambilnya dan memprosesnya. Beberapa pesan yang tiba mengaktifkan instans pelanggan baru. Pesan lain tiba dan dirutekan, melalui korelasi, ke instans tunggu pelanggan yang sudah berjalan seperti orkestrasi yang berkorelasi.

Agar orkestrasi yang berkorelasi dapat terus diproses, tibanya pesan berkorelasi harus tetap tidak diblokir. Untuk memfasilitasi hal ini, BizTalk melakukan yang terbaik untuk memastikan pesan (baik mengaktifkan maupun berkorelasi) terus diterima, bahkan di bawah beban tinggi, sehingga pelanggan yang menunggu pesan berkorelasi dapat selesai dan memberi ruang bagi lebih banyak proses untuk dijalankan. Ini berarti dimungkinkan untuk menerima pesan lebih cepat daripada yang dapat diproses dan dihapus dari database MessageBox, sehingga membangun backlog pesan. Menjadi teknologi store-and-forward, wajar bagi BizTalk untuk menyediakan jenis buffering ini, namun, dapat mengakibatkan masalah jika tingkat penerimaan secara konsisten lebih cepat daripada tingkat proses tanpa batas waktu, menghasilkan backlog besar.

Setiap pesan yang diterima oleh, atau dibuat di dalamnya, BizTalk Server tidak dapat diubah. Artinya, setelah diterima atau dibuat, kontennya tidak dapat diubah. Selain itu, pesan yang diterima mungkin memiliki beberapa pelanggan. Setiap pelanggan pesan tertentu mereferensikan salinan tunggal yang sama dari pesan tersebut. Meskipun pendekatan ini meminimalkan penyimpanan, jumlah ref harus disimpan untuk setiap pesan dan pemeliharaan harus dilakukan secara berkala untuk menyingkirkan pesan yang memiliki jumlah ref 0.

Jika backlog yang cukup besar diizinkan untuk dibangun dalam database MessageBox, proses pemeliharaan untuk database (diimplementasikan sebagai sekumpulan Pekerjaan SQL untuk setiap database MessageBox) akan tertinggal dan, jika tidak diberi kesempatan untuk mengejar ketinggalan, pada akhirnya akan menyebabkan masalah seperti kehabisan ruang disk. Untuk menghindari situasi ini, BizTalk Server menyediakan mekanisme pembatasan yang memperlambat tingkat penerimaan pesan ketika backlog database MessageBox sampai ke beberapa tingkat yang dapat dikonfigurasi pengguna. Untuk informasi selengkapnya tentang pembatasan, lihat Mengoptimalkan Penggunaan Sumber Daya Melalui Pembatasan Host.

Mengingat semua aktivitas dan proses yang berkontribusi pada keberlanjutan, ukuran utama keberlanjutan dari waktu ke waktu adalah bahwa backlog tidak diizinkan untuk tumbuh tanpa batas waktu. Dengan kata lain, seiring waktu, harus ada keseimbangan antara tingkat throughput puncak tinggi dan rendah sehingga database MessageBox dapat mempertahankan backlog rata-rata yang konstan dan dapat dikelola. Ukuran utama backlog adalah kedalaman tabel penampung, yang diekspos sebagai penghitung kinerja BizTalk Server yang disebut BizTalk:Message Box:General Counters:Spool Size. Untuk informasi selengkapnya tentang penghitung kinerja ini, lihat Penghitung Kinerja Kotak Pesan.

Untuk informasi selengkapnya tentang cara menggunakan ukuran penampung dan penghitung lainnya untuk menentukan throughput maksimum yang dapat dipertahankan sistem, lihat Mengukur Throughput Mesin Berkelanjutan Maksimum.

Rekomendasi

BizTalk Server mempertahankan semua pesan dan sebagian besar orkestrasi dan dapat, membiarkan tidak diperiksa, mengembangkan backlog pesan yang dapat mengakibatkan masalah seperti kehabisan ruang disk. Ukuran utama backlog adalah kedalaman tabel penampung kotak pesan, yang diekspos sebagai penghitung kinerja yang disebut: BizTalk:Message Box:General Counters:Spool Size.

Ketika memikirkan throughput berkelanjutan, ukuran penampung harus mempertahankan rata-rata yang stabil dari waktu ke waktu. Artinya, penampung tidak dapat terus tumbuh tanpa diperiksa tanpa batas waktu. Dalam Mengukur Throughput Mesin Berkelanjutan Maksimum, perilaku ini dibahas secara lebih rinci dan metode untuk menentukan throughput maksimum yang dapat dipertahankan sistem disediakan yang memanfaatkan ukuran penampung dan indikator performa lainnya.

Lihat juga

Mengukur Throughput Mesin Berkelanjutan Maksimum
Apa itu Performa Berkelanjutan?
Tips dan Trik Performa
Penghitung Kinerja Kotak Pesan