Jenis Imbangan Beban
Terdapat dua jenis Platform Load Balancing - HAProxy dan Linux Virtual Server, juga dikenali sebagai LVS, dan Seesaw v2 adalah platform load balancing berdasarkan pelayan maya Linux.
Seesaw adalah alat yang sangat fleksibel yang dapat digunakan sebagai penyeimbang beban dasar untuk laman web ukuran kecil hingga sederhana hingga penyeimbang beban canggih untuk rangkaian peringkat perusahaan di mana selusin pelayan saling berhubungan. Ia menyokong beberapa ciri Ipv6 canggih seperti anycast, multicast, unicast, dan pengembalian pelayan langsung, beberapa VLAN.
Mempunyai reka bentuk yang mantap menjadikannya sesuai untuk penyelenggaraan dan kebolehpercayaan yang mudah. Ia dirancang pada tahun 2012 untuk memenuhi keperluan unik Google, yang tidak dipenuhi oleh pilihan yang ada. Ia dikembangkan dalam Go yang merupakan bahasa yang ditaip secara statik dan berasal dari Bahasa C. Ini berisi banyak fitur bahasa tingkat tinggi seperti pengumpulan sampah untuk membersihkan memori, keselamatan jenis, susunan panjang berubah-ubah, kemampuan menaip dinamik, dan peta nilai kunci, dan perpustakaan standard yang besar. Golang adalah bahasa yang disusun yang dikembangkan oleh Google. Banyak aplikasi moden seperti Docker, Kubernetes, InfluxDB, Gogs (Go Git Service) dan Caddy ditulis dalam Go.
Pra-Syarat
- Pautan untuk memuat turun versi terbaru GoLang untuk Linux boleh didapati di https: // golang.org / dl / dalam bentuk fail arkib.
- Integriti tarball dapat diperiksa dengan membandingkan nilai hash yang dihasilkan menggunakan perintah shassum dengan nilai hash yang disediakan di laman web. Sekiranya terdapat perbezaan dalam nilai hash, seseorang mesti selalu memuat turun tarball baru arkib. Sekiranya pemeriksaan berjaya, teruskan sebelum tutorial.
Dalam perintah ini -a digunakan untuk menentukan algoritma untuk menghasilkan nilai hash dan perintah ini secara keseluruhan melakukan checksum SHA256 dari fail arkib.
- Langkah seterusnya adalah mengekstrak fail arkib tar, jika pemeriksaan integriti berjaya, ke dalam direktori / usr / local menggunakan perintah yang diberikan di bawah: $ sudo tar -C / user / local -xvzf go1.11.5.linux-amd64.tar.gz
Dalam perintah ini -C menentukan direktori tujuan di mana fail yang diekstrak dihantar.
- Untuk mengkonfigurasi Go Environment di Ubuntu mengatur ruang kerja Go dengan membuat direktori ~ / go_project_directory yang merupakan akar ruang kerja. Ruang kerja mengandungi tiga direktori utama
• tong - mengandungi fail binari golang.
• src- yang menyimpan semua fail sumber.
• pkg- yang akan menyimpan objek bungkusan.
Pohon direktori boleh dibuat seperti berikut: $ mkdir -p ~ / go_projects / bin, src, pkg
$ cd go_projek /
$ ls - Untuk melaksanakan Go, ikuti program Linux yang lain tanpa menentukan jalan mutlaknya. Direktori tempat golang dipasang harus digunakan sebagai salah satu nilai pemboleh ubah persekitaran $ PATH.
- Untuk menambah / usr / tempatan / pergi / tong sampah ke pemboleh ubah persekitaran PATH arahan berikut mesti dijalankan:
Atau boleh membukanya di terminal dengan menggunakan arahan
$ vi .profilKemudian / usr / tempatan / pergi / tong sampah mesti ditambahkan ke jalan. Kemudian semua perubahan mesti disimpan dan pengguna diminta untuk log keluar dari profil dan masuk semula untuk proses selanjutnya.
- Semua jalan ditetapkan dalam profil dengan menetapkan nilai GOPATH dan GOBIN.
eksport GOBIN = "$ GOPATH / tong sampah"- Sekiranya GoLang dipasang di direktori khusus selain dari default (/ usr / local) ada syarat untuk menentukan direktori tersebut sebagai pemboleh ubah GOROOT. Ia dilakukan pada th .profil oleh
eksport PATH = $ PATH: / usr / local / go / bin: $ GOPATH / tong - Persekitaran GoLang setelah penyiapan yang berjaya dapat diperiksa di terminal dengan menjalankan perintah berikut: $ go
$ pergi env
Memasang Gergaji Laut
- Ini adalah syarat untuk memasang Go kerana Seesaw v2 dikembangkan dengannya dan bergantung pada beberapa pakej Go seperti:
> github.com / golang / glog
> github.com / dlintw / goconf
> github.com / golang / protobuf / proto
> github.com / miekg / dns
- Sekiranya seseorang ingin menjana semula kodprotobuf, diperlukan kompiler protobuf dan penjana kompilator Go protobuf: $ apt-get install protobuf-compiler
$ go get -u github.com / golamg / protobuf / proto, proto-gen-go- Selalu mesti dipastikan bahawa $ GOPATH / tong berada di $ PATH dan di direktori gergaji besi.
- Langkah seterusnya adalah menjalankan perintah make kerana mengarah pada penambahan beberapa binari dalam $ GOPATH / bin dengan awalan saw_, binari ini mesti dipasang ke lokasi yang sesuai.
$ membuat ujian
$ buat pemasangan
$ buat protoSetelah menjalankan tiga perintah di atas, binari saw diatur ke lokasi yang sesuai. ia boleh dilakukan dengan membuat seeaw_install dalam $ GOPATH / bin dan melaksanakan skrip di bawah.
SEESAW_BIN = "/ usr / local / seeaw"
SEESAW_ETC = "/ etc / gergaji besi
SEESAW_LOG = "/ var / log / seeaw"
INIT = 'ps -p 1 -o comm ='
pasang -d "$ SEESAW_BIN" "$ SEESAW_ETC" "$ SEESAW_LOG"
pasang "$ GOPATH / bin / seeaw_cli" / usr / bin / seeaw
untuk komponen dalam ecu, engine, ha, healthcheck, ncc, watchdog; buat
pasang "$ GOPATH / bin / seeaw _ $ komponen" "$ SEESAW_BIN"
selesai
jika [$ INIT = "init"]; kemudian
pasang "etc / init / seeaw_watchdog.conf "" / etc / init "
elif [$ INIT = "systemd"]; kemudian
pasang "etc / systemd / system / seeaw_watchdog.perkhidmatan "" / etc / systemd / system "
systemctl - sistem daemon-tambah nilai
fi
pasang "etc / seeaw / pengawas.cfg "" $ SEESAW_ETC "
# Aktifkan CAP_NET_RAW untuk binari gergaji yang memerlukan soket mentah.
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_ha"
/ sbin / setcap cap_net_raw + ep "$ SEESAW_BIN / seeaw_healthcheck"
Mengkonfigurasi Jahitan Laut
- Setiap nod memerlukan tembok pandang.fail cfg, yang dikenali sebagai fail konfigurasi, di mana maklumat mengenai nod, dan rakan sejawatnya disimpan. Protobuf adalah fail konfigurasi kluster untuk setiap kluster, dan apakah itu dalam format teks biasa. Ini membolehkannya dibuka dengan mana-mana editor teks Linux seperti nano, vi. Seseorang boleh mengubah gergaji besi.cfg dengan menggunakan arahan berikut:
Contoh gergaji besi.fail cfg
[gugusan]anycast_enabled = salah
nama = au-syd
node_ipv4 = 192.168.
node_ipv6 = 2015: cafe :: 2
peer_ipv4 = 192.168.10.3
peer_ipv6 = 2015: cafe :: 3
vip_ipv4 = 192.168.10.1
vip_ipv6 = 2015: cafe :: 1
[config_server]
primer = Melihat-config1.contoh.com
sekunder = lihat-konfigurasi2.contoh.com
tertiary = seeaw-config3.contoh.com
[antara muka]
simpul = et0
lb = et1
Penerangan mengenai cript di atas diberikan di bawah
- anycast_enabled - Anycast boleh diaktifkan dengan menetapkan nilai ini.
- name - Nama pendek yang diberikan kepada kluster ini.
- node_ipv4 - Alamat IPv4 dari nod Seesaw semasa.
- peer_ipv4 - Alamat IPv4 dari simpul Seesaw rakan sebaya kami.
- vip_ipv4 - Alamat IPv4 untuk IP maya kluster semasa.
Kesimpulannya
Kerana kelebihan besar fitur pengimbangan beban, ia sering digunakan di banyak rangkaian syarikat. Terdapat tiga jenis mod penghantaran secara umum dalam standard IPv4, Unicast, Multicast dan Broadcast. Anycast diterima di IPv6. Anycast jarang terdapat di IPv4. Anycast menggunakan untuk mengenal pasti antara muka dari sekumpulan antara muka yang menyambung ke perkhidmatan yang sama. VIP adalah alamat IP Maya yang tidak termasuk dalam antara muka rangkaian fizikal. Pengimbang beban mesti dipercayai dan mempunyai ciri terpenting dalam perkhidmatan awan.
Sebilangan besar pengimbang beban di pasaran tidak mempunyai pemantauan pelayan backend dan banyak ciri khusus lainnya. Terdapat beberapa kaedah pengimbangan beban pada Open Systems Interconnection Layer 2/3/4. Lapisan ini adalah Lapisan Pautan Data, Lapisan Rangkaian dan Lapisan Pengangkutan. Seesaw menggunakan teknik lapisan 4 dengan NAT DAN DSR (Direct Server Return). DSR mengubah aliran lalu lintas atau muatan dengan membiarkan pelayan bertindak balas secara langsung kepada klien. Secara keseluruhan, pengimbang beban Seesaw adalah kuat dan boleh dipercayai kerana aspek-aspek ini.