Rumah > Java > javaTutorial > Docker dan Spring Boot: Membina seni bina perkhidmatan mikro yang boleh dipercayai dan sangat tersedia

Docker dan Spring Boot: Membina seni bina perkhidmatan mikro yang boleh dipercayai dan sangat tersedia

PHPz
Lepaskan: 2023-10-25 11:34:51
asal
738 orang telah melayarinya

Docker和Spring Boot:构建可靠、高可用的微服务架构

Docker dan Spring Boot: Membina seni bina perkhidmatan mikro yang boleh dipercayai dan tersedia tinggi memerlukan contoh kod khusus

Pengenalan:
Hari ini, seni bina perkhidmatan mikro telah menjadi pilihan pertama bagi banyak perusahaan untuk membina aplikasi. Apabila membina seni bina perkhidmatan mikro, penggunaan teknologi kontena telah menjadi pilihan biasa. Sebagai salah satu daripada teknologi kontena arus perdana semasa, Docker, yang digunakan bersama dengan Spring Boot, boleh menyediakan seni bina perkhidmatan mikro yang boleh dipercayai dan sangat tersedia. Artikel ini akan memperkenalkan gabungan Docker dan Spring Boot dan memberikan contoh kod khusus.

1 Pengenalan kepada Docker
Docker ialah platform sumber terbuka untuk membangunkan, menghantar dan menjalankan aplikasi. Ia memanfaatkan teknologi kontena untuk membungkus aplikasi dan kebergantungannya ke dalam bekas mudah alih. Oleh kerana Docker menyediakan kaedah virtualisasi yang ringan, berbilang bekas bebas boleh dijalankan berdasarkan kernel sistem pengendalian yang sama, dengan itu mencapai penggunaan sumber yang lebih tinggi dan kelajuan permulaan aplikasi yang lebih pantas.

2. Pengenalan kepada Spring Boot
Spring Boot ialah rangka kerja untuk mencipta aplikasi java bebas berdasarkan rangka kerja Spring. Ia memudahkan konfigurasi dan proses penggunaan aplikasi Spring dan menyediakan satu set alat dan konvensyen pembangunan yang mudah, membolehkan pembangun menumpukan lebih pada pelaksanaan logik perniagaan. Spring Boot boleh mencipta dan menjalankan aplikasi Java yang boleh digunakan secara bebas melalui pelayan terbenam seperti Tomcat.

3. Gabungan Docker dan Spring Boot

  1. Membina imej Docker:
    Pertama, kita perlu menggunakan Dockerfile untuk menerangkan proses pembinaan imej Docker. Berikut ialah contoh Dockerfile mudah:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY target/myapp.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
Salin selepas log masuk
Salin selepas log masuk
  1. Menulis fail Docker Compose:
    Docker Compose ialah alat untuk mentakrif dan menjalankan berbilang bekas Docker. Kami boleh menggunakannya untuk menentukan perhubungan dan konfigurasi rangkaian antara berbilang bekas perkhidmatan mikro. Berikut ialah contoh docker-compose.yml yang mudah:
version: '3'
services:
  myapp:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8080:8080
    networks:
      - mynetwork
networks:
  mynetwork:
    driver: bridge
Salin selepas log masuk
Salin selepas log masuk
  1. Menggunakan aplikasi Spring Boot:
    Menggunakan fail Dockerfile dan docker-compose.yml di atas, kami boleh menggunakan aplikasi Spring Boot dengan mengikuti langkah-langkah:
  • Laksanakan arahan docker-compose up dalam direktori akar aplikasi, Docker Compose akan membina imej secara automatik dan memulakan bekas.
  • Aplikasi akan dijalankan secara tempatan pada port 8080.

4. Contoh Demonstrasi
Di bawah kami menggunakan contoh mudah untuk menunjukkan penggunaan gabungan Docker dan Spring Boot. Kami akan membuat perkhidmatan RESTful mudah yang bertanya dan mengembalikan beberapa maklumat pengguna.

  1. Buat projek Spring Boot:
    Mula-mula, buat projek Spring Boot baharu menggunakan Spring Initializer. Tambahkan kebergantungan berikut pada projek:
implementation 'org.springframework.boot:spring-boot-starter-web'
Salin selepas log masuk
  1. Tulis antara muka RESTful:
    Buat kelas UserController dalam projek dan tulis antara muka RESTful yang mudah:
@RestController
@RequestMapping("/users")
public class UserController {

    @GetMapping("/{id}")
    public User getUserById(@PathVariable("id") Long id) {
        // 根据用户id查询并返回用户信息
        // ...
    }
}
Salin selepas log masuk
  1. Bina imej Docker:
    Create satu dalam projek. direktori Fail bernama Dockerfile dengan kandungan berikut:
FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY target/myapp.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
Salin selepas log masuk
Salin selepas log masuk
  1. Menulis fail Docker Compose:
    Buat fail bernama docker-compose.yml dalam direktori akar projek dengan kandungan berikut:
version: '3'
services:
  myapp:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 8080:8080
    networks:
      - mynetwork
networks:
  mynetwork:
    driver: bridge
Salin selepas log masuk
Salin selepas log masuk
  1. Mulakan aplikasi :
    Laksanakan arahan berikut dalam direktori akar projek:
./mvnw clean package
docker-compose up
Salin selepas log masuk

Dengan cara ini, aplikasi Spring Boot akan dijalankan pada port tempatan 8080. Anda boleh menggunakan alatan seperti Postman untuk menghantar permintaan GET untuk ujian.

Kesimpulan:
Dengan menggabungkan Docker dan Spring Boot, kami boleh membina seni bina perkhidmatan mikro yang boleh dipercayai dan tersedia dengan cepat. Teknologi virtualisasi ringan Docker menjadikan penggunaan aplikasi lebih fleksibel dan cekap, manakala kesederhanaan dan kemudahan Spring Boot menjadikan proses pembangunan lebih pantas dan mudah. Saya harap contoh kod khusus yang disediakan dalam artikel ini akan membantu pembaca dalam membina seni bina perkhidmatan mikro.

Atas ialah kandungan terperinci Docker dan Spring Boot: Membina seni bina perkhidmatan mikro yang boleh dipercayai dan sangat tersedia. 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