 Hai, semua. Nama saya Joanna Spalin Dungan. Saya bekerja di belakang untuk kemampan yang berbicara tentang kemampan di Foodpanda. Sekarang saya akan berbicara tentang bagaimana kita menginginkan kemampan di location-base di Foodpanda. Jadi ini adalah outline presentation. Pertama, ini adalah intro. Pertama, saya akan berbicara tentang masalah. Pertama, ini adalah solusi. Foodpanda adalah aplikasi makanan. Ia digunakan di web, Android, dan iOS. Foodpanda berbicara 11 negara di Asia Pacific dan 2 negara di Europe. Sekarang, mari kita berbicara tentang masalah. Pertama, saya sekarang berbicara tentang beberapa kemampan yang berbicara tentang kemampan di Foodpanda. Satu dari mereka adalah kemampan Carousel. Mari kita buka webnya untuk melihat bagaimana berhasil. Di sini, Anda bisa menemukan lokasi Anda dan kemudian klik Delivery. Kemudian kita bisa melihat kemampan di atas pakaian. Kita ada 4 kemampan sekarang. Mari kita klik Delivery 3. Sekarang kita bisa melihat kemampan yang lebih besar di atas pakaian di atas dan kemudian kita bisa melihat listan restoran dengan Delivery 3. Mari kita kembali ke slide. Ini adalah architektur yang memiliki proses. Jadi pengguna membuka aplikasi, aplikasi meminta listan ke kemampan IPI dan kemampan IPI akan memberi listan kemampan. Kemudian pengguna bisa melihat kemampan dari aplikasi. Oke, apa adalah kemampan? Kemampan memiliki restoran dengan pakaian yang sama. Ia bisa menjadi pakaian, voucher, Delivery 3. Kampan bisa juga mempromosikan restoran baru atau restoran di area spesifik, etc. Jadi dari mana kemampan ini datang dan bagaimana kita konfigurasi mana restoran bisa menjadi sebahagiannya? Jadi kemampan kemampan membuat kemampan dan memasak restoran untuk kemampan menggunakan pakaian internal kita. Kampan itu memiliki banyak restoran. Sekarang restoran memiliki banyak area Delivery. Pakaian tidak dapat makanan dari restoran jika mereka di luar dari area Delivery. Sekarang kita ada cukup konteks, kita harus menjawab soalan ini. Bagaimana menunjukkan kemampan terbaik di lokasi user? Kita harus memastikan ada sekurang-kurang-kurang restoran yang memiliki kemampan sebelum kita bisa menunjukkan kemampan. Jadi tidak ada restoran yang memiliki kemampan maksudnya tidak ada kemampan untuk Anda. solusi pertama itu datang dalam minda kita, mungkin ini. Periksa 1x1 jika lokasi user di dalam restoran di area Delivery. Bagi kita ada kemampan 1. Ada 3 restoran. Restoran ada 3 area Delivery. Jadi kita periksa jika user di dalam area Delivery 1x1 sampai kita menunjukkan ada di dalam area Delivery 3C. Kemudian kita bisa menunjukkan kemampan kepada user. Tapi kita ada sekurang-kurang 10 kemampan aktif sekitar 9.000 restoran per kemampan sekitar 10 area Delivery per restoran. Jadi kita harus melakukan 900.000 kemampan untuk area Delivery per kemampan yang akan sangat kecil. Kita akan mencoba solusi kita sampai kita menemukan solusi terbaik kita yang menggunakan GeoHas. GeoHas menggunakan lokasi geografic menjadi sebuah string dan digit. Mari kita buka website untuk memahami lebih banyak tentang GeoHas. Ini sebuah map dunia di mana Anda bisa melihat GeoHas apabila Anda klik mari kita pergi ke Singapura misalnya jika kita klik box kita bisa melihat bahwa setiap kali kita melihat box 1 string menggunakan karakter 1. GeoHas memiliki kemampan di dalam GeoHas yang lebih besar. Jadi ya mari kita kembali ke slide. Ini adalah tabel GeoHas dimensi yang lebih lama dan lebih besar Oke, jadi bagaimana kita menggunakan GeoHas untuk memasukkan masalah kita? Pertama, mari kita lihat kemampan. Mari kita lihat ada 4 kemampan. Kampan 1 akan sama seperti sebelumnya. Ini memiliki 3 restoran dengan 3 kemampan di setiap kali. Sekarang mari kita lihat ini kordinat kemampan untuk restoran di kemampan 1. Kemudian kita generasi GeoHas dengan prosesion 5 di dalam polygons dari kemampan. Kenapa 5? Seperti yang kita lihat di sini, GeoHas dengan prosesion 5 bermaksud kemampan dan kemampan adalah 4.9 km. Kita berbincang dengan tim bisnis dan kita memutuskan prosesion ini cukup untuk kita. Ada banyak cara untuk generasi kemampan di dalam polygons, tetapi yang paling mudah adalah kita mengambil kemampan di tengah polygons, kemampan ke GeoHas, dan kemampan di dalam polygons. Kita mengambil kemampan sampai kita menemukan kemampan dengan polygons. Kemudian kita dapat 4 kemampan di sini. W21Z7, W21ZE, etc. Kemudian kemampan yang kita perlu lakukan adalah kita memasukkan kemampan dengan restoran GeoHas dan memasukkan kemampan kita. Anda bisa memasukkan kemampan di Radis atau apa-apa, tetapi dalam kemampan kita memasukkan kemampan di DynamoDB. Semua kemampan yang tersebut adalah dibuat apabila kemampan membuat kemampan. Sekarang kita berbicara tentang kemampan dari konsumersi. Pertama, kita buka aplikasi Frontend dan kemampan memasukkan kemampan dengan kemampan dan memasukkan kemampan untuk mendapatkan kemampan dari kemampan. Di kemampan kemampan kita memasukkan kemampan ke GeoHas dengan kemampan 5 dan memasukkan kemampan di negara yang tersebut. Dan untuk kemampan, kita memasukkan kemampan untuk melihat jika kemampan dari kemampan dan kemampan dari GeoHas itu berhasil. Jika tidak, kita bisa memasukkan kemampan untuk penggunaan. Dan kemampan kita memasukkan kemampan ke Frontend. Dan kemampan bisa melihat kemampan yang tersebut. Sekarang kita hanya memasukkan kemampan untuk kemampan. Kita melihat lebih banyak detik dengan kemampan. Jadi kita memasukkan kemampan untuk mendapatkan kemampan untuk kemampan 3 di kemampan. Dan kemampan kami mendapatkan kemampan dari kemampan dari Frontend kemampan untuk kemampan dengan kemampan 5. Kami memiliki W21ZS. Kemudian kita memasukkan kemampan dari dari RGB. Kami memasukkan kemampan. kita perlu melihat untuk kampanyea, tergantung dengan user Geohast, jika ia berhasil di database kita, maksudnya ada restoran yang mengeluarkan kepada user ini, kemudian kita bisa menunjukkan kampanyea 1 ke user ini. Itu saja. Sekarang kita hanya butuh satu query untuk database per kampanyea. Yang lain optimisasi yang kita bisa lakukan adalah, yang pertama adalah menggunakan cash untuk keputusan database kita, dan yang kedua adalah menggunakan konkuransi ketika menggunakan database. Dalam keadaan kita, sejak kita menggunakan GoLang, kita menggunakan GoRoutines untuk melakukan perkampanyea. Dan kemudian menunjukkan resolusi ke channel ini, tunggu untuk semua GoRoutines selesai, dan menunjukkan perkampanyea untuk aplikasi. Dengan keadaan kita sekarang, kita mengandalkan keadaan 23.7K pilihan per minit. Pilihan keadaan kita adalah 1.15ms. Sudah tentu ini adalah latensi ekskluding. Oke, itu saja. Saya harap ini bisa digunakan untuk semua orang. Terima kasih banyak.