Rumah Java javaTutorial Menggunakan perisian tengah dalam rangka kerja java untuk menguruskan pengimbangan beban dan failover

Menggunakan perisian tengah dalam rangka kerja java untuk menguruskan pengimbangan beban dan failover

Jun 03, 2024 pm 03:41 PM
perisian tengah pengimbangan beban

Untuk memastikan ketersediaan dan prestasi sistem teragih moden, pengimbangan beban dan failover adalah penting. Rangka kerja Java boleh melaksanakan fungsi ini dengan mudah melalui penyelesaian middleware yang matang. Dengan pengimbang beban, trafik masuk boleh diagihkan sama rata ke kluster pelayan bahagian belakang untuk kebolehskalaan dan ketersediaan yang lebih baik. Failover boleh mengubah hala trafik ke komponen yang sihat apabila komponen gagal, memastikan operasi aplikasi yang stabil. Artikel ini meneroka amalan khusus menggunakan perisian tengah untuk pengimbangan beban dan failover dalam rangka kerja Java, termasuk contoh praktikal untuk membuat kumpulan sasaran, pemeriksaan kesihatan dan pengimbang beban di Google Cloud.

Menggunakan perisian tengah dalam rangka kerja java untuk menguruskan pengimbangan beban dan failover

Load Balancing dan Failover dalam Rangka Kerja Java: Menggunakan Middleware

Dalam sistem edaran moden, pengimbangan beban dan failover adalah penting, mereka memastikan aplikasi dapat bertahan pada trafik puncak atau kegagalan komponen sambil mengekalkan ketersediaan dan prestasi. Rangka kerja Java boleh melaksanakan fungsi ini dengan mudah melalui pelbagai penyelesaian middleware yang matang.

Pengimbang Beban

Pengimbang beban mengagihkan trafik masuk secara sama rata merentasi gugusan pelayan bahagian belakang untuk kebolehskalaan dan ketersediaan yang lebih baik. Pengimbang beban yang biasa digunakan di Java termasuk:

import com.google.cloud.compute.v1.GlobalForwardingRule;
import com.google.cloud.compute.v1.ForwardingRuleService;
import com.google.cloud.compute.v1.RegionForwardingRule;
import com.google.cloud.compute.v1.ForwardingRule;
import com.google.cloud.compute.v1.TargetPool;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;

public class CreateLoadBalancer {

  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample
    String project = "your-project-id";
    String zone = "zone-name"; // optional, only required for region-wide forwarding rules
    String region = "region-name"; // optional, only required for global forwarding rules
    String forwardingRuleName = "your-forwarding-rule-name";
    String targetPoolName = "your-target-pool-name";
    String healthCheckName = "your-health-check-name";
    String backendServiceName = "your-backend-service-name";
    String port = "8080"; // your port

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the `client.close()` method on the client to safely
    // clean up any remaining background resources.
    try (ComputeEngine client = ComputeEngine.create()) {
      // Create a new forwarding rule
      ForwardingRule forwardingRule;
      if (region == null) {
        // Create regional forwarding rule
        forwardingRule =
            ForwardingRule.newBuilder()
                .setName(forwardingRuleName)
                .setTarget(String.format("/region/%s/targetPools/%s", region, targetPoolName))
                .addPortRange(port)
                .build();
        RegionForwardingRule regionForwardingRule =
            RegionForwardingRule.newBuilder().setForwardingRule(forwardingRule).setRegion(zone).build();
        forwardingRule = client.insertRegionForwardingRule(regionForwardingRule, zone);
      } else {
        // Create global forwarding rule
        forwardingRule =
            ForwardingRule.newBuilder()
                .setName(forwardingRuleName)
                .setTarget(String.format("/global/targetPools/%s", targetPoolName))
                .addPortRange(port)
                .build();
        GlobalForwardingRule globalForwardingRule =
            GlobalForwardingRule.newBuilder()
                .setForwardingRule(forwardingRule)
                .setProject(project)
                .build();
        forwardingRule = client.insertGlobalForwardingRule(globalForwardingRule);
      }
      System.out.printf("Forwarding rule %s created.\n", forwardingRule.getName());
    }
  }
}
Salin selepas log masuk

Failover

Failover ialah proses mengubah hala trafik ke komponen yang sihat apabila komponen, seperti pelayan atau pangkalan data, gagal. Penyelesaian failover yang biasa digunakan di Java termasuk:

import com.google.cloud.compute.v1.HealthCheck;
import com.google.cloud.compute.v1.HealthCheckService;
import com.google.cloud.compute.v1.RegionHealthCheck;
import com.google.cloud.compute.v1.ResourceGroupReference;
import com.google.cloud.compute.v1.TargetPool;
import com.google.cloud.compute.v1.TargetPoolService;
import java.io.IOException;

