Rumah >Java >javaTutorial >Cara menggunakan Spring Cloud untuk membangunkan sistem penjadualan tugas di bawah seni bina perkhidmatan mikro
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 Dalam seni bina perkhidmatan mikro Seterusnya, sistem penjadualan tugasan perlu menyokong fungsi berikut:
boleh mencetuskan pelaksanaan tugas pada titik masa atau saat tertentu.Penjadual Musim Bunga ialah modul rangka kerja Penjadualan yang ringan yang boleh melaksanakan fungsi penjadualan tugas.
Tambah kebergantungan Spring Scheduler<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.4.3</version> </dependency>Buat tugas Kelas pelaksanaan
@Component public class JobTask implements Runnable { @Override public void run() { System.out.println("running job..."); } }Tambah konfigurasi penjadualan tugas
@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(); } }Uji fungsi penjadualan tugas
3. Letakkan sistem penjadualan tugas ke dalam seni bina perkhidmatan mikro Spring Cloud
Daftar sistem penjadualan tugas ke pusat pendaftaran perkhidmatanspring: application: name: task-scheduler eureka: instance: hostname: localhost client: service-url: defaultZone: http://localhost:8761/eureka/Tetapkan peraturan penghalaan dalam get laluan
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/**Panggil sistem penjadualan tugas dalam perkhidmatan mikro
@Service public class OrderService { @Autowired private TaskSchedulerClient taskSchedulerClient; public void createOrder(Order order) { //... 创建订单逻辑 taskSchedulerClient.scheduleJob(); } }
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!