Rumah Java javaTutorial Tadbir urus perkhidmatan dan kaedah pelaksanaan pengehadan semasa berdasarkan Spring Boot

Tadbir urus perkhidmatan dan kaedah pelaksanaan pengehadan semasa berdasarkan Spring Boot

Jun 23, 2023 am 11:16 AM
spring boot Tadbir urus perkhidmatan Had semasa

Dengan pembangunan Internet, seni bina sistem yang diedarkan telah menarik lebih banyak perhatian dan aplikasi. Dalam seni bina yang diedarkan, bilangan dan kerumitan perkhidmatan akan meningkat dengan ketara Bagi memastikan ketersediaan tinggi dan prestasi tinggi sistem, tadbir urus perkhidmatan dan pengehadan semasa telah menjadi salah satu isu yang mesti diselesaikan. Artikel ini akan memperkenalkan tadbir urus perkhidmatan dan kaedah pelaksanaan pengehadan semasa berdasarkan Spring Boot.

1. Tadbir urus perkhidmatan

Tadbir urus perkhidmatan ialah bahagian yang sangat penting dalam seni bina teragih, malah ia lebih penting dalam seni bina perkhidmatan mikro. Spring Cloud, sebagai rangka kerja mikro perkhidmatan berdasarkan Spring Boot, menyediakan penyelesaian lengkap untuk tadbir urus perkhidmatan.

  1. Pengimbangan Beban

Apabila perkhidmatan dipanggil oleh berbilang pelanggan, cara mengagihkan permintaan kepada berbilang kejadian perkhidmatan untuk mencapai pengimbangan beban. Spring Cloud menyediakan komponen pengimbangan beban Ribbon, yang boleh mendapatkan senarai kejadian perkhidmatan dalam pusat pendaftaran perkhidmatan dan menggunakan algoritma pengimbangan beban khusus untuk menghantar permintaan kepada setiap tika perkhidmatan.

  1. Pendaftaran dan penemuan perkhidmatan

Dalam sistem yang diedarkan, sesetengah perkhidmatan perlu memanggil perkhidmatan lain, jadi pendaftaran perkhidmatan berpusat dan mekanisme penemuan diperlukan. Spring Cloud menyediakan komponen Eureka, yang boleh merealisasikan pendaftaran perkhidmatan automatik dan fungsi penemuan Pembangun hanya perlu memperkenalkan pergantungan pelanggan Eureka, mendaftarkan perkhidmatan dalam pelayan Eureka, dan kemudian menemui dan memanggilnya melalui nama perkhidmatan.

  1. Komunikasi antara perkhidmatan

Dalam seni bina perkhidmatan mikro, komunikasi antara perkhidmatan boleh dilaksanakan menggunakan pelbagai protokol seperti HTTP, TCP, AMQP dan sebagainya. Spring Cloud menyediakan komponen Feign, yang boleh melaksanakan komunikasi antara perkhidmatan dengan mentakrifkan anotasi pada antara muka Pelaksanaan khusus adalah seperti berikut:

Tentukan klien Feign:

@FeignClient(name = "user-service")
public interface UserService {
    @GetMapping("/user/{id}")
    User findUserById(@PathVariable("id") Long id);
}
Salin selepas log masuk

Panggil perkhidmatan: <. 🎜>

@Autowired
private UserService userService;

public User getUserById(Long id) {
    return userService.findUserById(id);
}
Salin selepas log masuk

Melalui kaedah di atas, anda boleh menggunakan Feign untuk melaksanakan panggilan antara perkhidmatan.

2. Pengehadan Semasa

Dalam seni bina perkhidmatan mikro, pengehadan semasa adalah langkah yang sangat perlu untuk mengelakkan keruntuhan sistem yang disebabkan oleh lebihan perkhidmatan. Spring Cloud menyediakan pelbagai penyelesaian mengehadkan semasa.

    Pemutus litar Hystrix
