Rumah Java javaTutorial Cara menggunakan Spring Cloud untuk membangunkan sistem penjadualan tugas di bawah seni bina perkhidmatan mikro

Cara menggunakan Spring Cloud untuk membangunkan sistem penjadualan tugas di bawah seni bina perkhidmatan mikro

Jun 22, 2023 pm 05:54 PM
spring cloud Seni bina perkhidmatan mikro Sistem penjadualan tugas

Dengan pembangunan Internet, semakin banyak syarikat mula mengguna pakai seni bina perkhidmatan mikro untuk membina sistem teragih bagi meningkatkan kebolehpercayaan, kebolehskalaan dan kebolehselenggaraan aplikasi. Di bawah seni bina perkhidmatan mikro, sistem penjadualan tugas adalah komponen yang sangat penting. Ia boleh digunakan untuk melaksanakan beberapa tugas tak segerak dengan kerap, memanggil antara muka perkhidmatan mikro lain, dsb.

Spring Cloud ialah rangka kerja mikroperkhidmatan sumber terbuka yang menyediakan beberapa alatan dan rangka kerja yang sangat berkuasa, seperti Spring Cloud Netflix, Spring Cloud Config, Spring Cloud Stream, Spring Cloud Security, dsb. Antaranya, Spring Cloud Netflix ialah rangka kerja mikro yang sangat popular Ia menyediakan beberapa komponen teras dan sambungan, seperti pendaftaran perkhidmatan dan penemuan, pengimbangan beban pelanggan, pengurusan konfigurasi, pemutus litar, get laluan API, dll.

Dalam artikel ini, kami akan memperkenalkan cara menggunakan Spring Cloud untuk membangunkan sistem penjadualan tugas, yang terutamanya termasuk kandungan berikut:

  1. Analisis keperluan sistem penjadualan tugas
  2. Penggunaan Spring Scheduler melaksanakan penjadualan tugas
  3. Letakkan sistem penjadualan tugas ke dalam seni bina mikroperkhidmatan Spring Cloud

1 Dalam seni bina perkhidmatan mikro Seterusnya, sistem penjadualan tugasan perlu menyokong fungsi berikut:

boleh mencetuskan pelaksanaan tugas pada titik masa atau saat tertentu.
  1. Menyokong mencetuskan pelaksanaan tugas pada selang masa tetap atau selang masa berkala.
  2. Menyokong percubaan semula selepas kegagalan pelaksanaan tugas.
  3. Menyokong pelaksanaan tugasan tak segerak dan tidak menjejaskan perjalanan program utama.
  4. Menyokong penambahan dinamik dan pemadaman tugas.
  5. 2. Gunakan Penjadual Musim Bunga untuk melaksanakan penjadualan tugas

Penjadual Musim Bunga ialah modul rangka kerja Penjadualan yang ringan yang boleh melaksanakan fungsi penjadualan tugas.

Tambah kebergantungan Spring Scheduler
  1. Tambahkan kebergantungan Spring Scheduler dalam fail pom.xml projek Spring Boot:
<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter</artifactId>
     <version>2.4.3</version>
 </dependency>
Salin selepas log masuk

Buat tugas Kelas pelaksanaan
  1. Buat kelas pelaksanaan tugas yang diwarisi daripada antara muka Runnable untuk melaksanakan logik tugasan tertentu.
@Component
public class JobTask implements Runnable {
 
     @Override
     public void run() {
         System.out.println("running job...");
     }
 }
Salin selepas log masuk

Tambah konfigurasi penjadualan tugas
  1. Tambah kelas konfigurasi penjadualan tugas dalam projek Spring Boot untuk mengkonfigurasi strategi dan tugas penjadualan tugas khusus untuk dilaksanakan.
@Configuration
@EnableScheduling
public class ScheduleConfig {
 
     @Autowired
     private JobTask jobTask;
 
     //在每分钟的3秒和6秒执行一次
     @Scheduled(cron = "3-6 * * * * ?")
     public void scheduleJob1() {
         jobTask.run();
     }
 
     //在间隔5秒后执行第一次,之后每隔10秒执行一次
     @Scheduled(initialDelay = 5000, fixedRate = 10000)
     public void scheduleJob2() {
         jobTask.run();
     }
 }
Salin selepas log masuk

Uji fungsi penjadualan tugas
  1. Selepas memulakan aplikasi Spring Boot, anda boleh melihat output konsol dan tugasan akan dilaksanakan pada selang masa dan berkala yang ditentukan . Jika anda ingin mengubah suai strategi pelaksanaan tugas, anda hanya perlu mengubah suai kelas konfigurasi.

3. Letakkan sistem penjadualan tugas ke dalam seni bina perkhidmatan mikro Spring Cloud

Daftar sistem penjadualan tugas ke pusat pendaftaran perkhidmatan
  1. Dalam penjadualan tugas Dalam aplikasi sistem, komponen pendaftaran perkhidmatan dan penemuan seperti Spring Cloud's Eureka atau Consul digunakan untuk mendaftarkan sistem penjadualan tugas ke pusat pendaftaran perkhidmatan.