public class CreateHealthCheck {
  public static void main(String[] args) throws IOException {
    // TODO(developer): Replace these variables before running the sample
    String project = "your-project-id";
    String zone = "zone-name";
    String region = "region-name";
    String targetPoolName = "your-target-pool-name";
    String healthCheckName = "your-health-check-name";

    // Initialize client that will be used to send requests. This client only needs to be created
    // once, and can be reused for multiple requests. After completing all of your requests, call
    // the `client.close()` method on the client to safely
    // clean up any remaining background resources.
    try (ComputeEngine client = ComputeEngine.create()) {
      // Create a new health check
      HealthCheck hc =
          HealthCheck.newBuilder()
              .setName(healthCheckName)
              .setType("TCP")
              .setPort(8080) // optional, ignored by TCP-based heath checks
              .addTcpHealthCheck(
                  com.google.cloud.compute.v1.TcpHealthCheck.newBuilder()
                      .setRequest("/index.html")
                      .setResponse("200"))
              .build();

      // Add the health check to target pool
      TargetPool targetPool =
          TargetPool.newBuilder()
              .setName(targetPoolName)
              .addHealthChecks(String.format("/zone/%s/healthChecks/%s", zone, healthCheckName))
              .build();

      if (region == null) {
        targetPool = client.updateRegionTargetPool(targetPool, zone);
      } else {
        targetPool = client.updateGlobalTargetPool(targetPool);
      }

      System.out.printf("Added health check %s to target pool %s.\n", healthCheckName, targetPoolName);
    }
  }
}
Salin selepas log masuk

Kes praktikal: Menggunakan Google Cloud Load Balancing

Berikut ialah kes praktikal menggunakan Google Cloud Load Balancing untuk mencapai pengimbangan beban dan failover:

  1. Buat sasaran A pool yang mengandungi kejadian pelayan bahagian belakang.
  2. Buat Pemeriksaan Kesihatan untuk memeriksa kesihatan instance bahagian belakang anda secara berkala.
  3. Buat Pengimbang Beban dan konfigurasikannya untuk menghalakan trafik ke kumpulan sasaran.
  4. Sekiranya berlaku kegagalan atau beban berlebihan, pengimbang beban secara automatik mengubah laluan trafik untuk mengekalkan ketersediaan aplikasi.

Dengan mengikuti langkah ini, anda boleh menggunakan perisian tengah dengan mudah

Atas ialah kandungan terperinci Menggunakan perisian tengah dalam rangka kerja java untuk menguruskan pengimbangan beban dan failover. 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.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Bagaimana untuk mengoptimumkan prestasi TCP/IP dan prestasi rangkaian sistem Linux Bagaimana untuk mengoptimumkan prestasi TCP/IP dan prestasi rangkaian sistem Linux Nov 07, 2023 am 11:15 AM

Dalam bidang komputer moden, protokol TCP/IP adalah asas untuk komunikasi rangkaian. Sebagai sistem pengendalian sumber terbuka, Linux telah menjadi sistem pengendalian pilihan yang digunakan oleh banyak perniagaan dan organisasi. Walau bagaimanapun, apabila aplikasi dan perkhidmatan rangkaian menjadi komponen perniagaan yang semakin kritikal, pentadbir selalunya perlu mengoptimumkan prestasi rangkaian untuk memastikan pemindahan data yang pantas dan boleh dipercayai. Artikel ini akan memperkenalkan cara untuk meningkatkan kelajuan penghantaran rangkaian sistem Linux dengan mengoptimumkan prestasi TCP/IP dan prestasi rangkaian sistem Linux. Artikel ini akan membincangkan a

Kegagalan dan mekanisme pemulihan dalam penyelesaian pengimbangan beban Nginx Kegagalan dan mekanisme pemulihan dalam penyelesaian pengimbangan beban Nginx Oct 15, 2023 am 11:14 AM

Pengenalan kepada mekanisme failover dan pemulihan dalam penyelesaian pengimbangan beban Nginx: Untuk laman web beban tinggi, penggunaan pengimbangan beban adalah salah satu cara penting untuk memastikan ketersediaan tinggi tapak web dan meningkatkan prestasi. Sebagai pelayan web sumber terbuka yang berkuasa, fungsi pengimbangan beban Nginx telah digunakan secara meluas. Dalam pengimbangan beban, cara melaksanakan mekanisme failover dan pemulihan merupakan isu penting yang perlu dipertimbangkan. Artikel ini akan memperkenalkan mekanisme failover dan pemulihan dalam pengimbangan beban Nginx dan memberikan contoh kod khusus. 1. Mekanisme kegagalan

Apakah prinsip perisian tengah tomcat Apakah prinsip perisian tengah tomcat Dec 27, 2023 pm 04:40 PM

Prinsip perisian tengah tomcat dilaksanakan berdasarkan spesifikasi Java Servlet dan Java EE. Sebagai bekas Servlet, Tomcat bertanggungjawab untuk memproses permintaan dan respons HTTP dan menyediakan persekitaran berjalan untuk aplikasi Web. Prinsip-prinsip perantara Tomcat terutamanya melibatkan: 1. Model kontena 2. Mekanisme pemprosesan Servlet 5. Pengurusan konfigurasi 7. Penyambung dan pengimbangan; teknologi; 9. Mod terbenam, dsb.

