Bagikan melalui


Memahami pengaturan ImageStoreConnectionString

Dalam beberapa dokumentasi kami, kami secara singkat menyebutkan keberadaan parameter "ImageStoreConnectionString" tanpa menggambarkan apa artinya sebenarnya. Dan setelah melalui artikel seperti Menyebarkan dan menghapus aplikasi menggunakan PowerShell, sepertinya yang perlu Anda lakukan adalah menyalin/menempelkan nilai seperti yang ditunjukkan dalam manifes kluster dari kluster target. Jadi pengaturan harus dapat dikonfigurasi per kluster, tetapi ketika Anda membuat kluster melalui portal Microsoft Azure, tidak ada opsi untuk mengonfigurasi pengaturan ini dan selalu "fabric:ImageStore". Lalu apa tujuan dari pengaturan ini?

Manifes Kluster

Service Fabric dimulai sebagai platform untuk konsumsi internal Microsoft oleh banyak tim yang beragam, sehingga beberapa aspeknya sangat dapat disesuaikan - "Penyimpanan Citra" adalah salah satu aspek tersebut. Pada dasarnya, Penyimpanan Citra adalah repositori pluggable untuk menyimpan paket aplikasi. Ketika aplikasi Anda disebarkan ke node di kluster, node tersebut mengunduh konten paket aplikasi Anda dari Penyimpanan Citra. ImageStoreConnectionString adalah pengaturan yang mencakup semua informasi yang diperlukan untuk klien dan node untuk menemukan Penyimpanan Citra yang benar untuk kluster tertentu.

Saat ini ada tiga jenis penyedia Penyimpanan Citra yang mungkin dan string koneksi yang sesuai adalah sebagai berikut:

  1. Layanan Penyimpanan Citra: "fabric:ImageStore"

  2. Sistem File: "file:[file system path]"

  3. Azure Storage: "xstore:DefaultEndpointsProtocol=https;AccountName=[...];AccountKey=[...];Container=[...]"

Jenis penyedia yang digunakan dalam produksi adalah Layanan Penyimpanan Citra, yang merupakan layanan sistem persisted stateful yang dapat Anda lihat dari Service Fabric Explorer.

Layanan Penyimpanan Citra

Hosting Penyimpanan Citra dalam layanan sistem dalam kluster itu sendiri menghilangkan ketergantungan eksternal untuk repositori paket dan memberi kita lebih banyak kontrol atas lokalitas penyimpanan. Perbaikan di masa mendatang di sekitar Penyimpanan Citra kemungkinan akan menargetkan penyedia Penyimpanan Citra terlebih dahulu, jika tidak secara eksklusif. String koneksi untuk penyedia Layanan Penyimpanan Citra tidak memiliki informasi unik karena klien sudah terhubung ke kluster target. Klien hanya perlu tahu bahwa protokol yang menargetkan layanan sistem harus digunakan.

Penyedia Sistem File digunakan alih-alih Layanan Penyimpanan Citra untuk kluster satu kotak lokal selama pengembangan untuk bootstrap kluster sedikit lebih cepat. Perbedaannya biasanya kecil, tetapi ini adalah optimasi yang berguna bagi sebagian besar orang selama pengembangan. Anda bisa menggunakan kluster satu kotak lokal dengan jenis penyedia penyimpanan lainnya juga, tetapi biasanya tidak ada alasan untuk melakukannya karena alur kerja kembangkan/uji tetap sama terlepas dari penyedia. Penyedia Penyimpanan Azure hanya ada untuk dukungan lama dari kluster lama yang disebarkan sebelum penyedia Layanan Penyimpanan Citra diperkenalkan.

Selain itu, bukan penyedia Sistem File atau penyedia Penyimpanan Azure harus digunakan sebagai metode berbagi Penyimpanan Citra di antara beberapa kluster - ini akan mengakibatkan kerusakan data konfigurasi kluster karena setiap kluster dapat menulis data yang bertentangan ke Penyimpanan Citra. Untuk berbagi paket aplikasi yang disediakan di antara beberapa kluster, gunakan file sfpkg sebagai gantinya, yang dapat diunggah ke penyimpanan eksternal mana pun dengan URI unduhan.

Jadi, saat ImageStoreConnectionString dapat dikonfigurasi, Anda cukup menggunakan pengaturan default. Saat menerbitkan ke Azure melalui Visual Studio, parameter secara otomatis diatur. Untuk penyebaran terprogram ke kluster yang dihosting di Azure, string koneksi selalu "fabric:ImageStore". Meskipun ketika ragu, nilainya selalu dapat diverifikasi dengan mengambil manifes kluster oleh PowerShell, .NET, atau REST. Tes di tempat dan kluster produksi harus selalu dikonfigurasi untuk menggunakan penyedia Layanan Penyimpanan Citra juga.

Langkah berikutnya

Menyebarkan dan menghapus aplikasi menggunakan PowerShell