Jadual Kandungan
Apakah pengimbangan beban?
Algoritma pengimbangan beban biasa
Algoritma pengundian
Algoritma Rawak
Algoritma undian berwajaran
Algoritma Sambungan Terkecil
Spring Cloud melaksanakan pengimbangan beban
Cara menggunakan Ribbon
Strategi pengimbangan beban Ribbon
Kesimpulan
Rumah Java javaTutorial Gunakan Spring Cloud dengan bijak untuk menyelesaikan masalah pengimbangan beban di bawah seni bina perkhidmatan mikro

Gunakan Spring Cloud dengan bijak untuk menyelesaikan masalah pengimbangan beban di bawah seni bina perkhidmatan mikro

Jun 23, 2023 pm 01:40 PM
spring cloud pengimbangan beban Seni bina perkhidmatan mikro

Memandangkan kerumitan aplikasi perusahaan terus meningkat, semakin banyak perusahaan mula membahagikan aplikasi kepada berbilang perkhidmatan mikro dan melengkapkan keseluruhan proses perniagaan melalui kerjasama antara perkhidmatan mikro. Pendekatan seni bina ini boleh menjadikan aplikasi lebih stabil dan berskala, tetapi ia juga membawa beberapa masalah baharu, seperti pengimbangan beban, penemuan perkhidmatan, dsb. Artikel ini akan memperkenalkan cara menggunakan Spring Cloud untuk menyelesaikan masalah pengimbangan beban di bawah seni bina perkhidmatan mikro.

Apakah pengimbangan beban?

Pengimbangan Beban merujuk kepada memperuntukkan beban antara berbilang pelayan, peranti rangkaian atau aplikasi untuk mencapai penggunaan sumber yang optimum, kapasiti maksimum, kelajuan tindak balas terpantas dan kebolehpercayaan tertinggi serta hayat maksimum, menghasilkan perkhidmatan yang cekap dan boleh dipercayai.

Sebagai contoh, apabila sistem aplikasi mempunyai bilangan lawatan yang banyak dan pelayan tunggal tidak dapat memenuhi semua permintaan pengguna, kami boleh mengagihkan beban melalui berbilang pelayan untuk meningkatkan kestabilan dan daya pemprosesan sistem, tindak balas masa, dsb. Dalam seni bina perkhidmatan mikro, kerana terdapat berbilang perkhidmatan mikro dan berbilang contoh perkhidmatan, pengimbangan beban juga penting.

Algoritma pengimbangan beban biasa

Algoritma pengimbangan beban biasanya termasuk yang berikut:

Algoritma pengundian

Algoritma pengundian ialah salah satu algoritma pengimbangan beban yang paling mudah. Edarkan permintaan kepada setiap contoh perkhidmatan dalam urutan dalam susunan senarai contoh perkhidmatan Selepas semua contoh perkhidmatan telah diberikan permintaan, edarkan semula dari awal. Kelebihan algoritma pengundian ialah ia mudah dan sesuai untuk pelbagai senario beban, tetapi kelemahannya juga jelas, yang mungkin menyebabkan beban sesetengah contoh perkhidmatan menjadi terlalu tinggi.

Algoritma Rawak

Algoritma rawak memperuntukkan permintaan secara rawak kepada kejadian perkhidmatan, yang boleh menghalang ketidakseimbangan beban contoh perkhidmatan secara berkesan dalam kebanyakan kes, tetapi tidak dapat menjamin bahawa setiap contoh perkhidmatan diberikan Permintaan adalah semuanya yang sama.

Algoritma undian berwajaran

Algoritma pengundian berwajaran ialah penambahbaikan berdasarkan algoritma pengundian, iaitu, memberikan pemberat (atau perkadaran) yang berbeza kepada contoh perkhidmatan yang berbeza, supaya setiap bilangan permintaan yang diberikan kepada contoh perkhidmatan adalah berkadar dengan beratnya. Algoritma ini boleh menjadikan sistem lebih fleksibel dan boleh memperuntukkan permintaan mengikut tahap keupayaan sebenar contoh perkhidmatan.

Algoritma Sambungan Terkecil

Algoritma Sambungan Terkecil adalah untuk mengedarkan permintaan kepada contoh perkhidmatan dengan beban paling ringan berdasarkan beban sebenar contoh perkhidmatan semasa ini boleh menjamin beban setiap perkhidmatan Seimbang, tetapi terdapat juga beberapa kekurangan, contohnya, ia boleh menyebabkan permintaan tertentu dilaksanakan berulang kali pada keadaan perkhidmatan yang berbeza.

Spring Cloud melaksanakan pengimbangan beban

Spring Cloud menyediakan penyelesaian lengkap untuk pengimbangan beban. Antaranya, salah satu komponen teras ialah Ribbon. Ribbon ialah pengimbang beban sebelah pelanggan yang boleh digunakan dengan pelbagai klien perkhidmatan HTTP dan TCP untuk menyediakan pelanggan dengan keupayaan beban yang lebih stabil dan seimbang.

Cara menggunakan Ribbon

Menggunakan Ribbon adalah sangat mudah Anda hanya perlu menambah kebergantungan berikut dalam aplikasi Spring Boot:

<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
Salin selepas log masuk

Dan di mana pengimbangan beban diperlukan, pass @ Hanya ubah suai dengan anotasi LoadBalanced:

@Autowired
@LoadBalanced
private RestTemplate restTemplate;
Salin selepas log masuk