Hystrix ialah rangka kerja tahan kerosakan sumber terbuka oleh Netflix, yang boleh merealisasikan kemerosotan perkhidmatan, pengasingan kerosakan, pemutus litar dan fungsi lain. Dalam Spring Cloud, pengehadan semasa boleh dicapai dengan menggunakan komponen Hystrix.

Contoh kod:

@RequestMapping("/getUser/{id}")
@HystrixCommand(fallbackMethod = "getUserFallback")
public User getUser(@PathVariable("id") Long id) {
    return userService.getUserById(id);
}

// fallback回调方法
private User getUserFallback(Long id) {
    return new User(id, "defaultUsername", "defaultPassword");
}
Salin selepas log masuk

Dengan menambahkan anotasi @HystrixCommand pada kaedah yang diminta dan menyatakan kaedah panggil balik sandaran, apabila panggilan perkhidmatan gagal atau tamat masa, kaedah sandaran akan dipanggil untuk kembali nilai lalai.

    Anotasi mengehadkan semasa
Spring Cloud Gateway menyediakan cara untuk melaksanakan pengehadan semasa melalui anotasi Anda boleh melaksanakan pengehadan antara muka dengan menambahkan anotasi @RequestRateLimiter pada laluan , kaedah pelaksanaan khusus adalah seperti berikut:

Tentukan pengehad semasa:

@Bean
RedisRateLimiter redisRateLimiter() {
    return new RedisRateLimiter(1, 1);
}
Salin selepas log masuk

Tambah anotasi mengehadkan semasa pada laluan:

@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {
    return builder.routes()
            .route(r -> r.path("/user/**")
                    .filters(f -> f.requestRateLimiter(c -> c.setRateLimiter(redisRateLimiter())))
                    .uri("lb://user-service"))
            .build();
}
Salin selepas log masuk
Dengan menambahkan anotasi @RequestRateLimiter pada laluan, anda boleh Hadkan aliran semasa pada antara muka untuk mengelakkan beban perkhidmatan.

Ringkasnya, Spring Cloud menyediakan tadbir urus perkhidmatan yang lengkap dan penyelesaian pengehadan semasa Pembangun boleh memilih komponen yang sesuai untuk melaksanakan tadbir urus perkhidmatan dan pengehadan semasa mengikut situasi sebenar.

Atas ialah kandungan terperinci Tadbir urus perkhidmatan dan kaedah pelaksanaan pengehadan semasa berdasarkan Spring Boot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apakah sebab mengapa siaran langsung akaun video tidak ditolak? Bagaimana untuk menyelesaikan had semasa? Apakah sebab mengapa siaran langsung akaun video tidak ditolak? Bagaimana untuk menyelesaikan had semasa? Mar 07, 2024 pm 02:04 PM

Permulaan: Dengan perkembangan pesat media sosial, video langsung telah menjadi salah satu cara penting untuk orang ramai berkongsi kehidupan mereka dan menyampaikan maklumat. Walau bagaimanapun, kadangkala apabila kami menggunakan fungsi siaran langsung akaun video, kami mungkin menghadapi situasi tidak dapat menolak strim Jadi apakah sebabnya? 1. Apakah sebab mengapa akaun video langsung tidak menolak strim? Masalah rangkaian adalah salah satu sebab utama mengapa akaun video langsung tidak menolak strim, terutamanya sambungan rangkaian yang tidak stabil. Apabila isyarat rangkaian tidak stabil, aliran video tidak dapat dihantar ke pelayan dengan lancar, menyebabkan siaran langsung tidak dapat ditolak secara normal. Ketidakstabilan sambungan rangkaian boleh menyebabkan pegun, gangguan atau kelewatan dalam siaran langsung, menjejaskan pengalaman menonton pengguna. Oleh itu, sambungan rangkaian yang stabil adalah penting untuk penstriman video langsung yang lancar. Untuk menyelesaikan masalah ini, anda boleh cuba memperbaiki rangkaian

