Mari kita perluas masalah dengan GraphQL Keuntungan dari inti GraphQL bukanlah apa yang disebut sistem tipe, pada kenyataannya, kendala tipe yang kuat dapat diterapkan dengan baik dalam sistem RESTful. Memanfaatkan sepenuhnya skema orpc Zod yang dapat menghasilkan kode multi-terminal, solusi FastAPI + Pydantic dalam ekosistem Python dapat mencapai efek serupa Keuntungan inti dari GraphQL adalah memungkinkan klien untuk meminta data secara fleksibel sesuai dengan kebutuhan mereka. Ini juga merupakan salah satu fitur utama yang diterapkan oleh lapisan BFF tradisional. Namun, perbedaan dari lapisan BFF tradisional adalah bahwa implementasi GraphQL biasanya sangat terikat pada bisnis, dan tidak ada infrastruktur terpisah untuk menangani masalah serupa. Dalam hal ini, fleksibilitas akan membawa banyak masalah di bawah sistem GraphQL (atau skema BFF serupa akan dihadapi setelah tenggelam ke dalam bisnis). Paling sederhana, fleksibilitas akan mengarah pada permukaan serangan yang lebih besar. Yang paling sederhana, pengguna jahat dapat membuat kueri yang cukup kompleks untuk menghabiskan banyak sumber daya server Anda melalui penguraian AST sederhana. Tentu saja, banyak orang mungkin berkata, "Ah, mengapa Anda tidak membatasi kompleksitas Query?" Jadi izinkan saya bertanya kepada Anda, apakah perlu untuk memecahkan AST atau memecahkan AST saat menghitung kompleksitas Query? Tentu saja, beberapa orang mungkin berkata, mengapa tidak membatasi pola Query? Maka izinkan saya bertanya kepada Anda, apakah pola Anda juga perlu memecahkan AST? Dan Anda membatasi keuntungan terbesar dari GraphQL, apa perbedaan antara Anda dan API RESTful tradisional? Selain itu, jika penguraian AST GraphQL tidak diselesaikan dari bisnis, dengan model Node berutas tunggal, kelambatan loop peristiwa Anda akan langsung meledakkan, dan pengalaman pengguna akan naik level N Banyak hal yang perlu dilakukan GraphQL sendiri perlu diselesaikan dengan infrastruktur terpisah untuk menyelesaikan bisnis, seperti batas tingkat kueri, logika otentikasi khusus, dll Terus terang, GraphQL bisa menjadi pilihan yang baik untuk platform data atau layanan internal. Namun, untuk layanan toC volume tinggi, GraphQL akan membawa lebih banyak kompleksitas dan ketidakpastian daripada API RESTful tradisional, yang akan memakan lebih banyak pengembangan infrastruktur.