Rumah Java javaTutorial Bina seni bina perkhidmatan mikro menggunakan Docker dan Spring Boot

Bina seni bina perkhidmatan mikro menggunakan Docker dan Spring Boot

Oct 21, 2023 pm 12:26 PM
docker perkhidmatan mikro spring boot

使用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!

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.

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)

Cara menggunakan desktop docker Cara menggunakan desktop docker Apr 15, 2025 am 11:45 AM

Bagaimana cara menggunakan desktop Docker? Docktop Docktop adalah alat untuk menjalankan bekas Docker pada mesin tempatan. Langkah -langkah untuk digunakan termasuk: 1. Pasang desktop Docker; 2. Mulakan desktop Docker; 3. Buat imej Docker (menggunakan Dockerfile); 4. Membina imej Docker (menggunakan Docker Build); 5. Jalankan bekas Docker (menggunakan Docker Run).

Cara Membaca Versi Docker Cara Membaca Versi Docker Apr 15, 2025 am 11:51 AM

Untuk mendapatkan versi Docker, anda boleh melakukan langkah -langkah berikut: Jalankan arahan Docker "Docker -version" untuk melihat versi klien dan pelayan. Untuk MAC atau Windows, anda juga boleh melihat maklumat versi melalui tab versi Docktop GUI atau menu desktop Docker.

Cara membuat cermin di Docker Cara membuat cermin di Docker Apr 15, 2025 am 11:27 AM

Langkah -langkah untuk membuat imej Docker: Tulis Dockerfile yang mengandungi arahan membina. Bina imej di terminal, menggunakan arahan membina Docker. Tag imej dan tetapkan nama dan tag menggunakan arahan tag docker.

Cara mengemas kini imej Docker Cara mengemas kini imej Docker Apr 15, 2025 pm 12:03 PM

Langkah -langkah untuk mengemas kini imej Docker adalah seperti berikut: Tarik tag imej terkini imej baru memadam imej lama untuk tag tertentu (pilihan) mulakan semula bekas (jika diperlukan)

Cara menyalin fail di Docker ke luar Cara menyalin fail di Docker ke luar Apr 15, 2025 pm 12:12 PM

Kaedah untuk menyalin fail ke tuan rumah luaran di Docker: Gunakan arahan CP Docker: Jalankan Docker CP [Options] & lt; Container Path & GT; & lt; PATH HOST & GT;. Menggunakan jumlah data: Buat direktori pada tuan rumah, dan gunakan parameter -V parameter untuk memasang direktori ke dalam bekas apabila membuat bekas untuk mencapai penyegerakan fail bidirectional.

Cara memeriksa nama bekas Docker Cara memeriksa nama bekas Docker Apr 15, 2025 pm 12:21 PM

Anda boleh menanyakan nama kontena Docker dengan mengikuti langkah -langkah: Senaraikan semua bekas (Docker PS). Tapis senarai kontena (menggunakan arahan grep). Mendapat nama kontena (terletak di lajur "Nama").

Cara Mengubah Sumber Imej Docker di China Cara Mengubah Sumber Imej Docker di China Apr 15, 2025 am 11:30 AM

Anda boleh beralih ke sumber cermin domestik. Langkah -langkah adalah seperti berikut: 1. Edit fail konfigurasi /etc/docker/daemon.json dan tambahkan alamat sumber cermin; 2. Selepas menyimpan dan keluar, mulakan semula perkhidmatan Docker Sudo SystemCtl Docker untuk meningkatkan kelajuan muat turun dan kestabilan imej.

Cara Menyelamatkan Gambar Docker Cara Menyelamatkan Gambar Docker Apr 15, 2025 am 11:54 AM

Untuk menyimpan imej di Docker, anda boleh menggunakan arahan Docker Commit untuk membuat imej baru, yang mengandungi keadaan semasa bekas yang ditentukan, Sintaks: Docker Commit [Options] Nama Imej Container ID. Untuk menyimpan imej ke repositori, anda boleh menggunakan arahan PUSH Docker, Sintaks: Docker Push Nama Imej [: TAG]. Untuk mengimport imej yang disimpan, anda boleh menggunakan arahan tarik docker, sintaks: docker tarik nama imej [: tag].

See all articles