Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Bagaimana untuk menggunakan seni bina perkhidmatan mikro yang sangat tersedia di Linux

Bagaimana untuk menggunakan seni bina perkhidmatan mikro yang sangat tersedia di Linux

PHPz
PHPzasal
2023-07-06 22:10:401278semak imbas

Cara menggunakan seni bina perkhidmatan mikro yang sangat tersedia di Linux

Pengenalan:
Dengan pembangunan berterusan pembangunan perisian moden, seni bina perkhidmatan mikro telah menjadi cara yang popular untuk membina aplikasi yang fleksibel, berskala dan boleh diselenggara. Dalam seni bina perkhidmatan mikro, aplikasi dibahagikan kepada satu siri perkhidmatan bebas kecil, masing-masing bertanggungjawab untuk fungsi tertentu dan berkomunikasi melalui rangkaian. Disebabkan oleh kebebasan antara perkhidmatan, kami boleh menggunakan, menskala dan menyelenggara dengan lebih mudah.

Artikel ini akan memperkenalkan cara menggunakan seni bina perkhidmatan mikro yang sangat tersedia di Linux dan menyediakan beberapa contoh kod praktikal.

Bahagian Pertama: Persediaan

  1. Persekitaran berjalan: Mula-mula pastikan anda mempunyai pelayan yang menjalankan Linux, yang boleh menjadi mesin maya atau pelayan fizikal. Kami mengesyorkan menggunakan beberapa pengedaran Linux yang popular, seperti Ubuntu atau CentOS.
  2. Pasang Docker: Docker ialah platform kontena sumber terbuka yang boleh membantu kami menggunakan dan mengurus perkhidmatan mikro dengan cepat. Memasang Docker pada Linux adalah sangat mudah dan boleh dilakukan melalui dokumentasi rasmi.

Bahagian 2: Bina Imej Perkhidmatan Mikro

  1. Buat Fail Docker: Buat fail Fail Docker dalam direktori akar setiap perkhidmatan untuk membina imej. Fail Docker ialah fail teks biasa yang mentakrifkan satu siri arahan untuk membina imej.
  2. Tulis Fail Docker: Sebagai contoh, anggap kita mempunyai perkhidmatan mikro yang dipanggil "perkhidmatan pengguna" dan Fail Docker kita kelihatan seperti ini:
# 基于Java的镜像
FROM openjdk:8-jdk-alpine

# 设置工作目录
WORKDIR /app

# 将应用程序复制到镜像
COPY target/userservice.jar .

# 定义容器暴露的端口
EXPOSE 8080

# 设置环境变量
ENV JAVA_OPTS=""

# 启动应用程序
ENTRYPOINT exec java $JAVA_OPTS -jar userservice.jar
  1. Bina imej: Gunakan arahan berikut untuk membina imej (dengan andaian fail Docker dan aplikasi berada dalam direktori yang sama (Bawah):
docker build -t userservice .

Bahagian 3: Sebarkan kluster perkhidmatan mikro

  1. Buat Docker Swarm: Jalankan arahan berikut untuk menukar pelayan kami menjadi nod pengurusan kluster Docker Swarm.
docker swarm init
  1. Gunakan perkhidmatan: Cipta fail docker-compose.yaml untuk mentakrifkan seni bina perkhidmatan mikro kami. Berikut ialah contoh fail konfigurasi:
version: '3'
services:
  userservice:
    image: userservice
    deploy:
      replicas: 3
      restart_policy:
        condition: on-failure

Fail konfigurasi ini menyatakan bahawa perkhidmatan perkhidmatan pengguna kami harus menjalankan 3 salinan dan dimulakan semula secara automatik sekiranya berlaku kegagalan.

  1. Kerahkan perkhidmatan menggunakan arahan tindanan docker:
docker stack deploy -c docker-compose.yaml myservice

Ini akan menggunakan kluster perkhidmatan mikro kami dalam kluster Docker Swarm kami.

Bahagian 4: Pemantauan dan Penskalaan

  1. Menggunakan Docker Swarm untuk penskalaan perkhidmatan: Jika kami memerlukan lebih banyak contoh perkhidmatan untuk mengendalikan beban yang lebih tinggi, kami boleh menskalakan perkhidmatan menggunakan arahan berikut:
docker service scale myservice_userservice=5

Ini akan userservice Bilangan replika perkhidmatan diperluaskan kepada 5.

  1. Memantau menggunakan Prometheus dan Grafana: Prometheus ialah sistem pemantauan sumber terbuka, dan Grafana ialah alat visualisasi. Kami boleh menggunakan kedua-dua alatan ini untuk memantau kluster perkhidmatan mikro kami.

Mulakan bekas Prometheus dan Grafana menggunakan arahan berikut:

docker run -d -p 9090:9090 --name prometheus prom/prometheus
docker run -d -p 3000:3000 --name grafana grafana/grafana

Konfigurasikan Prometheus untuk memantau kluster perkhidmatan mikro kami dan gunakan Grafana untuk mencipta papan pemuka untuk melihat data pemantauan.

Kesimpulan:
Di atas adalah langkah-langkah dan kod sampel untuk menggunakan seni bina perkhidmatan mikro yang mempunyai ketersediaan tinggi pada Linux. Dengan menggunakan Docker dan Docker Swarm, kami boleh membina, menggunakan dan menskala kluster perkhidmatan mikro dengan mudah. Pada masa yang sama, menggunakan Prometheus dan Grafana boleh membantu kami memantau prestasi dan kesihatan perkhidmatan mikro. Saya harap artikel ini telah memberi anda sedikit bantuan dan panduan dalam membina seni bina perkhidmatan mikro yang sangat tersedia.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan seni bina perkhidmatan mikro yang sangat tersedia di Linux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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