Apakah yang perlu saya lakukan jika siaran langsung Douyin saya tiada trafik? Sebab bilik siaran langsung dihadkan Apakah yang perlu saya lakukan jika siaran langsung Douyin saya tiada trafik? Sebab bilik siaran langsung dihadkan Mar 27, 2024 pm 10:51 PM

Dengan perkembangan Internet, penstriman langsung telah menjadi kaedah pemasaran baharu dalam industri e-dagang. Di antara banyak platform siaran langsung, Douyin Live telah menarik banyak perhatian kerana pangkalan penggunanya yang besar dan kesan komunikasi sosial yang kuat. Walau bagaimanapun, apabila menjalankan siaran langsung Douyin untuk membawa barangan, beberapa sauh menghadapi masalah yang memalukan: tiada trafik di dalam bilik siaran langsung dan tiada siapa yang mengambil berat tentang barangan itu. Jadi, apabila siaran langsung Douyin tidak mempunyai trafik, bagaimanakah kita harus menyelesaikan masalah ini? 1. Apakah yang perlu saya lakukan jika siaran langsung Douyin tidak mempunyai trafik? Tingkatkan kualiti kandungan: Kandungan bilik siaran langsung adalah kunci untuk menarik pengguna. Sauh boleh bermula dengan pengenalan produk, cerita jenama, pautan interaktif, dll. untuk meningkatkan kualiti dan daya tarikan kandungan langsung dan membuatkan pengguna ingin membeli. Untuk menjangkau khalayak yang lebih luas dan memenuhi keperluan dan minat mereka, melalui langsung

Bagaimana untuk mengekalkan akaun jika Douyin mempunyai trafik terhad? Apakah kemahiran yang diperlukan untuk mengekalkan akaun? Bagaimana untuk mengekalkan akaun jika Douyin mempunyai trafik terhad? Apakah kemahiran yang diperlukan untuk mengekalkan akaun? Mar 21, 2024 pm 09:10 PM

Sebagai salah satu platform video pendek paling popular di dunia, Douyin telah menarik ramai pengguna untuk berkongsi kehidupan, bakat dan kreativiti mereka di sini. Apabila bilangan pengguna meningkat, persaingan di Douyin menjadi semakin sengit. Sesetengah pengguna mungkin menghadapi had penstriman Douyin, yang mungkin menjejaskan main balik video, suka dan pertumbuhan peminat mereka. Artikel ini akan membincangkan cara mengekalkan akaun Douyin selepas had semasa, serta kemahiran yang perlu dikuasai untuk mengekalkan akaun Douyin. 1. Bagaimana untuk mengekalkan akaun apabila TikTok dihadkan? Jika anda mendapati bahawa akaun Douyin anda telah dihadkan, anda boleh mengambil langkah berikut untuk mengekalkan akaun anda: Semak kandungan video: Berhati-hati menyemak video yang disiarkan baru-baru ini untuk memastikan ia memenuhi piawaian pengesyoran Douyin. Jika mana-mana kandungan yang menyalahi undang-undang, kesat atau berulang ditemui, ia akan dipadamkan serta-merta. 2. Tingkatkan kualiti kandungan: Apabila membuat video, beri perhatian kepada kualiti kandungan

Spring Boot+MyBatis+Atomikos+MySQL (dengan kod sumber) Spring Boot+MyBatis+Atomikos+MySQL (dengan kod sumber) Aug 15, 2023 pm 04:12 PM

Dalam projek sebenar, kami cuba mengelakkan transaksi yang diedarkan. Walau bagaimanapun, kadangkala ia benar-benar perlu untuk melakukan beberapa pemisahan perkhidmatan, yang akan membawa kepada masalah transaksi yang diedarkan. Pada masa yang sama, transaksi yang diedarkan juga ditanya di pasaran semasa temu bual Anda boleh berlatih dengan kes ini, dan anda boleh bercakap tentang 123 dalam temu bual.