Penyelesaian ketersediaan tinggi dan pemulihan bencana untuk penyelesaian pengimbangan beban Nginx Penyelesaian ketersediaan tinggi dan pemulihan bencana untuk penyelesaian pengimbangan beban Nginx Oct 15, 2023 am 11:43 AM

Penyelesaian Ketersediaan Tinggi dan Pemulihan Bencana bagi Penyelesaian Pengimbangan Beban Nginx Dengan perkembangan pesat Internet, ketersediaan perkhidmatan Web yang tinggi telah menjadi keperluan utama. Untuk mencapai ketersediaan tinggi dan toleransi bencana, Nginx sentiasa menjadi salah satu pengimbang beban yang paling biasa digunakan dan boleh dipercayai. Dalam artikel ini, kami akan memperkenalkan ketersediaan tinggi Nginx dan penyelesaian pemulihan bencana dan memberikan contoh kod khusus. Ketersediaan Nginx yang tinggi terutamanya dicapai melalui penggunaan berbilang pelayan. Sebagai pengimbang beban, Nginx boleh mengedarkan trafik ke beberapa pelayan bahagian belakang

Pengesanan kegagalan dinamik dan strategi pelarasan berat beban dalam penyelesaian pengimbangan beban Nginx Pengesanan kegagalan dinamik dan strategi pelarasan berat beban dalam penyelesaian pengimbangan beban Nginx Oct 15, 2023 pm 03:54 PM

Pengesanan kegagalan dinamik dan strategi pelarasan berat beban dalam penyelesaian pengimbangan beban Nginx memerlukan contoh kod khusus Pengenalan Dalam persekitaran rangkaian konkurensi tinggi, pengimbangan beban ialah penyelesaian biasa yang boleh meningkatkan ketersediaan dan prestasi tapak web dengan berkesan. Nginx ialah pelayan web sumber terbuka, berprestasi tinggi yang menyediakan keupayaan pengimbangan beban yang berkuasa. Artikel ini akan memperkenalkan dua ciri penting dalam pengimbangan beban Nginx, pengesanan kegagalan dinamik dan strategi pelarasan berat beban, dan menyediakan contoh kod khusus. 1. Pengesanan kegagalan dinamik Pengesanan kegagalan dinamik

Aplikasi strategi pengimbangan beban dalam pengoptimuman prestasi rangka kerja Java Aplikasi strategi pengimbangan beban dalam pengoptimuman prestasi rangka kerja Java May 31, 2024 pm 08:02 PM

Strategi pengimbangan beban adalah penting dalam rangka kerja Java untuk pengedaran permintaan yang cekap. Bergantung pada situasi konkurensi, strategi berbeza mempunyai prestasi berbeza: Kaedah pengundian: prestasi stabil di bawah konkurensi rendah. Kaedah undian berwajaran: Prestasi adalah serupa dengan kaedah pengundian di bawah konkurensi rendah. Bilangan kaedah sambungan paling sedikit: prestasi terbaik di bawah keselarasan tinggi. Kaedah rawak: mudah tetapi prestasi lemah. Hashing Konsisten: Mengimbangi beban pelayan. Digabungkan dengan kes praktikal, artikel ini menerangkan cara memilih strategi yang sesuai berdasarkan data prestasi untuk meningkatkan prestasi aplikasi dengan ketara.

Cara menggunakan perisian tengah untuk pecutan data dalam Laravel Cara menggunakan perisian tengah untuk pecutan data dalam Laravel Nov 02, 2023 am 09:40 AM

Cara menggunakan perisian tengah untuk pecutan data dalam Laravel Pengenalan: Apabila membangunkan aplikasi web menggunakan rangka kerja Laravel, pecutan data adalah kunci untuk meningkatkan prestasi aplikasi. Middleware ialah ciri penting yang disediakan oleh Laravel yang mengendalikan permintaan sebelum ia mencapai pengawal atau sebelum respons dikembalikan. Artikel ini akan menumpukan pada cara menggunakan perisian tengah untuk mencapai pecutan data dalam Laravel dan memberikan contoh kod khusus. 1. Apakah middleware itu adalah mekanisme dalam rangka kerja Laravel

Cara menggunakan perisian tengah untuk transformasi tindak balas dalam Laravel Cara menggunakan perisian tengah untuk transformasi tindak balas dalam Laravel Nov 03, 2023 am 09:57 AM

Cara menggunakan middleware untuk penukaran respons dalam Laravel Middleware ialah salah satu ciri yang sangat berkuasa dan praktikal dalam rangka kerja Laravel. Ia membolehkan kami memproses permintaan dan respons sebelum permintaan memasuki pengawal atau sebelum respons dihantar kepada klien. Dalam artikel ini, saya akan menunjukkan cara menggunakan perisian tengah untuk transformasi respons dalam Laravel. Sebelum memulakan, pastikan anda memasang Laravel dan projek baharu dibuat. Sekarang kita akan mengikuti langkah berikut: Cipta perisian tengah baru Terbuka

See all articles