Simple Log Service (SLS) menggunakan shard untuk mengontrol throughput baca dan tulis pada Logstore, Eventstore, dan Metricstore. Setiap data berada di dalam shard tertentu. Anda dapat membagi atau menggabungkan shard untuk menyesuaikan jumlah shard aktif dan total throughput. Pembagian dapat dilakukan secara otomatis; penggabungan hanya dapat dilakukan secara manual.
Konsep utama
Rentang shard
Setiap shard mencakup rentang hash MD5 yang tertutup di kiri dan terbuka di kanan: [BeginKey, EndKey). Rentang tersebut tidak tumpang tindih dan secara kolektif mencakup seluruh ruang MD5: [00000000000000000000000000000000, ffffffffffffffffffffffffffffffff). Saat membuat Logstore atau Metricstore, SLS membagi rentang MD5 secara merata di antara jumlah shard yang ditentukan.
-
BeginKey: Titik awal rentang shard. Nilai ini inklusif.
-
EndKey: Titik akhir rentang shard. Nilai ini eksklusif.
Sebagai contoh, Logstore A memiliki empat shard dengan rentang sebagai berikut:
Tabel 1. Contoh rentang shard
|
Shard ID |
Rentang |
|
Shard0 |
[00000000000000000000000000000000,40000000000000000000000000000000) |
|
Shard1 |
[40000000000000000000000000000000,80000000000000000000000000000000) |
|
Shard2 |
[80000000000000000000000000000000,c0000000000000000000000000000000) |
|
Shard3 |
[c0000000000000000000000000000000,ffffffffffffffffffffffffffffffff) |
Membaca data memerlukan penentuan ID shard. Menulis data mendukung dua mode:
-
Mode load balancing: Setiap paket data ditulis secara acak ke shard yang tersedia.
Disarankan saat traffic tulis melebihi kapasitas satu shard.
-
Mode routing kunci hash: Anda menentukan kunci MD5, dan data ditulis ke shard yang rentangnya mencakup kunci tersebut.
Sebagai contoh, berdasarkan contoh rentang shard, jika Anda menulis data dengan kunci MD5 5F, data tersebut ditulis ke Shard1. Jika Anda menggunakan kunci 8C, data tersebut ditulis ke Shard2.
Kapasitas baca dan tulis shard
Setiap shard memiliki kapasitas layanan yang telah ditentukan. Baca dan tulis data.
Rencanakan jumlah shard berdasarkan traffic data aktual. Bagi shard saat traffic melebihi kapasitas; gabungkan shard saat traffic jauh di bawah kapasitas untuk mengurangi jumlah shard aktif dan biaya.
-
Jika panggilan API tulis terus-menerus mengembalikan error 403 atau 500, periksa traffic dan kode status di Cloud Monitor untuk menentukan apakah Anda memerlukan lebih banyak shard.
-
Jika permintaan melebihi kapasitas shard, SLS memprosesnya sebaik mungkin tanpa menjamin kualitas layanan.
Status shard
Status shard dapat berupa readwrite atau readonly.
Shard baru dimulai sebagai readwrite. Setelah pembagian atau penggabungan, shard asli menjadi readonly dan shard readwrite baru dibuat. Status ini tidak memengaruhi performa baca. Shard readwrite menjamin performa tulis, sedangkan shard readonly tidak menerima data baru.
Pembagian dan penggabungan
SLS mendukung pembagian dan penggabungan shard:
-
Pembagian membagi satu shard menjadi dua shard
readwritebaru yang ditempatkan setelah shard asli. Gabungan rentang MD5-nya sama dengan rentang shard asli.Hanya shard
readwriteyang dapat dibagi. Setelah pembagian, shard asli menjadireadonly— Anda masih dapat mengonsumsi datanya tetapi tidak dapat menulis data baru ke dalamnya. -
Penggabungan menggabungkan dua shard bersebelahan menjadi satu shard
readwritebaru yang ditempatkan setelah keduanya. Rentang MD5-nya mencakup gabungan rentang kedua shard asli.Pilih shard
readwriteyang bukan yang terakhir dalam urutan. SLS secara otomatis menggabungkannya dengan shard bersebelahan di sebelah kanannya. Kedua shard asli menjadireadonly— Anda masih dapat mengonsumsi datanya tetapi tidak dapat menulis data baru.
Bagi shard
Rencanakan jumlah shard berdasarkan traffic data Anda. Setiap shard mendukung throughput tulis 5 MB/detik atau 500 permintaan/detik dan throughput baca 10 MB/detik atau 100 permintaan/detik. Ini bukan batas mutlak — jika dilampaui, sistem melayani sebaik mungkin tanpa menjamin kualitas. Bagi shard saat kapasitas terlampaui.
Jika panggilan API tulis terus-menerus mengembalikan error 403 atau 500, periksa traffic dan kode status di Cloud Monitor untuk menentukan apakah Anda memerlukan lebih banyak shard.
Operasi Konsol
Masuk ke Konsol Simple Log Service.
Di bagian Projects, klik project yang diinginkan.