spring:
     application:
          name: task-scheduler
 
 eureka:
     instance:
          hostname: localhost
     client:
          service-url:
               defaultZone: http://localhost:8761/eureka/
Salin selepas log masuk

Tetapkan peraturan penghalaan dalam get laluan
  1. Gunakan get laluan API seperti Spring Cloud Gateway atau Zuul untuk mendedahkan sistem penjadualan tugas kepada perkhidmatan mikro lain.
spring:
     application:
          name: api-gateway
          
 server:
     port: 8080
 
 eureka:
     instance:
          hostname: localhost
     client:
          service-url:
               defaultZone: http://localhost:8761/eureka/
 
 gateway:
     routes:
          - id: task-scheduler
               uri: lb://task-scheduler
               predicates:
                    - Path=/schedule/**
Salin selepas log masuk

Panggil sistem penjadualan tugas dalam perkhidmatan mikro
  1. Dalam perkhidmatan mikro lain, gunakan alatan seperti Feign atau RestTemplate untuk memanggil API RESTful yang didedahkan oleh sistem penjadualan tugas tugas tak segerak atau mencetuskan pelaksanaan tugas.
@Service
 public class OrderService {
 
     @Autowired
     private TaskSchedulerClient taskSchedulerClient;
     
     public void createOrder(Order order) {
         //... 创建订单逻辑
         taskSchedulerClient.scheduleJob();
     }
 }
Salin selepas log masuk

4. Ringkasan

Artikel ini memperkenalkan cara menggunakan Spring Cloud untuk membangunkan sistem penjadualan tugas di bawah seni bina perkhidmatan mikro, terutamanya termasuk menggunakan Penjadual Spring untuk melaksanakan penjadualan tugas dan meletakkan sistem penjadualan tugas ke dalam Awan Musim Bunga Dalam seni bina perkhidmatan mikro. Saya harap ia akan membantu pembangun yang menggunakan seni bina perkhidmatan mikro, supaya mereka boleh membina sistem teragih yang sangat boleh dipercayai dan berskala dengan lebih mudah.

Atas ialah kandungan terperinci Cara menggunakan Spring Cloud untuk membangunkan sistem penjadualan tugas di bawah seni bina perkhidmatan mikro. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Analisis kod sumber Spring Cloud: Bahagian 1 Analisis kod sumber Spring Cloud: Bahagian 1 Aug 15, 2023 pm 04:04 PM

Secara peribadi, saya fikir prasyarat untuk membaca kod sumber ialah anda mesti boleh menggunakannya Setelah anda biasa dengannya, anda boleh meneka bagaimana orang lain melaksanakannya. Jika terdapat dokumen rasmi yang berkaitan, kemudian baca dokumen rasmi.

Cabaran dan Peluang Seni Bina Perkhidmatan Mikro PHP: Meneroka Wilayah Belum Dipetakan Cabaran dan Peluang Seni Bina Perkhidmatan Mikro PHP: Meneroka Wilayah Belum Dipetakan Feb 19, 2024 pm 07:12 PM

Seni bina perkhidmatan mikro PHP telah menjadi cara yang popular untuk membina aplikasi yang kompleks dan mencapai kebolehskalaan dan ketersediaan yang tinggi. Walau bagaimanapun, penggunaan perkhidmatan mikro juga membawa cabaran dan peluang yang unik. Artikel ini akan menyelidiki aspek seni bina perkhidmatan mikro PHP ini untuk membantu pembangun membuat keputusan termaklum apabila meneroka wilayah yang belum dipetakan. Kerumitan sistem teragih yang mencabar: Seni bina Microservices menguraikan aplikasi kepada perkhidmatan yang digandingkan secara longgar, yang meningkatkan kerumitan sedia ada sistem teragih. Contohnya, komunikasi antara perkhidmatan, pengendalian kegagalan dan kependaman rangkaian semuanya menjadi faktor yang perlu dipertimbangkan. Tadbir urus perkhidmatan: Menguruskan sejumlah besar perkhidmatan mikro memerlukan mekanisme untuk menemui, mendaftar, menghalakan dan mengurus perkhidmatan ini. Ini melibatkan membina dan mengekalkan rangka kerja tadbir urus perkhidmatan, yang boleh intensif sumber. Penyelesaian masalah: dalam perkhidmatan mikro

Cara menggunakan Java untuk membangunkan seni bina perkhidmatan mikro berdasarkan Spring Cloud Alibaba Cara menggunakan Java untuk membangunkan seni bina perkhidmatan mikro berdasarkan Spring Cloud Alibaba Sep 20, 2023 am 11:46 AM

Cara menggunakan Java untuk membangunkan seni bina perkhidmatan mikro berdasarkan Spring Cloud Alibaba Seni bina perkhidmatan mikro telah menjadi salah satu seni bina arus perdana pembangunan perisian moden , skala dan urus. SpringCloudAlibaba ialah projek sumber terbuka berdasarkan SpringCloud, menyediakan pembangun dengan set alat dan komponen untuk membina seni bina perkhidmatan mikro dengan cepat. Artikel ini akan memperkenalkan bagaimana

Cara menggunakan Java untuk membangunkan aplikasi orkestrasi kontena berdasarkan Spring Cloud Kubernetes Cara menggunakan Java untuk membangunkan aplikasi orkestrasi kontena berdasarkan Spring Cloud Kubernetes Sep 20, 2023 am 11:15 AM

Cara menggunakan Java untuk membangunkan aplikasi orkestrasi kontena berdasarkan Spring Cloud Kubernetes Dengan pembangunan dan aplikasi meluas teknologi kontena, alat orkestrasi kontena telah menjadi bahagian yang amat diperlukan dalam pembangun. Sebagai salah satu alat orkestrasi kontena yang paling popular, Kubernetes telah menjadi standard industri. Dalam konteks ini, menggabungkan Spring Cloud dan Kubernetes, kami boleh membangunkan aplikasi dengan mudah berdasarkan orkestrasi kontena. Artikel ini akan memperkenalkan secara terperinci

Rangka kerja PHP terbaik untuk seni bina perkhidmatan mikro: prestasi dan kecekapan Rangka kerja PHP terbaik untuk seni bina perkhidmatan mikro: prestasi dan kecekapan Jun 03, 2024 pm 08:27 PM

Rangka Kerja Mikroperkhidmatan PHP Terbaik: Symfony: Fleksibiliti, prestasi dan kebolehskalaan, menyediakan set komponen untuk membina perkhidmatan mikro. Laravel: menumpukan pada kecekapan dan kebolehujian, menyediakan antara muka API yang bersih dan menyokong perkhidmatan tanpa kewarganegaraan. Slim: minimalis, pantas, menyediakan sistem penghalaan mudah dan pembina bahagian tengah pilihan, sesuai untuk membina API berprestasi tinggi.

Membina seni bina perkhidmatan mikro berprestasi tinggi: amalan terbaik untuk fungsi pembangunan swoole Membina seni bina perkhidmatan mikro berprestasi tinggi: amalan terbaik untuk fungsi pembangunan swoole Aug 05, 2023 pm 08:25 PM

Membina seni bina perkhidmatan mikro berprestasi tinggi: Amalan terbaik untuk fungsi pembangunan Swoole Dengan perkembangan pesat Internet dan Internet mudah alih, seni bina perkhidmatan mikro berprestasi tinggi telah menjadi keperluan bagi banyak perusahaan. Sebagai sambungan PHP berprestasi tinggi, Swoole boleh menyediakan fungsi tak segerak, coroutine dan lain-lain, menjadikannya pilihan terbaik untuk membina seni bina perkhidmatan mikro berprestasi tinggi. Artikel ini akan memperkenalkan cara menggunakan Swoole untuk membangunkan seni bina perkhidmatan mikro berprestasi tinggi dan menyediakan contoh kod yang sepadan. Pasang dan konfigurasikan sambungan Swool Pertama, anda perlu memasang Swool pada pelayan.

Dalam seni bina perkhidmatan mikro, bagaimanakah rangka kerja Java menyelesaikan masalah transaksi silang perkhidmatan? Dalam seni bina perkhidmatan mikro, bagaimanakah rangka kerja Java menyelesaikan masalah transaksi silang perkhidmatan? Jun 04, 2024 am 10:46 AM

Rangka kerja Java menyediakan fungsi pengurusan transaksi teragih untuk menyelesaikan masalah transaksi silang perkhidmatan dalam seni bina perkhidmatan mikro, termasuk: AtomikosTransactionsPlatform: menyelaraskan urus niaga daripada sumber data yang berbeza dan menyokong protokol XA. SpringCloudSleuth: Menyediakan keupayaan pengesanan antara perkhidmatan dan boleh disepadukan dengan rangka kerja pengurusan transaksi yang diedarkan untuk mencapai kebolehkesanan. SagaPattern: Uraikan urus niaga ke dalam urus niaga tempatan dan pastikan ketekalan akhirnya melalui perkhidmatan penyelaras.

Melihat arah aliran masa depan pembangunan fungsi Java dari perspektif seni bina perkhidmatan mikro Melihat arah aliran masa depan pembangunan fungsi Java dari perspektif seni bina perkhidmatan mikro Sep 18, 2023 am 10:52 AM

Melihat arah aliran masa depan pembangunan fungsi Java dari perspektif seni bina perkhidmatan mikro Ringkasan: Dalam beberapa tahun kebelakangan ini, dengan perkembangan pesat pengkomputeran awan dan teknologi data besar, seni bina perkhidmatan mikro telah menjadi pilihan pertama untuk kebanyakan pembangunan perisian perusahaan. Artikel ini akan meneroka aliran masa depan pembangunan fungsi Java dari perspektif seni bina perkhidmatan mikro, dan menganalisis kelebihan dan cabarannya dengan contoh kod khusus. Pengenalan Dengan pengembangan berterusan skala perisian dan perubahan pesat dalam perniagaan, aplikasi monolitik secara beransur-ansur mendedahkan masalah tidak dapat memenuhi keperluan pembangunan moden. Konsep seni bina perkhidmatan mikro dicadangkan untuk menghadapi cabaran ini.

See all articles