mantap banget videonya mas. ditunggu next video lain mendalam soal nginx dan konfigurasinya. susah nyari referensi belajar yang todepoint jelas dan terarah begini. makasih mas
Makasih mas mudah dipahami banget. btw kolo study kasus server db bagaimana ya agar data tetap konsisten dan bisa menjawab "jika db server salah satu mati?"
@@ajidiyantoro mas, izin bertanya, semisal saya menggunakan load balancer untuk app backend saya, dan saya buat app tersebut pada 3 server. nah apakah databasenya ini terpisah setiap appnya atau bisa sync atau terintegrasi satu sama lain mas? kemarin coba saya coba menerapkannya tapi bingung di sininya, untuk app backendnya menggunakan nodejs sequelize dengan db postgres. terimakasih mas🙏
Kalo kita implementasi HA (High Availability) di level database, pastinya antar node server database akan saling sync satu sama lain. Kalo dari sisi Apps nantinya cukup pake 1 connection string yang sama.
@@ajidiyantoro terimakasih banyak mas, request materi docker mas dari pemula, siapa tau bisa belajar devops lebih banyak dari mas aji. sehat terus mas aji🙏. aamiin
1. Mau vertical atau horizontal scaling ? 2. Saya belum coba dynamic config di nginx, tapi kalo pake traefik itu bisa dilakukan tanpa harus restart service
jujur bang gua butuh jawaban, kenapa menggunakan nginx di laragon requestnya mentok sampai 1000 saat saya melakukan looping menggunakan js?, setelah mencapai 1000 request nginx di laragon langsung 502 Bad Gateway, tapi setelah saya restart bisa lagi, tapi setelah mencapai 1000 request kembali lagi seperti itu, sampai berulang-ulang. tapi ketika saya ganti ke apache bisa sampai 5000 request lebih. dan itu semua berjalan di os windows, saya juga sempat mengganti versi nginxnya dengan download di situsnya langsung, dan tetap sama saja
Keren mas, bermanfaat sekali ilmunya, mau izin bertanya ketika implemen lb dengan nginx kemudian di load test dengan apache benchmark, dari logsnya keliatan mau berapapun jumlah requestnya, yang dapat diproses selalu hanya setengahnya saja, sisanya failed, kenapa ya mas? Makasih
Bang kalo aplikasi web nya itu ada database nya gimana cara replika ke server lainnya, nanti query ke database nya apa jadi masuk ke 3 database server? Atau database nya cuma ada di satu server saja?
Untuk implementasi HA di level database punya mekanisme yang berbeda. Penerapan connection string di sisi aplikasi pun beragam tergantung platform databasenya apa. Apa yang di jelaskan di sini baru membahas konsep HA untuk level aplikasi, untuk database beda lagi dan pastinya akan ada mesin terpisah (db tidak di jalankan pada server yang sama)
Ijin bertanya bang, sebelumnya Terima kasih atas videonya.... sudah saya coba dgn topology yg sama seperti video namun ada kendala masalahnya pada session time, ketika kita browsing/akses agak lama kemudian akses lagi, itu menjadi error 502 gateway timeout, mungkin ini karna ketika akses pertama session ada di server1, akses berikut mungkin sudah dilayani server2 dan sessionnya tadi ada di server1, karna tdk menemukan sessionnya muncul error 502 itu. Mohon pencerahannya bang...makasi
izin request mas cara install dan konfigurasi mongodb di VPS (reflication, authentication dll) saya lagi develop product kecil2an, install mongodb nya di VPS, cuman beberapa hari kena HACK, ada file readme di mongo nya suruh kirim BTC gitu, wkwkwk
LB itu fungsinya hanya mengatur traffic yang datang untuk di distribusikan ke beberapa server, masalah kalo backend servernya gak sync itu di luar konteks LB. Kalo emang setiap server itu menyimpan data ada mekanisme sync yang di terapkan. Atau bisa sediakan media penyimpanan terpusat agar setiap node tersebut nyimpen data ke satu lokasi.
Halo mas Aji! Nice video! Saya mau tanya, kalau misalnya menggunakan strategy seperti ini, berarti ke 3 cloning app tsb menghubungkan dengan database yang sama ya? Karena jika sy perhatikan, output dari /users ini sama ya. Apakah ada strategy untuk membagi berat yg diterima DB? Thanks in advance!
Dalam contoh tersebut saya cuma jelasin LB dari sisi apps. Nah kalo DB nya mau di buat HA, pastinya ada mekanisme tersendiri. Kalo di MySQL bisa terapin replication, kalo di mongo bisa terapin seperti replica set atau sharding.
mantap mas...ingin belajar secara real saya, ada 4 server kami dengan spek Intel(R) Xeon(R) E-2224 CPU @ 3.40GHz RAM 16Gb terinstall ubuntu server masih bingung konfigurasi load balancer ini. mohon petunjuk.
Yang ingin di load balance apa dulu nih ? Misalkan web server, database, atau aplikasi lainnya ? Setiap aplikasi ada approach nya tersendiri. Contoh di video ini lebih ke menjelaskan LB untuk web server
Makasih mas infonya ..saya mau nanya ..misal menerapkan cara itu . Dan kita punya server database masternya... Kalau cuma punya 1 server database master...otomatis kualahan kan mas? Bagaimana menangani itu...kalo punya banyak server db...databya juga harus sinkron kan
Masalah kapasitas itu bisa di sesuaikan dengan beban nya mas, 1 server cukup kalo emang trafficnya gak besar. Untuk HA database, clue nya bisa cari tau tentang Database Replication, implementasinya beragam tergantung tech stack yang digunakan.
bang, jadi istilah load balancer itu untuk multi vm (single server) atau multi server, atau bisa keduanya ? dan yang sering/umum digunakan itu yang mana ya? thanks
Fokus sama fungsinya mas, loadbalancer ini kan fungsinya untuk mendistribusikan traffic ke beberapa node / apps backend. Mau di implementasi di single vm bisa, banyak vm pun bisa. Jadi balik lagi sama kebutuhan, kalo untuk belajar pake 1 vm juga udah cukup, tapi kalo real production idealnya di pisah. Dan speknya pun perlu di pertimbangkan sesuai dengan jumlah trafficnya
Mas, klo untuk implementasi Load Balance pada aplikasi seperti NextJS gimana ya mas? Kita coba kadang isinya contennya berbeda dan ga stabil Padahal si VM yang di Load Balance tuh Contennya sama semua
Izin bertanya mas, misal kasusnya saya ingin mengimplementasikan nginx load balancer untuk 3 web server tapi masing masing di install di virtual machine berbeda di dalam vps, jadi nanti ada 4 virtual machine di dalam vps ,1 untuk load balancer dan 3 untuk web server. Apakah itu bisa mas? Jika bisa, pertimbangannya apa ya mas? untuk pemilihan antara penggunaan docker atau virtualisasi seperti konsep yang saya sebutkan? Karena ingin saya gunakan untuk eksperimen membandingkan 2 loadbalancer pada kondisi protocol http/3
Jelas bisa. Masalah pake docker atau tidak, itu sih tergantung kebutuhan. Di video saya pake docker untuk menyederhanakan use case aja, supaya resource yang digunakan tidak terlalu banyak
LB mati pasti akan impact ke belakangnya, maka dari itu untuk implementasi HA gak bisa asal asalan, harus perhatikan capacity planning, dan sesuaikan dengan kebutuhan. Itu kalo mau implement HA manual / from scratch ya. Tapi kalo kita pake layanan cloud, harusnya aman. Dari provider pasti udah perhatikan masalah SLA nya
itu kan kalo cuma akses aja.. kalo databasenya gmn? 1 database atau 3 database juga? kalo 3 database gmn? misal user dpt akses di app1 dan input data di db1, kan db2 & db3 tdk diinput user... kalo pun tiba2 user dpt akses di app2, db2 dan db3 nya gmn agar ttp sinkron terus / sama isi databasenya...
Yang saya bahas di sini kebetulan konsep HA untuk level aplikasi, sedangkan untuk level database jelas implementasinya beda, tiap database engine punya mekaniseme HA yang berbeda.
Pak, ini berartikan kita harus install 1 aplikasi tsb di 3 server ya. Kalo database bagaimana perlakuannya?.. apa mungkin juga harus install db di 3 server tsb?.. nanti datanya gx syncron
Skenario ini hanya contoh untuk menggambarkan fungsi load balancing. Realnya biasanya setiap app akan di letakan di server yang berbeda. Untuk database gak bisa di samakan mekanismenya seperti ini, dia punya mekanisme sendiri untuk impelementasi HA.
bang, maaf saya pemula, ini ngide dari saya aja sih. kalau pakai cara seperti itu, bukan untuk load balance, tapi agar bisa memiliki banyak web-app berbeda beda di satu server bisa?. misalkan kita cuma punya 1 ip public, kita bisa punya banyak web-app yang berbeda misal satu web untuk jual sepatu, satu web jual baju, dll. itu tinggal setting di upstreamnya aja kan ya bang?
Ini maksudnya gimana ya ? Perihal pakai container atau ngga itu tergantung sama kebutuhannya aplikasinya seperti apa. Prinsipnya nginx itu hanya tools yang bisa digunakan untuk kebutuhan web server atau proxy (sidecar).
izin mas. mau tanya. kalau di nginxproxy manager apakah bisa di set seperti ini??kebetulan sy pakai nginxproxy manager via casaos untuk dockernya. bagaimana mas? oh iya mas kalau buat horizontal scaleling gimana buat mirror site nya ya??apalagi kalau ada database nya misal pakai mysql mas.
Harusnya bisa ya, tapi saya blum pernah coba langsung pake nginx proxy manager. Kalo bicara scaling bisa bisa aja, cuma akan panjang lagi ceritanya. Hehe
@@ajidiyantoro siaappp mas. Izin nanya lagi mas. Sy ada kendala di performa nginx proxy manager, yg mana ketika sy aktifkan sebagai reverse proxy basis domain plus ssl dri si npm, throgphut bw nya turun jadi 250mbps an, tapi kalau sy reverse menggunakan ip dengan port khusus bisa di 980mbps. Simulasi ini sy ujicobakan dengan menggunakan bantuan openspeedtest server on prem mas. Ada solusi tdk ya kira2 buat masalah ini??
@@muhammadsyamsudin1251 mungkin kalo akses via ip & port trafficnya gak lewat reverse proxy, makannya lebih cepet. Coba aja running nginx (bukan nginx proxy manager). Trus tunning confignya, contohnya googling aja
@@ajidiyantoro oh bukan itu maksud sy mas. Jdi tetap lewat NPM mas tpi bukan pakai domain pakai IP NPM nya yg di pointing ke port tertentu menji server openpedtest mas.
Mas kalau ini kan sekarang asumsinya dengan layanan yang sama dari beberapa server? Tetapi misal kalau layanannya berbeda lewat nginx dengan domain yang sama apakah bisa?
Beda service dengan domain yang sama bisa tapi port nya harus di bedakan. Atau bisa juga domainnya sama tapi path nya di bedain. Misalkan domain.com untuk service A, domain.com/foo untuk service B, domain.com/bar untuk service C.
Bang mau tanya utk 3 app tersebut, yg Abang buatkan itu app yg sama atau gmna? Karena misalkan saya buat 1 app dalam bentuk Rails app, nah utk app ke 2 dan ke 3 berarti saya bikin app yg sama ya? Maaf saya masih blum paham jika yg dimaksd adalah mengkloning kan 1 app menjadi app 2 dan app 3. Karena jika saya perlu mengkloning app ke 1 menjadi app ke 2 dan ke 3 berarti dari sisi development saya perlu extra develop, dalam artian misalkan dalam app ke 1 itu ada penambahan fitur kemudian saya gunakan github action atau Jenkins utk CI CD ke production, yg app ke 2 dan ke 3 juga akan ikut ya? Maaf saya masih newbie Bang
Pada case load balancer ini, 3 contoh apps tersebut sebetulnya sama, karena pointnya adalah gimana caranya kita membagi beban ke beberapa server yang berbeda. Nah terkait dengan gimana cara clone appsnya ke 3 server caranya banyak, mau manual atau otomatis, kalo otomatis salah satunya bisa pake CI/CD.
Izin bertanya kang Aji, Misalkan untuk aplikasi di Server 1 menggunakan php dan mysql, apakah untuk di server 2 dan 3 nya isi nya juga harus sama dengan server 1, katakanlah saya punya aplikasi pembayaran SPP, untuk di server 1 dan 2 juga harus ada aplikasi SPP beserta database nya, lalu setelah di deploy ke 3 server itu, kita jalankan Load Balancer menggunakan nginx nya. Terima kasih Salam
Contoh yang saya bahas di video itu hanya mencakup LB untuk level aplikasi saja. Kalo DB nya mau di buat HA konfignya akan menyesuaikan DB yang di pakai.
Terima kasih kang @@ajidiyantoro masukannya, step by step untuk config LB sudah mengerti dan sudah di implementasikan, maaf kang 1 lagi izin bertanya untuk DB nya menggunakan metode replikasi two way atau one way gimana kebutuhan kalau memang DB nya mau ada di 3 server dan config di aplikasi nya menyesuaikan DB yang mau di pakai atau master nya. Kurang lebih jika di buat topologinnya jika dibuat 1 server DB (LB) -> (SV1,SV2,SV3) -> (DB_SERVER)
Untuk level DB sebetulnya tergantung tech stack yang di pakai, misalkan kalo pake MySQL ada yang namanya replication, penggunaanya bisa di set master slave jadi hanya ada 1 node yang R/W dan sisanya Read Only. Atau bisa juga replikasi dengan mode active / active, dimana semua node bisa R/W.
Terima kasih kang @@ajidiyantoro penjelasannya , sudah mulai paham skrg untuk step by step nya, next mau coba implementasi di vps, skrg lagi mapping 1 per 1 video kang aji mulai dari pointing domain sampe akhir bisa publish web nya.
dunia server sungguh memusingkan:(, saya cuma punya stb dengan spek 2GB MEMORY dan 8GB STORAGE yang diubah menjadi linux server, dan saya deploy nextjs app disana lalu saya pointing dengan clodfla tunnel tanpa zerotrust ke subdomain yang saya buat dan everything is working fine, apakah cara ini benar? atau seharusnya bukan begini? saya mengikuti panduan dari chat-gpt btw
misal punya 3 vps yang disetting load balance 1 vps aja ya bang? dan kalo vps yg dipasang load balance mati, gk guna dong vps yang lain? apa ada tools / jembatan khusus untuk load balance yang gk mungkin mati bang?
Jawabannya gak ada kali ya, yang ada juga strateginya gimana biar bisa jalanin LB yang high critical, misal kita cari provider VPS yang ngasih SLA bagus atau sejenisnya. Dan “mati” di sini gak cuma faktor dari provider ya, tapi bisa juga dari konfigurasi atau kapasitas VPS yang kurang untuk menangani jumlh traffic.
Kembali lagi ke kebutuhan, kalo emang bener-bener ingin implement HA pastinya di layer database perlu ada replikasi juga. Konteks yang di bahas di video ini cuma bahas kalo mau implement HA di sisi Apps.
@@ajidiyantoro replikasi ini dalam artian gimana ya mas? apakah setiap data yang masuk juga akan di insert ke semua database yg ada pada semua server? atau gimana ya mekanisme nya?
@@junaidiabdulrahman8380 Yups kurang lebih seperti itu. Let’s say misalkan pake MySQL, kalo kita buat master-master, data yang di insert akan di replikasi ke node lain, dan di semua node bisa read & write. Dan master-slave secara data akan sama sama di replikasi, tapi hanya salah satu node aja yang di bisa read & write, sisanya cuma bisa read doang
@@ajidiyantoro oh oke mas siapp.. Sya ada pertanyaan lg mas, misal untuk setiap node server sya set spek nya 2GB RAM & 2 CPU nah menentukan spek server untuk nginx load balancer nya kira² gmna ya?
@@junaidiabdulrahman8380 Nah kalo soal ini ada konteksnya tersendiri, namanya itu capacity planning, masnya bisa browsing pake keyword itu. Simple nya mungkin gini, misalkan kita mau jalanin web server, pertama kita perlu liat requirement apa aja yang di butuhkan sama aplikasi web yang mau di jalankan, contohnya dia pake bahasa apa, ada library apa aja, dll. Selanjutnya kira” ada brapa user yang nanti bakal akses. Jadi analisanya cukup luas. Btw ini kalo kondisi real ya, tapi kalo buat di rumah yang akses usernya dikit mah pc kentang juga bisa running well
@@andreas_seosatu Cara berpikirnya gak begitu BOS. Hahaha. Buat ngurangin resiko downtime di sisi LB bisa pake beberapa approach. Pertama bisa terapin dual stack load balancer, platfrom yang bisa di pake misalkan HA Proxy, atau kalo kelas enterprise bisa pake F5. Tapi intinya, apa yang dijelaskan di sini lebih ke menggambarkan konsep LB itu sendiri seperti apa.
@@TOPJOS Solusinya luas dan beragam, tergantung environment yang digunakan. Pemilihan LB juga akan berpengaruh, misalkan kalo perlu nativa HA bisa pake HA Proxy sebagai LB nya, kemudian dari sisi perangkat juga perlu di pastikan durability & availability nya bisa terjamin.
LB mati ya semua service di belakang nya tidak dapat diakses. Tapi mindsetnya jangan di buat mentah” seperti itu. LB itu hanya satu hal berkaitan dengan implementasi HA. Selain itu ada faktor lain yang perlu di pertimbangkan juga
kalo semisalnya saya punya 3 server dan saya instal aplikasi berbasis web disalah satu server saja apakah bisa Nginx ini membaca server 1 dn 2 yang tidak di intsal aplikasi berbasis web???
Mungkin maksudnya ini lebih ke reverse proxy kali ya ? Hanya ada 1 server aja yang di expose ke luar, yang 2 server lainnya hanya sebagai backend. Gitu bukan maksudnya ? Coba simak ini th-cam.com/video/u6Gs36djdOI/w-d-xo.html
Untuk DB, approachnya beda lagi. Beda sama LB di level aplikasi. Kalo mau mainan HA untuk database bisa coba pake percona mysql atau percona xtradb cluster
Mudah dipahami mas, terima kasih. Sukses selalu dah buat masnya
Joss gandoss top markotop
Terima kasih tutorial videonya. Mudah difahami dan gamblang
mantap banget videonya mas. ditunggu next video lain mendalam soal nginx dan konfigurasinya. susah nyari referensi belajar yang todepoint jelas dan terarah begini. makasih mas
Alhamdulillah semoga barokah terus mas. Ilmu mahal ini....
Isinya daging semua ini tutorial nya..Keren mas.. terimakasih untuk ilmunya..Sehat selalu mas Aji.m
Thanks mas, bahas apa lagi nih kira-kira ?
@@ajidiyantoro bahas docker pak dosen
@@rizkaharizpradana8836 Eh ada mas Adan. Hahaha. Siap siap deh.
@@ajidiyantoro iya mas..docker boleh tuh..mulai dari awal (newbie) sampai advanced mas..
Makasih mas mudah dipahami banget. btw kolo study kasus server db bagaimana ya agar
data tetap konsisten dan bisa menjawab "jika db server salah satu mati?"
Alhamdulillaj susah payah cari totorialnya bg, smoga berkah bg
Mohon buat lagi video, saya beginner banyak belajar dr channel ini
Gile, enak bener cara penyampaian nya .
terimakasih mas, daging banget isinya. jelas langsung pada point2nya. sehat selalu mas🙏
Thanks Mas
@@ajidiyantoro mas, izin bertanya, semisal saya menggunakan load balancer untuk app backend saya, dan saya buat app tersebut pada 3 server. nah apakah databasenya ini terpisah setiap appnya atau bisa sync atau terintegrasi satu sama lain mas? kemarin coba saya coba menerapkannya tapi bingung di sininya, untuk app backendnya menggunakan nodejs sequelize dengan db postgres. terimakasih mas🙏
Kalo kita implementasi HA (High Availability) di level database, pastinya antar node server database akan saling sync satu sama lain. Kalo dari sisi Apps nantinya cukup pake 1 connection string yang sama.
@@ajidiyantoro terimakasih banyak mas, request materi docker mas dari pemula, siapa tau bisa belajar devops lebih banyak dari mas aji. sehat terus mas aji🙏. aamiin
Hatur nuhun mass, mantap banget jelass banget 👍
keren bangett, sangat clearr
saya nonton ini supaya bisa mengganti IT nya PDN yg kebobolan kemarin 😁
Keren om, nextnya bahas Auth Service untuk mengatasi masalah kayak login 😁
Coba cek video yang lain, saya pernah bahas soal single sign on
Saran Om, untuk di zoom in untuk terminalnya. Jadi lebih kelihatan 💻
mas ada contoh docker-compose nya kah ? terimakasih
1. bagaimana cara scaling load balancernya?
2. bagaimana cara dynamic configuration of upstreams nginx ketika kita menambahkan vm baru?
1. Mau vertical atau horizontal scaling ?
2. Saya belum coba dynamic config di nginx, tapi kalo pake traefik itu bisa dilakukan tanpa harus restart service
Sip mantap mas.... maturnuwun....
jujur bang gua butuh jawaban, kenapa menggunakan nginx di laragon requestnya mentok sampai 1000 saat saya melakukan looping menggunakan js?, setelah mencapai 1000 request nginx di laragon langsung 502 Bad Gateway, tapi setelah saya restart bisa lagi, tapi setelah mencapai 1000 request kembali lagi seperti itu, sampai berulang-ulang. tapi ketika saya ganti ke apache bisa sampai 5000 request lebih. dan itu semua berjalan di os windows, saya juga sempat mengganti versi nginxnya dengan download di situsnya langsung, dan tetap sama saja
Izin bertanya mass kalaw saya menggunakan 3 web server apache2 itu buat ngitung kecepatan algoritma prnjadwalan pake apa yaa terimakasih 🙏
Waduh belum mainan sampe ke sana
Keren mas, bermanfaat sekali ilmunya, mau izin bertanya ketika implemen lb dengan nginx kemudian di load test dengan apache benchmark, dari logsnya keliatan mau berapapun jumlah requestnya, yang dapat diproses selalu hanya setengahnya saja, sisanya failed, kenapa ya mas? Makasih
Bagaimana skenario load testnya ? Bagaimana kapasitas nginx & backendnya ? Overload atau tidak ?
izin tanya mas saya disuruh membuat 2 web server 1 loadbalance dan 1 client menggunakan vm apakah bisa dan mohon bantuannya mas saya kesulitan
Bang kalo aplikasi web nya itu ada database nya gimana cara replika ke server lainnya, nanti query ke database nya apa jadi masuk ke 3 database server? Atau database nya cuma ada di satu server saja?
Untuk implementasi HA di level database punya mekanisme yang berbeda. Penerapan connection string di sisi aplikasi pun beragam tergantung platform databasenya apa. Apa yang di jelaskan di sini baru membahas konsep HA untuk level aplikasi, untuk database beda lagi dan pastinya akan ada mesin terpisah (db tidak di jalankan pada server yang sama)
Ijin bertanya bang, sebelumnya Terima kasih atas videonya.... sudah saya coba dgn topology yg sama seperti video namun ada kendala
masalahnya pada session time, ketika kita browsing/akses agak lama kemudian akses lagi, itu menjadi error 502 gateway timeout, mungkin ini karna ketika akses pertama session ada di server1, akses berikut mungkin sudah dilayani server2 dan sessionnya tadi ada di server1, karna tdk menemukan sessionnya muncul error 502 itu.
Mohon pencerahannya bang...makasi
Itu aplikasi backend yang running apaan mas ? Tergantung aplikasi yang jalan di belakang juga, gak semua aplikasi bisa running HA
klo misal apps nya microservice yang pake gateways, apakah yang di load balance nya gateways nya doang kah bang ?
izin request mas cara install dan konfigurasi mongodb di VPS (reflication, authentication dll)
saya lagi develop product kecil2an, install mongodb nya di VPS, cuman beberapa hari kena HACK, ada file readme di mongo nya suruh kirim BTC gitu, wkwkwk
Note dulu ya mas
Kak kenapa atau penyebab antara node/server tidak writing/syncronize, trm ksh
LB itu fungsinya hanya mengatur traffic yang datang untuk di distribusikan ke beberapa server, masalah kalo backend servernya gak sync itu di luar konteks LB. Kalo emang setiap server itu menyimpan data ada mekanisme sync yang di terapkan. Atau bisa sediakan media penyimpanan terpusat agar setiap node tersebut nyimpen data ke satu lokasi.
Halo mas Aji! Nice video! Saya mau tanya, kalau misalnya menggunakan strategy seperti ini, berarti ke 3 cloning app tsb menghubungkan dengan database yang sama ya? Karena jika sy perhatikan, output dari /users ini sama ya. Apakah ada strategy untuk membagi berat yg diterima DB? Thanks in advance!
Dan disini, bahasa "server" itu sendiri diartikan sama dengan "aplikasi" ya sepertinya? Karena berjalan di dalam docker (localhost).
Dalam contoh tersebut saya cuma jelasin LB dari sisi apps. Nah kalo DB nya mau di buat HA, pastinya ada mekanisme tersendiri. Kalo di MySQL bisa terapin replication, kalo di mongo bisa terapin seperti replica set atau sharding.
mantap mas...ingin belajar secara real saya, ada 4 server kami dengan spek Intel(R) Xeon(R) E-2224 CPU @ 3.40GHz RAM 16Gb terinstall ubuntu server masih bingung konfigurasi load balancer ini. mohon petunjuk.
Yang ingin di load balance apa dulu nih ? Misalkan web server, database, atau aplikasi lainnya ? Setiap aplikasi ada approach nya tersendiri. Contoh di video ini lebih ke menjelaskan LB untuk web server
Makasih mas infonya ..saya mau nanya ..misal menerapkan cara itu .
Dan kita punya server database masternya...
Kalau cuma punya 1 server database master...otomatis kualahan kan mas?
Bagaimana menangani itu...kalo punya banyak server db...databya juga harus sinkron kan
Masalah kapasitas itu bisa di sesuaikan dengan beban nya mas, 1 server cukup kalo emang trafficnya gak besar. Untuk HA database, clue nya bisa cari tau tentang Database Replication, implementasinya beragam tergantung tech stack yang digunakan.
Trima kasih om
bang bikin tutorial docker/kubernetes
Docker udah pernah di bahas mas, coba di cek aja. Hehehe
@@ajidiyantoro iya mas baru saya cek, subscribed thanks
Bagaimana Anda menyinkronkan, misalnya, tiga server menjadi satu? Apakah Anda harus mengubah konten setiap server secara manual?
Apa yang mau di sinkronkan ?
bang, jadi istilah load balancer itu untuk multi vm (single server) atau multi server, atau bisa keduanya ? dan yang sering/umum digunakan itu yang mana ya? thanks
Fokus sama fungsinya mas, loadbalancer ini kan fungsinya untuk mendistribusikan traffic ke beberapa node / apps backend. Mau di implementasi di single vm bisa, banyak vm pun bisa. Jadi balik lagi sama kebutuhan, kalo untuk belajar pake 1 vm juga udah cukup, tapi kalo real production idealnya di pisah. Dan speknya pun perlu di pertimbangkan sesuai dengan jumlah trafficnya
Mas, klo untuk implementasi Load Balance pada aplikasi seperti NextJS gimana ya mas? Kita coba kadang isinya contennya berbeda dan ga stabil
Padahal si VM yang di Load Balance tuh Contennya sama semua
Kalo aplikasinya statefull, ada database ataupun storage, make sure apps nya nembak ke lokasi yang sama.
Izin bertanya mas, misal kasusnya saya ingin mengimplementasikan nginx load balancer untuk 3 web server tapi masing masing di install di virtual machine berbeda di dalam vps, jadi nanti ada 4 virtual machine di dalam vps ,1 untuk load balancer dan 3 untuk web server. Apakah itu bisa mas?
Jika bisa, pertimbangannya apa ya mas? untuk pemilihan antara penggunaan docker atau virtualisasi seperti konsep yang saya sebutkan?
Karena ingin saya gunakan untuk eksperimen membandingkan 2 loadbalancer pada kondisi protocol http/3
Jelas bisa. Masalah pake docker atau tidak, itu sih tergantung kebutuhan. Di video saya pake docker untuk menyederhanakan use case aja, supaya resource yang digunakan tidak terlalu banyak
kalau load balancernya mati gimana?
biasanya usage network bandwith akan termakan banyak di loadbalancer dan jadi slow appnya, gimana solusinya om?
LB mati pasti akan impact ke belakangnya, maka dari itu untuk implementasi HA gak bisa asal asalan, harus perhatikan capacity planning, dan sesuaikan dengan kebutuhan. Itu kalo mau implement HA manual / from scratch ya.
Tapi kalo kita pake layanan cloud, harusnya aman. Dari provider pasti udah perhatikan masalah SLA nya
bang mau tanya, kalo jaga session tcp itu bisa ngga ya? misal lagi running progress transfer data ke site 1... tiba2 down...
Tinggal panjangin config session timeout di dalam nginx nya, detailnya silahkan baca dokumentasi
itu kan kalo cuma akses aja.. kalo databasenya gmn? 1 database atau 3 database juga? kalo 3 database gmn? misal user dpt akses di app1 dan input data di db1, kan db2 & db3 tdk diinput user... kalo pun tiba2 user dpt akses di app2, db2 dan db3 nya gmn agar ttp sinkron terus / sama isi databasenya...
Yang saya bahas di sini kebetulan konsep HA untuk level aplikasi, sedangkan untuk level database jelas implementasinya beda, tiap database engine punya mekaniseme HA yang berbeda.
Implementasi umumnya db nya di isolasi di Vm/server trsndiri, jdi msing2 app nya akan remote db ke vm database nya
@@badarnento3000 Nah betul, untuk implementasi HA secara penuh, perlu di bagi per layer (application, platform, infra sampai dengan hardwarenya)
untuk replikasi tiap server menggunakan apa mas ?
untuk best practice nya
Apa yang mau di replikasi & case nya apa ?
tanpa fafifu langsung tudepoin, mantap
Pak, ini berartikan kita harus install 1 aplikasi tsb di 3 server ya. Kalo database bagaimana perlakuannya?.. apa mungkin juga harus install db di 3 server tsb?.. nanti datanya gx syncron
Skenario ini hanya contoh untuk menggambarkan fungsi load balancing. Realnya biasanya setiap app akan di letakan di server yang berbeda. Untuk database gak bisa di samakan mekanismenya seperti ini, dia punya mekanisme sendiri untuk impelementasi HA.
izin bertanya, kesimpulan dari metode load balancing apa ya mass?
Intinya membagi beban / traffic ke beberapa server
bang, maaf saya pemula, ini ngide dari saya aja sih. kalau pakai cara seperti itu, bukan untuk load balance, tapi agar bisa memiliki banyak web-app berbeda beda di satu server bisa?. misalkan kita cuma punya 1 ip public, kita bisa punya banyak web-app yang berbeda misal satu web untuk jual sepatu, satu web jual baju, dll. itu tinggal setting di upstreamnya aja kan ya bang?
Yups betul, itu bisa pake reverse proxy. Pernah saya bahas di video yang lain
@@ajidiyantoro oh oke bang, makasih. tadi pas nyari di gugel yg nongol video ini duluan
Bang mau tanya. Nginx lebih baik di deploy di backend server atau bisa di jalankan lewat container docker?
Ini maksudnya gimana ya ? Perihal pakai container atau ngga itu tergantung sama kebutuhannya aplikasinya seperti apa. Prinsipnya nginx itu hanya tools yang bisa digunakan untuk kebutuhan web server atau proxy (sidecar).
Klo misalkan pke database, itu yg 3 servernya konek ke database yg sama kah pak?
Idealnya database di simpan di machine yang berbeda, yang di bahas di sini hanya sebatas konsep HA di level aplikasi.
izin mas. mau tanya. kalau di nginxproxy manager apakah bisa di set seperti ini??kebetulan sy pakai nginxproxy manager via casaos untuk dockernya. bagaimana mas? oh iya mas kalau buat horizontal scaleling gimana buat mirror site nya ya??apalagi kalau ada database nya misal pakai mysql mas.
Harusnya bisa ya, tapi saya blum pernah coba langsung pake nginx proxy manager. Kalo bicara scaling bisa bisa aja, cuma akan panjang lagi ceritanya. Hehe
@@ajidiyantoro siaappp mas. Izin nanya lagi mas. Sy ada kendala di performa nginx proxy manager, yg mana ketika sy aktifkan sebagai reverse proxy basis domain plus ssl dri si npm, throgphut bw nya turun jadi 250mbps an, tapi kalau sy reverse menggunakan ip dengan port khusus bisa di 980mbps. Simulasi ini sy ujicobakan dengan menggunakan bantuan openspeedtest server on prem mas. Ada solusi tdk ya kira2 buat masalah ini??
@@muhammadsyamsudin1251 mungkin kalo akses via ip & port trafficnya gak lewat reverse proxy, makannya lebih cepet. Coba aja running nginx (bukan nginx proxy manager). Trus tunning confignya, contohnya googling aja
@@ajidiyantoro oh bukan itu maksud sy mas. Jdi tetap lewat NPM mas tpi bukan pakai domain pakai IP NPM nya yg di pointing ke port tertentu menji server openpedtest mas.
Tapi sy coba2 tanpa manager mas. terimakasih masukannya.
Mas kalau ini kan sekarang asumsinya dengan layanan yang sama dari beberapa server? Tetapi misal kalau layanannya berbeda lewat nginx dengan domain yang sama apakah bisa?
Beda service dengan domain yang sama bisa tapi port nya harus di bedakan. Atau bisa juga domainnya sama tapi path nya di bedain. Misalkan domain.com untuk service A, domain.com/foo untuk service B, domain.com/bar untuk service C.
@@ajidiyantoro baik trims mas 👍🙏
Bang mau tanya utk 3 app tersebut, yg Abang buatkan itu app yg sama atau gmna?
Karena misalkan saya buat 1 app dalam bentuk Rails app, nah utk app ke 2 dan ke 3 berarti saya bikin app yg sama ya? Maaf saya masih blum paham jika yg dimaksd adalah mengkloning kan 1 app menjadi app 2 dan app 3.
Karena jika saya perlu mengkloning app ke 1 menjadi app ke 2 dan ke 3 berarti dari sisi development saya perlu extra develop, dalam artian misalkan dalam app ke 1 itu ada penambahan fitur kemudian saya gunakan github action atau Jenkins utk CI CD ke production, yg app ke 2 dan ke 3 juga akan ikut ya? Maaf saya masih newbie Bang
Pada case load balancer ini, 3 contoh apps tersebut sebetulnya sama, karena pointnya adalah gimana caranya kita membagi beban ke beberapa server yang berbeda. Nah terkait dengan gimana cara clone appsnya ke 3 server caranya banyak, mau manual atau otomatis, kalo otomatis salah satunya bisa pake CI/CD.
Izin bertanya kang Aji,
Misalkan untuk aplikasi di Server 1 menggunakan php dan mysql, apakah untuk di server 2 dan 3 nya isi nya juga harus sama dengan server 1, katakanlah saya punya aplikasi pembayaran SPP, untuk di server 1 dan 2 juga harus ada aplikasi SPP beserta database nya, lalu setelah di deploy ke 3 server itu, kita jalankan Load Balancer menggunakan nginx nya.
Terima kasih
Salam
Contoh yang saya bahas di video itu hanya mencakup LB untuk level aplikasi saja. Kalo DB nya mau di buat HA konfignya akan menyesuaikan DB yang di pakai.
Terima kasih kang @@ajidiyantoro masukannya, step by step untuk config LB sudah mengerti dan sudah di implementasikan, maaf kang 1 lagi izin bertanya untuk DB nya menggunakan metode replikasi two way atau one way gimana kebutuhan kalau memang DB nya mau ada di 3 server dan config di aplikasi nya menyesuaikan DB yang mau di pakai atau master nya.
Kurang lebih jika di buat topologinnya jika dibuat 1 server DB
(LB) -> (SV1,SV2,SV3) -> (DB_SERVER)
Untuk level DB sebetulnya tergantung tech stack yang di pakai, misalkan kalo pake MySQL ada yang namanya replication, penggunaanya bisa di set master slave jadi hanya ada 1 node yang R/W dan sisanya Read Only. Atau bisa juga replikasi dengan mode active / active, dimana semua node bisa R/W.
Terima kasih kang @@ajidiyantoro penjelasannya , sudah mulai paham skrg untuk step by step nya, next mau coba implementasi di vps, skrg lagi mapping 1 per 1 video kang aji mulai dari pointing domain sampe akhir bisa publish web nya.
mas berarti harus buat containernya terlebih dahulu ya?
Tidak perlu, container di situ hanya sebagai contoh aplikasi yang running di belakang load balancer.
bang berati tiap" server yang ada aplikasinya harus install NGINX ya,? apa cukup satu NGINX yang ditaruh didepan dengan fitur loadbalancer?
Cukup satu nginx yang di simpan di depan
dunia server sungguh memusingkan:(, saya cuma punya stb dengan spek 2GB MEMORY dan 8GB STORAGE yang diubah menjadi linux server, dan saya deploy nextjs app disana lalu saya pointing dengan clodfla tunnel tanpa zerotrust ke subdomain yang saya buat dan everything is working fine, apakah cara ini benar? atau seharusnya bukan begini? saya mengikuti panduan dari chat-gpt btw
Appreciate kalo sudah berhasil 👍. Soal cara itu balik lagi ke masing”, tapi penting tau konsep dan objective nya kemana.
@@ajidiyantoro oh oke trimakasi pak
misal punya 3 vps yang disetting load balance 1 vps aja ya bang? dan kalo vps yg dipasang load balance mati, gk guna dong vps yang lain? apa ada tools / jembatan khusus untuk load balance yang gk mungkin mati bang?
Jawabannya gak ada kali ya, yang ada juga strateginya gimana biar bisa jalanin LB yang high critical, misal kita cari provider VPS yang ngasih SLA bagus atau sejenisnya. Dan “mati” di sini gak cuma faktor dari provider ya, tapi bisa juga dari konfigurasi atau kapasitas VPS yang kurang untuk menangani jumlh traffic.
@@ajidiyantoro oke makasih bang, faham sekarang tujuan utama load balance
maaf nanya mas, kalau aplikasi ada di beberapa server gin untuk DB nya gimana mas, apakah direplikasi ?
Kembali lagi ke kebutuhan, kalo emang bener-bener ingin implement HA pastinya di layer database perlu ada replikasi juga. Konteks yang di bahas di video ini cuma bahas kalo mau implement HA di sisi Apps.
@@ajidiyantoro replikasi ini dalam artian gimana ya mas? apakah setiap data yang masuk juga akan di insert ke semua database yg ada pada semua server? atau gimana ya mekanisme nya?
@@junaidiabdulrahman8380 Yups kurang lebih seperti itu. Let’s say misalkan pake MySQL, kalo kita buat master-master, data yang di insert akan di replikasi ke node lain, dan di semua node bisa read & write. Dan master-slave secara data akan sama sama di replikasi, tapi hanya salah satu node aja yang di bisa read & write, sisanya cuma bisa read doang
@@ajidiyantoro oh oke mas siapp..
Sya ada pertanyaan lg mas, misal untuk setiap node server sya set spek nya 2GB RAM & 2 CPU
nah menentukan spek server untuk nginx load balancer nya kira² gmna ya?
@@junaidiabdulrahman8380 Nah kalo soal ini ada konteksnya tersendiri, namanya itu capacity planning, masnya bisa browsing pake keyword itu. Simple nya mungkin gini, misalkan kita mau jalanin web server, pertama kita perlu liat requirement apa aja yang di butuhkan sama aplikasi web yang mau di jalankan, contohnya dia pake bahasa apa, ada library apa aja, dll. Selanjutnya kira” ada brapa user yang nanti bakal akses. Jadi analisanya cukup luas. Btw ini kalo kondisi real ya, tapi kalo buat di rumah yang akses usernya dikit mah pc kentang juga bisa running well
mas untuk generate_trafic ada scriptnya?
Sudah hilang mas. Hahaha. Simplenya bikin pake shell script isinya perintah curl yang di looping beberapa kali
kalo ternyata yang mati nya adalah load balacner utama nya gimana tuh mas ?
Seluruh service di belakangnya gak bisa di akses
@@ajidiyantoro YA SAMA AJA BOONG...HE...HE..
@@andreas_seosatu Cara berpikirnya gak begitu BOS. Hahaha. Buat ngurangin resiko downtime di sisi LB bisa pake beberapa approach. Pertama bisa terapin dual stack load balancer, platfrom yang bisa di pake misalkan HA Proxy, atau kalo kelas enterprise bisa pake F5. Tapi intinya, apa yang dijelaskan di sini lebih ke menggambarkan konsep LB itu sendiri seperti apa.
Kalau ngink lb nya mati bagaimana, mas
Ya ngga bisa di akses
@@ajidiyantoro solusinya bagaimana
@@TOPJOS Solusinya luas dan beragam, tergantung environment yang digunakan. Pemilihan LB juga akan berpengaruh, misalkan kalo perlu nativa HA bisa pake HA Proxy sebagai LB nya, kemudian dari sisi perangkat juga perlu di pastikan durability & availability nya bisa terjamin.
mau source backendnya dong om, biar bisa praktekin
Pull aja langsung dari docker registry, namanya sesuai yang tertera di video
kalo load balancernya mati gimana?
LB mati ya semua service di belakang nya tidak dapat diakses. Tapi mindsetnya jangan di buat mentah” seperti itu. LB itu hanya satu hal berkaitan dengan implementasi HA. Selain itu ada faktor lain yang perlu di pertimbangkan juga
Nginx nya di taruh dimana ges?
VPS
@@ajidiyantoro saya lagi membayangkan loadbalance multiple VPS. Apakah ini hanya untuk loadbalance di satu vps
@@lekbejo17 Kebutuhannya seperti apa ?
Ada sourcecode nya ? Mau nyoba di local
Source code apa nih ?
Bg bagi shell scriptnya dong
Sudah hilang di telan bumi. Hahaha. Kalo mau buat gampang kok, isinya cuma pake curl & sleep yang di looping.
@@ajidiyantoro bg kalo monitoring server backend load balancing bisa gk dari load balancernya aja pakai grafana?
@@sarifulmunawar7916 semua bisa di monitor
kalo semisalnya saya punya 3 server dan saya instal aplikasi berbasis web disalah satu server saja apakah bisa Nginx ini membaca server 1 dn 2 yang tidak di intsal aplikasi berbasis web???
Mungkin maksudnya ini lebih ke reverse proxy kali ya ? Hanya ada 1 server aja yang di expose ke luar, yang 2 server lainnya hanya sebagai backend. Gitu bukan maksudnya ? Coba simak ini th-cam.com/video/u6Gs36djdOI/w-d-xo.html
@@ajidiyantoro makasih mas, kalo IP di Server itu kita mau buat IP berapa aja bebas yah tanpa harus mengacu ke IP Modem
IP Servernya bebas mas, tinggal di sesuaikan saja.
Kalau server2 nya pake vm brrti harus ada 4 vm ya kak. 3 buat backend dan satu kusus untuk loadbalancer
Mungkin seperti itu, aku juga penasaran gimana cara handle databasenya? Apakah butuh 1vm lagi khusus databases?
Betul, simplenya sediakan satu vm yang berfungsi sebagai LB. Kalo di cloud ada juga service LB, nanti tinggal di pointing ke node mana saja.
Untuk DB, approachnya beda lagi. Beda sama LB di level aplikasi. Kalo mau mainan HA untuk database bisa coba pake percona mysql atau percona xtradb cluster