Rumah > Java > javaTutorial > teks badan

Bina seni bina perkhidmatan mikro menggunakan Docker dan Spring Boot

WBOY
Lepaskan: 2023-10-21 12:26:01
asal
1128 orang telah melayarinya

使用Docker和Spring Boot构建微服务架构

Menggunakan Docker dan Spring Boot untuk membina seni bina perkhidmatan mikro

Dengan perkembangan pesat teknologi pengkomputeran awan dan kontena, banyak perusahaan telah mula mengguna pakai seni bina perkhidmatan microservices untuk membina aplikasi berskala, fleksibel dan boleh diselenggara. Sebagai salah satu teknologi kontena yang paling popular pada masa ini, Docker boleh membina seni bina perkhidmatan mikro yang cekap dengan mudah apabila digabungkan dengan Spring Boot. Artikel ini akan memperkenalkan cara menggunakan Docker dan Spring Boot untuk membina seni bina perkhidmatan mikro dan menyediakan contoh kod khusus.

Kelebihan seni bina perkhidmatan mikro ialah ia membahagikan aplikasi besar kepada satu siri modul perkhidmatan mikro bebas, setiap satunya boleh digunakan secara bebas, berskala dan diurus. Sebagai rangka kerja untuk membina aplikasi dengan cepat, Spring Boot, digabungkan dengan Docker, boleh dengan lebih mudah melaksanakan seni bina perkhidmatan mikro.

Pertama, kita perlu menyediakan aplikasi Spring Boot yang mudah sebagai contoh. Katakan kita ingin membina sistem pengurusan pengguna yang mudah, termasuk fungsi menambah, memadam, mengubah suai dan menyemak pengguna. Kami boleh mencipta projek Spring Boot bernama "UserManagement" dan mentakrifkan kelas UserController dalam projek untuk menyediakan API REST berkaitan pengguna.

@RestController
@RequestMapping("/users")
public class UserController {

    @GetMapping("/")
    public List<User> getUsers() {
        // TODO: implement logic to get users from database
    }

    @PostMapping("/")
    public User createUser(@RequestBody User user) {
        // TODO: implement logic to create user in database
    }

    // TODO: implement other CRUD operations

}
Salin selepas log masuk

Kod di atas mentakrifkan pengawal REST mudah, yang menyediakan antara muka API untuk mendapatkan semua pengguna dan mencipta pengguna. Ini hanyalah contoh ringkas, mungkin terdapat lebih banyak antara muka API dan logik perniagaan dalam projek sebenar.

Seterusnya, kita perlu membungkus aplikasi Spring Boot ini sebagai fail JAR boleh laku dan menyimpannya menggunakan Docker. Mula-mula, buat fail bernama "Dockerfile" dalam direktori akar projek dan tambah kandungan berikut:

FROM openjdk:8-jdk-alpine
COPY target/UserManagement.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]
Salin selepas log masuk

Dockerfile di atas menggunakan imej JDK 8 berdasarkan Alpine Linux sebagai imej asas, yang akan dibungkus Salin fail UserManagement.jar yang baik ke bekas, dan nyatakan arahan kemasukan bekas sebagai "java -jar app.jar". Akhir sekali, bina aplikasi sebagai imej Docker menggunakan arahan berikut:

docker build -t user-management .
Salin selepas log masuk

Setelah binaan selesai, kita boleh menjalankan imej menggunakan arahan berikut:

docker run -p 8080:8080 user-management
Salin selepas log masuk

Sekarang, kami telah berjaya Menyimpan aplikasi Spring Boot dan mengakses antara muka API sistem pengurusan pengguna dengan mengakses http://localhost:8080/users.

Seterusnya, kita boleh menggunakan Docker Compose untuk mengurus berbilang bekas perkhidmatan mikro. Cipta fail bernama "docker-compose.yml" dalam direktori akar projek dan tambah kandungan berikut:

version: '3'
services:
  user-management:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8080:8080
Salin selepas log masuk

Fail docker-compose.yml di atas mentakrifkan fail bernama 'pengurusan pengguna' perkhidmatan, gunakan imej yang dibina sebelum ini dan petakan port 8080 kontena ke port 8080 hos.

Seterusnya, gunakan arahan berikut untuk memulakan seni bina perkhidmatan mikro:

docker-compose up -d
Salin selepas log masuk

Sekarang, kami telah berjaya memulakan kumpulan kontena Docker yang mengandungi perkhidmatan mikro yang diurus pengguna. Kami boleh mengakses antara muka API sistem pengurusan pengguna dengan mengakses http://localhost:8080/users, dan kami juga boleh melihat status bekas melalui arahan berikut:

docker ps
Salin selepas log masuk

Di atas ialah dibina menggunakan proses Asas Docker dan Spring Boot dan kod contoh seni bina perkhidmatan mikro. Dengan membungkus setiap perkhidmatan mikro sebagai bekas Docker bebas dan menggunakan Docker Compose untuk mengurus kumpulan kontena, seni bina perkhidmatan mikro boleh dikembangkan dan diurus dengan lebih mudah. Sudah tentu, ini hanyalah contoh mudah Dalam projek sebenar, lebih banyak faktor perlu dipertimbangkan, seperti pendaftaran perkhidmatan dan penemuan, pengimbangan beban, dsb.

Saya harap artikel ini akan membantu anda memahami cara menggunakan Docker dan Spring Boot untuk membina seni bina perkhidmatan mikro!

Atas ialah kandungan terperinci Bina seni bina perkhidmatan mikro menggunakan Docker dan Spring Boot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan