Apabila mereka bentuk sistem, kita akan mempunyai anggaran kapasiti sistem Jika ia melebihi ambang TPS/QPS yang sistem boleh tahan lama, sistem mungkin terharu, akhirnya menyebabkan keseluruhan perkhidmatan menjadi Tidak tersedia. Untuk mengelakkan situasi ini, kita perlu mengehadkan aliran permintaan antara muka.
Jadi, kami boleh melindungi sistem atau mengelakkan pembaziran sumber yang tidak perlu dengan mengehadkan kadar permintaan akses serentak atau bilangan permintaan dalam tetingkap masa Setelah had kadar dicapai, kami boleh menafikan perkhidmatan, beratur atau menunggu.
Sistem ini mempunyai antara muka untuk mendapatkan kod pengesahan SMS telefon mudah alih Kerana ia adalah antara muka terbuka, untuk mengelakkan pengguna daripada terus menghantar permintaan untuk mendapatkan kod pengesahan dan menghalang percubaan berniat jahat untuk meleret. antara muka, kami menggunakan yang terkini Kaedah kaunter mudah digunakan untuk mengehadkan aliran semasa, mengehadkan setiap IP kepada hanya satu permintaan seminit, dan kemudian had tetingkap masa nombor telefon mudah alih satu sama lain dinilai melalui logik perniagaan. Secara amnya, sesetengah antara muka mempunyai bilangan lawatan yang agak besar dan mungkin mengatasi sistem, jadi sekatan trafik perlu ditambah! Seperti: jualan kilat, dll...
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
@RestController public class TestController { @RateLimiter(time = 60, count = 1, limitType = LimitType.IP, limitMsg = "一分钟内只能请求一次,请稍后重试") @GetMapping("/hello") public ResultMsg hello() { return ResultMsg.success("Hello World!"); } }
1) Kali pertama anda menghantarnya, hasilnya akan dikembalikan seperti biasa
2) Kali kedua anda menghantarnya dalam masa satu minit, anda akan mendapat ralat dan gesaan had semasa
The di atas adalah AOP + Redis
penyelesaian untuk melaksanakan had semasa antara muka, anda Adakah anda telah kehilangan pengajian anda?
Terdapat kaedah pengehad semasa yang lain, seperti kaedah pengehad arus tingkap gelongsor (lebih ketat daripada kaunter), baldi token, dll... Rakan-rakan yang berminat boleh mempelajarinya.
Atas ialah kandungan terperinci Had semasa antara muka, semua operasi hebat ada di sini!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!