Adakah tidak dapat menambah dithering sama dengan dihadkan? Bagaimana untuk menangani karya yang tidak boleh diserahkan kepada Doujia? Adakah tidak dapat menambah dithering sama dengan dihadkan? Bagaimana untuk menangani karya yang tidak boleh diserahkan kepada Doujia? Mar 21, 2024 pm 09:47 PM

Pada Douyin, platform video pendek dengan lebih 100 juta pengguna aktif setiap hari, semakin ramai pencipta kandungan berharap dapat meningkatkan pendedahan dan pengaruh karya mereka dengan mengundi di Douyin. Sesetengah orang juga mendapati bahawa walaupun karya mereka tidak diserahkan kepada Doujia, mereka nampaknya dihadkan. Jadi, adakah tidak dapat mengundi Doujia benar-benar bermakna ia dihadkan? Artikel ini akan membincangkan isu ini dan memberi strategi untuk menanganinya. 1. Adakah tidak dapat menambah dithering sama dengan dihadkan? Pertama, kita perlu menjelaskan konsep, iaitu "menghad semasa". Pada platform Douyin, pengehadan semasa bermakna platform mengawal pendedahan kandungan dengan melaraskan algoritmanya, dengan itu mengurangkan kekerapan kandungan tertentu dipaparkan kepada pengguna. Pendikitan tidak bermakna kandungan akan disekat sepenuhnya, tetapi ia mengurangkan peluang kandungan tersebut muncul dalam bidang penglihatan pengguna. Tidak menggunakan dithering tidak langsung membawa kepada pengehadan semasa.

Mencapai sokongan berbilang bahasa dan aplikasi antarabangsa melalui Spring Boot Mencapai sokongan berbilang bahasa dan aplikasi antarabangsa melalui Spring Boot Jun 23, 2023 am 09:09 AM

Dengan perkembangan globalisasi, semakin banyak laman web dan aplikasi perlu menyediakan sokongan berbilang bahasa dan fungsi pengantarabangsaan. Bagi pembangun, melaksanakan fungsi ini bukanlah tugas yang mudah kerana ia memerlukan pertimbangan dari banyak aspek, seperti terjemahan bahasa, tarikh, masa dan format mata wang, dsb. Walau bagaimanapun, menggunakan rangka kerja SpringBoot, kami boleh melaksanakan sokongan berbilang bahasa dan aplikasi antarabangsa dengan mudah. Mula-mula, marilah kita memahami antara muka LocaleResolver yang disediakan oleh SpringBoot. Loc

Cara menggunakan Spring Boot untuk membina aplikasi pemprosesan data besar Cara menggunakan Spring Boot untuk membina aplikasi pemprosesan data besar Jun 23, 2023 am 09:07 AM

Dengan kemunculan era data besar, semakin banyak syarikat mula memahami dan mengiktiraf nilai data besar dan menerapkannya dalam perniagaan. Masalah yang datang dengannya ialah bagaimana mengendalikan aliran data yang besar ini. Dalam kes ini, aplikasi pemprosesan data besar telah menjadi sesuatu yang mesti dipertimbangkan oleh setiap perusahaan. Bagi pembangun, cara menggunakan SpringBoot untuk membina aplikasi pemprosesan data besar yang cekap juga merupakan isu yang sangat penting. SpringBoot ialah rangka kerja Java yang sangat popular yang membolehkan

Laksanakan pemetaan ORM berdasarkan Spring Boot dan MyBatis Plus Laksanakan pemetaan ORM berdasarkan Spring Boot dan MyBatis Plus Jun 22, 2023 pm 09:27 PM

Dalam proses pembangunan aplikasi web Java, teknologi pemetaan ORM (Object-RelationalMapping) digunakan untuk memetakan data hubungan dalam pangkalan data kepada objek Java, menjadikannya mudah untuk pembangun mengakses dan mengendalikan data. SpringBoot, sebagai salah satu rangka kerja pembangunan web Java yang paling popular pada masa ini, telah menyediakan cara untuk mengintegrasikan MyBatis, dan MyBatisPlus ialah rangka kerja ORM yang dilanjutkan berdasarkan MyBatis.

See all articles