Anda dapat menggunakan penelusuran sesi untuk memecahkan masalah dalam skenario berikut:
Alamat IP yang dikembalikan oleh HTTPDNS tidak sesuai dengan harapan Anda, dan kualitas bisnis terpengaruh.
Pastikan alamat IP dikembalikan oleh HTTPDNS. Anda harus menyediakan log pengambilan alamat IP dari HTTPDNS serta kode yang digunakan untuk mengakses HTTPDNS.
Karena keterbatasan teknis, Alibaba Cloud hanya mendukung pemecahan masalah untuk alamat IP yang dihasilkan dalam tiga hari terakhir.
Untuk menggunakan penelusuran sesi, Anda harus memanggil metode
getSessionIddi SDK HTTPDNS untuk mendapatkan ID sesi. Untuk memanggil metode ini, pastikan versi SDK memenuhi persyaratan: SDK untuk Android minimal versi 1.2.3, dan SDK untuk iOS minimal versi 1.6.20.
Informasi latar belakang
Saat resolusi DNS cerdas dilakukan, server DNS mengembalikan alamat IP berdasarkan sumber pengunjung situs web. Untuk meningkatkan kualitas layanan, Global Server Load Balancing (GSLB) sering mengubah konfigurasi penjadwalan untuk pengunjung dari sumber yang berbeda. Sebagai contoh, konfigurasi penjadwalan layanan Content Delivery Network (CDN) dapat berubah setiap beberapa jam. Jika klien menerima hasil penjadwalan yang salah (alamat IP), pengguna mungkin mengalami respons lambat atau permintaan timeout, bahkan layanan bisa menjadi tidak tersedia.
Untuk memecahkan masalah resolusi, Anda harus menyediakan alamat IP sumber, waktu resolusi, nama domain, dan daftar alamat IP yang diterjemahkan dari nama domain. Semua informasi ini diperlukan untuk menemukan catatan penjadwalan. Namun, masalah berikut mungkin terjadi:
Klien tidak dapat memberikan alamat IP sumber yang akurat.
Meskipun alamat IP sumber diberikan, alamat tersebut sering dibagi dan tidak dapat digunakan untuk memecahkan masalah resolusi.
Dalam lingkungan jaringan, operator mungkin memberikan alamat IP sumber yang berbeda berdasarkan alamat IP tujuan pengunjung.
Alamat IP sumber dapat berubah selama siklus hidup aplikasi.
Alasan perubahan alamat IP sumber tidak dapat diidentifikasi.
Gunakan ID sesi unik
Parameter sessionId dihasilkan saat aplikasi dimulai, dan nilainya tetap tidak berubah selama siklus hidup aplikasi. Permintaan HTTPDNS dalam siklus hidup aplikasi mencakup nilai parameter sessionId yang sama. Server mencatat parameter ini dan menghasilkan indeks. Solusi pemecahan masalah ini menggunakan siklus aplikasi untuk membedakan catatan resolusi, mirip dengan menggunakan ID perangkat untuk membedakan log yang dilaporkan tentang pengecualian aplikasi. Dibandingkan dengan solusi pemetaan alamat IP sumber dan hasil resolusi, menggunakan sessionId untuk mengidentifikasi siklus hidup aplikasi adalah metode pemecahan masalah yang lebih akurat dan cocok untuk aplikasi.
Dalam solusi ini, nilai parameter sessionId digunakan untuk mendapatkan alamat IP sumber yang akurat dari klien. Nilai parameter sessionId juga dapat digunakan untuk melacak semua permintaan HTTPDNS dalam siklus hidup aplikasi. Anda dapat menemukan semua perubahan pada alamat IP sumber dan mendapatkan alasan perubahan dengan mengamati perubahan nilai parameter net.
Sebagai contoh, ketika klien menggunakan kartu SIM yang dikeluarkan oleh operator Guangdong untuk mengakses jaringan 4G, alamat IP sumber yang ditetapkan ke klien mungkin termasuk Provinsi Guangdong. HTTPDNS mengembalikan alamat IP ke klien berdasarkan alamat IP sumber yang termasuk dalam Provinsi Guangdong. Namun, ketika klien terhubung ke jaringan kabel atau Wi-Fi di lokasi luar Provinsi Guangdong, alamat IP sumber baru yang termasuk dalam lokasi saat ini ditetapkan. Akibatnya, alamat IP sumber terbaru tidak konsisten dengan hasil resolusi yang ada, yang memengaruhi kualitas layanan. Perubahan alamat IP sumber ini dapat terjadi baik saat menggunakan server DNS lokal tradisional maupun server HTTPDNS.
Gunakan penelusuran sesi
Pembaruan aplikasi ke versi terbaru mungkin memerlukan banyak langkah dan waktu yang lama. Kami sarankan Anda mencatat hasil resolusi dan ID sesi yang sesuai saat mengakses layanan HTTPDNS. Jika terjadi pengecualian resolusi, Anda dapat merujuk catatan-catatan ini untuk memecahkan masalah.
Gunakan SDK untuk mengakses HTTPDNS: Saat aplikasi dimulai, ID sesi dihasilkan. Anda dapat memanggil metode getSessionId di SDK untuk mendapatkan ID yang dihasilkan. Untuk menggunakan metode getSessionId, pastikan versi SDK memenuhi persyaratan: SDK untuk Android minimal versi 1.2.3, dan SDK untuk iOS minimal versi 1.6.20. Kami sarankan Anda memperbarui SDK ke versi terbaru untuk mencegah masalah lain yang diketahui.
Gunakan API HTTP untuk mengakses HTTPDNS: Anda dapat mengonfigurasi parameter yang diperlukan dengan merujuk pada kode sumber di SDK HTTPDNS.
Saat aplikasi melaporkan log tentang kualitas layanan penjadwalan yang tidak memuaskan, Anda harus mencatat nilai parameter sessionId.
Anda juga dapat menambahkan nilai parameter sessionId ke permintaan layanan Anda. Sebagai contoh, saat menggunakan hasil resolusi yang dikembalikan oleh HTTPDNS untuk meminta layanan dari nama domain yang sesuai, Anda dapat menambahkan nilai parameter sessionId ke URL. Dengan cara ini, Anda dapat mengidentifikasi semua skenario di mana hasil resolusi digunakan.
Dalam solusi penelusuran sesi, parameter berikut ditambahkan ke setiap permintaan yang dilakukan menggunakan SDK ke server HTTPDNS. Server mencatat informasi tersebut.
sid=<sessionId:[a-zA-Z0-9]{12}>: Menunjukkan siklus hidup aplikasi. Nilai parameter ini dihasilkan saat SDK dimulai.
net=<4g|3g|2g|wifi|unknown>: Menunjukkan jenis jaringan yang disediakan oleh sistem operasi saat permintaan dilakukan. Anda dapat memperoleh nilai parameter net dengan memberikan ID sesi.
bssid=<wifi_bssid>: Menunjukkan titik akses jaringan Wi-Fi. Anda dapat memperoleh nilai parameter bssid dengan memberikan ID sesi.
Contoh URL: http://47.74.222.190/902379/dhost=www.aliyun.com&sid=wInhNA3iM0PK&net=wifi&bssid=54e061553e79
Skema pemecahan masalah: hasil resolusi tidak terduga
Saat hasil resolusi tidak sesuai dengan harapan Anda dan Anda mencurigai adanya pengecualian dalam layanan HTTPDNS, Anda dapat melakukan langkah-langkah berikut untuk memecahkan masalah:
Kirim tiket terkait HTTPDNS dan berikan informasi berikut:
Nilai parameter sessionId, waktu resolusi, nama domain, hasil resolusi aktual, dan hasil resolusi yang diharapkan.
Dampak pada kualitas layanan. Sebagai contoh, klien diarahkan ke node layanan wilayah yang salah.
Ketersediaan layanan.
Jika kualitas layanan terpengaruh, kami sarankan Anda mendapatkan hasil resolusi baru dengan menggunakan HTTPDNS atau server DNS lokal secepat mungkin. Kemudian, periksa kembali kualitas layanan.
Alibaba Cloud akan memberikan hasil berikut berdasarkan ID sesi:
Sumber hasil resolusi.
Hasil resolusi mungkin dikembalikan oleh server HTTPDNS, server DNS lokal, atau dari cache persisten.
Lingkungan jaringan dan alamat IP sumber dari resolusi ini.
Apakah alamat IP sumber telah berubah dalam siklus hidup aplikasi karena pergerakan lintas lokasi klien.