Apabila kami perlu mengakses perkhidmatan Rest, kami hanya perlu menggunakan nama perkhidmatan sebagai sebahagian daripada URI dalam laluan permintaan RestTemplate:

String result = restTemplate.getForObject("http://SERVICE-NAME/path", String.class);
Salin selepas log masuk

di mana , SERVICE-NAME ialah nama perkhidmatan dan laluan ialah laluan perkhidmatan. Pada masa ini, Ribbon akan memilih secara automatik contoh perkhidmatan yang tersedia berdasarkan algoritma pengimbangan beban yang dikonfigurasikan dan mengedarkan permintaan kepada tika perkhidmatan. Jika contoh perkhidmatan tidak tersedia, Ribbon akan memilih contoh perkhidmatan seterusnya yang tersedia secara automatik.

Strategi pengimbangan beban Ribbon

Secara lalai, Ribbon menggunakan algoritma tinjauan pendapat untuk mencapai pengimbangan beban, yang juga boleh ditentukan melalui fail konfigurasi. Berikut ialah beberapa strategi pengimbangan beban biasa:

ribbon:
  LoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 随机负载均衡
  # LoadBalancerRuleClassName: com.netflix.loadbalancer.RoundRobinRule # 轮询负载均衡
  # LoadBalancerRuleClassName: com.netflix.loadbalancer.WeightedResponseTimeRule # 带权重的随机负载均衡
  # LoadBalancerRuleClassName: com.netflix.loadbalancer.RepeatableRandomRule # 重试随机负载均衡
  # LoadBalancerRuleClassName: com.netflix.loadbalancer.AvailabilityFilteringRule # 豁免机房、实例挂掉等异常情况负载均衡
Salin selepas log masuk

Kesimpulan

Artikel ini memperkenalkan cara melaksanakan pengimbangan beban di bawah seni bina perkhidmatan mikro melalui Ribbon dalam Spring Cloud. Menggunakan Ribbon adalah sangat mudah. ​​Kami hanya perlu mengubah suai dengan anotasi @LoadBalanced yang memerlukan pengimbangan beban. Apabila berbilang tika perkhidmatan tersedia, Ribbon secara automatik memilih tika perkhidmatan yang tersedia berdasarkan dasar pengimbangan beban yang dikonfigurasikan dan mengedarkan permintaan kepada tika perkhidmatan untuk mencapai pengimbangan beban.

Atas ialah kandungan terperinci Gunakan Spring Cloud dengan bijak untuk menyelesaikan masalah pengimbangan beban di bawah seni bina perkhidmatan mikro. 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)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu 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

Membina sistem pengimbangan beban dengan ketersediaan tinggi: Amalan terbaik untuk Pengurus Proksi Nginx Membina sistem pengimbangan beban dengan ketersediaan tinggi: Amalan terbaik untuk Pengurus Proksi Nginx Sep 27, 2023 am 08:22 AM

Membina sistem pengimbangan beban dengan ketersediaan tinggi: Amalan terbaik untuk NginxProxyManager Pengenalan: Dalam pembangunan aplikasi Internet, sistem pengimbangan beban adalah salah satu komponen penting. Ia boleh mencapai perkhidmatan konkurensi tinggi dan ketersediaan tinggi dengan mengedarkan permintaan kepada berbilang pelayan. NginxProxyManager ialah perisian pengimbangan beban yang biasa digunakan Artikel ini akan memperkenalkan cara menggunakan NginxProxyManager untuk membina sistem pengimbangan beban ketersediaan tinggi dan menyediakan

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

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.

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

Menggunakan Pengurus Proksi Nginx untuk melaksanakan strategi pengimbangan beban proksi terbalik Menggunakan Pengurus Proksi Nginx untuk melaksanakan strategi pengimbangan beban proksi terbalik Sep 26, 2023 pm 12:05 PM

Gunakan NginxProxyManager untuk melaksanakan strategi pengimbangan beban proksi songsang NginxProxyManager ialah alat pengurusan proksi berasaskan Nginx yang boleh membantu kami melaksanakan proksi terbalik dan pengimbangan beban dengan mudah. Dengan mengkonfigurasi NginxProxyManager, kami boleh mengedarkan permintaan kepada berbilang pelayan bahagian belakang untuk mencapai pengimbangan beban dan meningkatkan ketersediaan dan prestasi sistem. 1. Pasang dan konfigurasikan NginxProxyManager

Cara menggunakan Workerman untuk membina sistem pengimbangan beban dengan ketersediaan tinggi Cara menggunakan Workerman untuk membina sistem pengimbangan beban dengan ketersediaan tinggi Nov 07, 2023 pm 01:16 PM

Cara menggunakan Workerman untuk membina sistem pengimbangan beban dengan ketersediaan tinggi memerlukan contoh kod khusus Dalam bidang teknologi moden, dengan perkembangan pesat Internet, semakin banyak laman web dan aplikasi perlu mengendalikan sejumlah besar permintaan serentak. Untuk mencapai ketersediaan tinggi dan prestasi tinggi, sistem pengimbangan beban telah menjadi salah satu komponen penting. Artikel ini akan memperkenalkan cara menggunakan rangka kerja sumber terbuka PHP Workerman untuk membina sistem pengimbangan beban dengan ketersediaan tinggi dan menyediakan contoh kod khusus. 1. Pengenalan kepada Workerman Worke

See all articles