Jenis Saldo Beban
Ada dua jenis Platform Penyeimbang Beban - HAProxy dan Linux Virtual Server, juga dikenal sebagai LVS, dan Seesaw v2 adalah platform penyeimbang beban berbasis server virtual Linux.
Seesaw adalah alat yang sangat fleksibel yang dapat digunakan sebagai penyeimbang beban dasar untuk situs web ukuran kecil hingga menengah hingga penyeimbang beban tingkat lanjut untuk jaringan tingkat perusahaan di mana selusin server saling berhubungan. Ini mendukung beberapa fitur IPv6 canggih seperti anycast, multicast, unicast, dan pengembalian server langsung, beberapa VLAN.
Memiliki desain yang kuat membuatnya cocok untuk perawatan yang mudah, dan keandalan. Ini dirancang pada tahun 2012 untuk memenuhi kebutuhan unik Google, yang tidak dapat dipenuhi oleh opsi yang ada. Ini dikembangkan di Go yang merupakan bahasa yang diketik secara statis dan berasal dari bahasa C. Ini berisi banyak fitur bahasa tingkat tinggi seperti pengumpulan sampah untuk membersihkan memori, keamanan tipe, array panjang variabel, kemampuan pengetikan dinamis, dan peta nilai kunci, dan perpustakaan standar yang besar. Golang adalah bahasa kompilasi yang dikembangkan oleh Google. Banyak aplikasi modern seperti Docker, Kubernetes, InfluxDB, Gogs(Go Git Service) dan Caddy ditulis dalam Go.
Prasyarat
- Tautan untuk mengunduh versi terbaru GoLang untuk Linux tersedia di https://golang.org/dl/ dalam bentuk file arsip.
- Integritas tarball dapat diperiksa dengan membandingkan nilai hash yang dihasilkan menggunakan perintah shassum dengan nilai hash yang disediakan di situs web. Jika ada perbedaan dalam nilai hash, seseorang harus selalu mengunduh tarball baru dari arsip. Jika pemeriksaan berhasil maka lanjutkan ke depan tutorial.
Dalam perintah ini -a digunakan untuk menentukan algoritme untuk menghasilkan nilai hash dan perintah ini secara keseluruhan melakukan checksum SHA256 dari file arsip.
- Langkah selanjutnya adalah mengekstrak file arsip tar, jika pemeriksaan integritas berhasil, ke direktori /usr/local menggunakan perintah di bawah ini: $sudo tar -C /user/local -xvzf go1.11.5.linux-amd64.ter.gz
Dalam perintah ini -C menentukan direktori tujuan tempat file yang diekstraksi dikirim.
- Untuk mengkonfigurasi Go Environment di Ubuntu set-up Go workspace dengan membuat direktori ~/go_project_directory yang merupakan root dari workspace. Ruang kerja berisi tiga direktori utama
• bin - berisi file biner dari golang.
• src- yang menyimpan semua file sumber.
• pkg- yang akan menyimpan objek paket.
Sebuah pohon direktori dapat dibuat sebagai berikut: $mkdir -p ~/go_projects/bin,src,pkg
$cd go_projects/
$l - Untuk menjalankan Go, ikuti program Linux lainnya tanpa menentukan jalur absolutnya. Direktori tempat golang diinstal harus digunakan sebagai salah satu nilai variabel lingkungan $PATH.
- Menambahkan /usr/local/go/bin ke variabel lingkungan PATH, perintah berikut harus dijalankan:
Atau bisa buka di terminal dengan menggunakan perintah
$vi .ProfilKemudian /usr/local/go/bin harus ditambahkan ke jalur. Kemudian semua perubahan harus disimpan dan pengguna diharuskan untuk keluar dari profil dan masuk lagi untuk proses lebih lanjut.
- Semua jalur diatur dalam profil dengan mengatur nilai GOPATH dan GOBIN.
ekspor GOBIN="$GOPATH/bin"- Jika GoLang diinstal di direktori khusus selain dari default(/usr/local) ada persyaratan untuk menentukan direktori tersebut sebagai variabel GOROOT. Hal ini dilakukan di .profil oleh
ekspor PATH=$PATH:/usr/local/go/bin:$GOPATH/bin - Lingkungan GoLang setelah pengaturan berhasil dapat diperiksa di terminal dengan menjalankan perintah berikut: $go
$pergi env
Memasang Jungkat-jungkit
- Itu adalah persyaratan untuk menginstal Go karena Seesaw v2 dikembangkan dengannya dan tergantung pada beberapa paket Go seperti:
>github.com/golang/glog
> github.com/dlintw/goconf
>github.com/golang/protobuf/proto
>github.com/miekg/dns
- Jika seseorang ingin membuat ulang kode protobuf, kompiler protobuf dan generator kompiler Go protobuf juga diperlukan: $apt-get install protobuf-compiler
$go get -u github.com/golamg/protobuf/proto,proto-gen-go- Selalu harus dipastikan bahwa $GOPATH/bin ada di $PATH dan di direktori jungkat-jungkit.
- Langkah selanjutnya adalah menjalankan perintah make karena akan menyebabkan penambahan beberapa binari di $GOPATH/bin dengan awalan jungkat-jungkit, binari ini harus diinstal ke lokasi yang sesuai.
$membuat tes
$buat instal
$buat protoSetelah menjalankan tiga perintah di atas, binari jungkat-jungkit diatur ke lokasi yang sesuai. itu bisa dilakukan dengan membuat jungkat-jungkit di $GOPATH/bin dan menjalankan skrip di bawah ini.
SEESAW_BIN="/usr/local/seesaw"
SEESAW_ETC="/etc/seesaw
SEESAW_LOG="/var/log/jungkat-jungkit"
INIT='ps -p 1 -o comm='
instal -d "$SEESAW_BIN" "$SEESAW_ETC" "$SEESAW_LOG"
instal "$GOPATH/bin/seesaw_cli" /usr/bin/seesaw
untuk komponen di ecu,engine,ha,healthcheck,ncc,watchdog; melakukan
instal "$GOPATH/bin/seesaw_$component" "$SEESAW_BIN"
selesai
if [ $INIT = "init" ]; kemudian
instal "etc/init/seesaw_watchdog.conf" "/etc/init"
elif [ $INIT = "systemd" ]; kemudian
instal "etc/systemd/system/seesaw_watchdog.layanan" "/etc/systemd/system"
systemctl --system daemon-reload
fi
instal "etc/jungkat-jungkit/watchdog.cfg" "$SEESAW_ETC"
# Aktifkan CAP_NET_RAW untuk binari jungkat-jungkit yang membutuhkan soket mentah.
/sbin/setcap cap_net_raw+ep "$SEESAW_BIN/seesaw_ha"
/sbin/setcap cap_net_raw+ep "$SEESAW_BIN/seesaw_healthcheck"
Mengkonfigurasi Jungkat-jungkit
- Setiap simpul membutuhkan jungkat-jungkit.File .cfg, yang dikenal sebagai file konfigurasi, tempat informasi tentang node, dan rekan miliknya disimpan. Protobuf adalah file konfigurasi cluster untuk setiap cluster, dan dalam format teks biasa. Ini memungkinkannya untuk dibuka dengan editor teks Linux apa pun seperti nano, vi. Seseorang dapat mengubah jungkat-jungkit.cfg dengan menggunakan perintah berikut:
Contoh jungkat-jungkit.file cfg
[gugus]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 = jungkat-jungkit-config1.contoh.com
sekunder = jungkat-jungkit-config2.contoh.com
tersier = jungkat-jungkit-config3.contoh.com
[antarmuka]
simpul = eth0
lb = eth1
Deskripsi cript yang disebutkan di atas diberikan di bawah ini
- anycast_enabled - Anycast dapat diaktifkan dengan menyetel nilai ini.
- name - Nama pendek yang diberikan untuk cluster ini.
- node_ipv4 - alamat IPv4 dari node Seesaw saat ini.
- peer_ipv4 - alamat IPv4 dari node jungkat-jungkit rekan kami.
- vip_ipv4 - Alamat IPv4 untuk IP virtual cluster saat ini.
Kesimpulan
Karena keuntungan luar biasa dari fitur penyeimbangan beban, fitur ini sering digunakan di banyak jaringan perusahaan. Ada tiga jenis mode pengiriman secara umum dalam standar IPv4, Unicast, Multicast dan Broadcast. Anycast diterima di IPv6. Anycast jarang ada di IPv4. Anycast menggunakan untuk mengidentifikasi antarmuka dari sekelompok antarmuka yang terhubung ke layanan yang sama. VIP adalah alamat IP Virtual yang bukan milik antarmuka jaringan fisik apa pun. Penyeimbang beban harus andal dan memiliki fitur terpenting dalam layanan cloud.
Banyak penyeimbang beban di pasar tidak memiliki pemantauan server backend dan banyak fitur khusus lainnya. Ada beberapa metode load balancing pada Open System Interconnection Layer 2/3/4. Lapisan ini adalah Lapisan Data Link, Lapisan Jaringan dan Lapisan Transport. Seesaw menggunakan teknik layer 4 dengan NAT AND DSR (Direct Server Return). DSR memodifikasi arus lalu lintas atau beban dengan memungkinkan server untuk merespon langsung ke klien. Secara keseluruhan, load balancer Seesaw kuat dan andal karena aspek-aspek ini.