Jalan ke pembangunan Java bagi seni bina mikroperkhidmatan memerlukan contoh kod khusus
Dalam beberapa tahun kebelakangan ini, seni bina perkhidmatan mikro secara beransur-ansur menjadi popular dalam bidang pembangunan perisian. Berbanding dengan seni bina aplikasi monolitik tradisional, seni bina perkhidmatan mikro membahagikan aplikasi kepada satu set perkhidmatan kecil dan bebas Setiap perkhidmatan berjalan dalam prosesnya sendiri dan saling berkaitan melalui mekanisme komunikasi yang ringan. Seni bina ini membolehkan pasukan pembangunan membangun, menguji dan menggunakan aplikasi dengan lebih fleksibel dan cepat, serta menyesuaikan diri dengan lebih baik kepada keperluan perniagaan yang berubah-ubah.
Dalam bidang pembangunan Java, pelaksanaan seni bina perkhidmatan mikro boleh menggunakan beberapa rangka kerja dan alatan yang matang. Di bawah saya akan memperkenalkan beberapa alat pembangunan Java yang biasa digunakan dan menggunakan contoh kod khusus untuk menggambarkan cara membina aplikasi berdasarkan seni bina perkhidmatan mikro.
Pertama, kita perlu memilih rangka kerja yang sesuai untuk membina perkhidmatan mikro. Pada masa ini, Spring Cloud adalah pilihan yang sangat popular. Ia adalah lanjutan daripada Spring Boot dan menyediakan set lengkap komponen perkhidmatan mikro, seperti pendaftaran perkhidmatan dan penemuan, pengimbangan beban, pemutus litar, dsb. Seterusnya, saya akan menggunakan Spring Cloud sebagai contoh untuk menunjukkan cara membina aplikasi seni bina perkhidmatan mikro yang mudah.
Katakan kita ingin membina sistem pengurusan buku, yang mengandungi tiga perkhidmatan mikro: perkhidmatan buku, perkhidmatan pesanan dan perkhidmatan pengguna. Antaranya, perkhidmatan buku bertanggungjawab mengurus maklumat buku, perkhidmatan pesanan bertanggungjawab memproses peminjaman dan pemulangan buku pengguna, dan perkhidmatan pengguna bertanggungjawab mengurus maklumat pengguna.
Pertama, kami buat projek servis buku. Dalam projek ini, kita perlu mentakrifkan kelas Buku untuk mewakili maklumat buku Contohnya adalah seperti berikut:
public class Book { private String id; private String name; private String author; // 省略getter和setter方法 }
Kemudian, kita boleh mentakrifkan antara muka REST untuk perkhidmatan buku untuk panggilan mikro lain. Contohnya adalah seperti berikut:
@RestController public class BookController { @GetMapping("/books/{id}") public Book getBook(@PathVariable String id) { // 根据图书ID查询图书信息 Book book = new Book(); book.setId(id); book.setName("Java编程思想"); book.setAuthor("Bruce Eckel"); return book; } @PostMapping("/books") public Book addBook(@RequestBody Book book) { // 添加图书 return book; } }
Seterusnya, kami mencipta projek perkhidmatan pesanan dan menentukan kelas Pesanan di dalamnya untuk mewakili maklumat pesanan. Contohnya adalah seperti berikut:
public class Order { private String id; private String userId; private String bookId; // 省略getter和setter方法 }
Kemudian, kita boleh mentakrifkan antara muka REST untuk perkhidmatan pesanan, contohnya adalah seperti berikut:
@RestController public class OrderController { @PostMapping("/orders") public Order createOrder(@RequestBody Order order) { // 创建订单 return order; } @GetMapping("/orders/{id}") public Order getOrder(@PathVariable String id) { // 查询订单信息 Order order = new Order(); order.setId(id); order.setUserId("123"); order.setBookId("456"); return order; } }
Akhir sekali, kami mencipta projek perkhidmatan pengguna dan menentukan kelas Pengguna di dalamnya untuk mewakili pengguna maklumat. Contohnya adalah seperti berikut:
public class User { private String id; private String username; private String password; // 省略getter和setter方法 }
Kemudian, kita boleh menentukan antara muka REST untuk perkhidmatan pengguna, contohnya adalah seperti berikut:
@RestController public class UserController { @GetMapping("/users/{id}") public User getUser(@PathVariable String id) { // 查询用户信息 User user = new User(); user.setId(id); user.setUsername("Tom"); user.setPassword("123456"); return user; } @PostMapping("/users") public User createUser(@RequestBody User user) { // 创建用户 return user; } }
Melalui contoh kod di atas, kita boleh melihat cara menggunakan Spring Cloud untuk membina aplikasi berdasarkan seni bina perkhidmatan mikro. Setiap perkhidmatan mikro ialah projek bebas yang menyediakan perkhidmatan melalui antara muka REST dan boleh digunakan dan diskalakan secara bebas.
Selepas kami selesai menulis kod di atas, kami boleh menggunakan pendaftaran perkhidmatan dan komponen penemuan yang disediakan oleh Spring Cloud untuk menguruskan pendaftaran dan penemuan perkhidmatan. Sebagai contoh, kita boleh menggunakan Eureka untuk melaksanakan fungsi pendaftaran perkhidmatan dan penemuan.
Menggunakan Eureka, kami boleh menambah konfigurasi berikut dalam fail konfigurasi setiap projek perkhidmatan mikro:
spring.application.name=book-service eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
Dengan konfigurasi di atas, kami memberitahu Spring Boot untuk mendaftarkan perkhidmatan semasa pada pelayan Eureka. Perkhidmatan mikro lain juga boleh mendaftarkan diri mereka pada pelayan Eureka dengan cara yang sama.
Ringkasnya, seni bina perkhidmatan mikro mempunyai prospek aplikasi yang luas dalam pembangunan Java. Dengan bantuan rangka kerja dan alatan seperti Spring Cloud, kami boleh membina, menguji dan menggunakan aplikasi seni bina perkhidmatan mikro dengan lebih mudah. Sudah tentu, artikel ini hanya memperkenalkan konsep asas seni bina perkhidmatan mikro dan contoh mudah Seni bina perkhidmatan mikro sebenar perlu direka dan dilaksanakan mengikut keperluan perniagaan tertentu. Saya harap artikel ini dapat memberi sedikit rujukan kepada pembaca untuk lebih memahami seni bina perkhidmatan mikro.
Atas ialah kandungan terperinci Jalan ke pembangunan Java untuk seni bina perkhidmatan mikro. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!