-
Di panel navigasi kiri, pilih
Log Storage > Logstores. Di halaman Logstores, arahkan kursor ke logstore target dan pilih . -
Di halaman Logstore Attributes, klik Modify.
-
Pilih shard yang akan dibagi dan klik Split.
PentingHanya shard
readwriteyang dapat dibagi.Di halaman Shard Management, temukan shard
readwriteyang akan dibagi, lalu klik Split di kolom Actions. -
Pada kotak dialog yang muncul, pilih jumlah shard baru dan klik OK.
-
Klik Save.
Lihat shard
Operasi Konsol
Masuk ke Konsol Simple Log Service.
Di bagian Projects, klik project yang diinginkan.

-
Di panel navigasi kiri, pilih
Log Storage > Logstores. Di halaman Logstores, arahkan kursor ke logstore target dan pilih . -
Di halaman Logstore Attributes, lihat daftar shard untuk logstore tersebut.
Halaman ini menampilkan Total Shards (termasuk jumlah shard readwrite dan readonly), serta detail setiap shard, termasuk Id, Status, BeginKey/EndKey, dan Creation Time.
Pembagian shard otomatis
SLS secara otomatis membagi shard ketika semua kondisi berikut terpenuhi:
-
Sakelar Auto Split Shard diaktifkan.
-
Traffic tulis ke shard telah melebihi kapasitas tulis-nya selama lebih dari lima menit.
-
Jumlah shard
readwritedi logstore kurang dari nilai Maximum Shards yang dikonfigurasi.
Shard yang dibuat dari pembagian dalam 15 menit terakhir tidak memenuhi syarat untuk pembagian otomatis.
Aktifkan pembagian shard otomatis dan atur nilai Maximum Shards saat membuat atau mengubah Logstore.
-
Auto Split Shard
Sebagai contoh, jika Anda memiliki empat shard, SLS mengevaluasi setiap shard secara independen. SLS membagi shard apa pun yang memenuhi kondisi, asalkan jumlah total shard tidak melebihi batas maksimum yang dikonfigurasi.
-
Maximum Shards
Batas atas jumlah total shard setelah pembagian otomatis. Nilai maksimum yang didukung: 256 shard
readwrite.
Gabungkan shard
Saat traffic data jauh di bawah kapasitas shard, gabungkan shard untuk mengurangi jumlah shard aktif dan biaya. Penggabungan menggabungkan satu shard dengan shard bersebelahan di sebelah kanannya. Penggabungan hanya dapat dilakukan secara manual.
Untuk menggabungkan shard, Anda harus menentukan shard yang berstatus readwrite dan bukan shard readwrite terakhir dalam urutan.
-
Di panel navigasi kiri, pilih
Log Storage > Logstores. Di halaman Logstores, arahkan kursor ke logstore target dan pilih . -
Di halaman Logstore Attributes, klik Modify.
-
Pilih shard yang akan digabungkan dan klik Merge.
Halaman Shard Management mencantumkan semua shard beserta detailnya. Kolom Actions menyediakan opsi Split atau Merge untuk shard
readwrite. Tidak ada aksi yang tersedia untuk shardreadonly. -
Klik Save.
Setelah penggabungan, kedua shard asli menjadi
readonly. Satu shardreadwritebaru dibuat dengan rentang MD5 yang mencakup gabungan rentang kedua shard asli.
Hapus shard
Shard yang dihapus tidak dapat dipulihkan. Lakukan dengan hati-hati.
-
Penghapusan otomatis
Jika Anda mengatur periode retensi data untuk logstore, SLS secara otomatis menghapus shard beserta datanya saat periode tersebut berakhir.
-
Penghapusan manual
Jika Anda mengaktifkan penyimpanan permanen, hapus seluruh Logstore untuk menghapus shard dan datanya. Hentikan penagihan/Hapus logstore.
Referensi API
|
Aksi |
API |
|
Bagi shard |
|
|
Gabungkan shard |
|
|
Daftar shard |
> Modify