Merhaba,
Master'da herhangi bir sorun oluşup master KISA veya UZUN süreli
SUSARSA, ben devreye girene kadar Slave çalışsın istiyorum. Ben devreye
girmeden Master kendine gelse bile Slave çalışmaya devam etmeli.
Benim devreye girmemden amacım, Slave'deki güncel verilerin Master'ı
kontrolüm dahilince güncellemesini sağlamak.
Bu işi nasıl sağlayabilirim acaba?
Ayrıca, düşündüğüm sistem web server'ın komple bir yedeğinin farklı bir
fiziksel lokasyonda (Örnek: master Ankara, slave ABD'de) her an devreye
girebilecek şekilde hazır bulunması.
Selamlar,
Nuri Akman
29.01.2010 10:41, serkan yazmış:
İlk dediğiniz şekilde. Ancak 5 dakika değil 1 saniyede bir,
ayarlanabiliyor ama oldukça kısa bir zaman.
serkan
2010/1/29 Nuri Akman <[email protected]
<mailto:[email protected]>>
Merhaba Atıf Bey,
Master-slave replikasyonu şu şekilde mi çalışıyor?:
Örneğin 5 dakikada bir, o ana kadar master'da gerçekleştirilen
update ve
insert komutları slave'e gönderiliyor ve bu komutlar slave üzerinde
çalıştırılıyor.
Yoksa; Master'daki her bir update/delete anlık olarak mı
güncelleniyor?
Selamlar,
Nuri Akman
29.01.2010 00:32, Atıf CEYLAN yazmış:
> Merhaba,
> konunun tamamını takip edemedim malesef, buradaki yazdıklarınıza
> istinaden nacizane tavsiyem, master-slave replication olacak. yanlış
> hatırlamıyorsam mysql ndb vardı bir zamanlar. zahmetsiz bu işi
> hallediyor diye biliyorum.
> yazdığınızdan anladığım kadarı ile değişen veriniz hayli az. bu
nedenle
> master-slave replication işinizi fazlası ile görecektir. temel
mantığı;
> slave olan db belirlediğiniz sürelerde kendini, master db'den
günceller
> (örn. her dakikada). aynı uygulamanızın iki kopyası var sanırım,
> uygulamanızda insert, uğdate, delete işlemlerini master db'den
select
> işlemlerini oransal olarak her ikisinden yaparsınız. böylece hem
> poolingde yapmış olursunuz. uygulama içinde bağlantı noktasında if
> (!$db1) baglan(db2) benzeri bir kontrolle kullanıcılarınızın
aksaklıktan
> haberdar olmadan işlerine devam etmelerinide sağlamış olursunuz.
>
> kolay gelsin.
>
> Nuri Akman wrote:
>
>> Merhaba,
>>
>> Sanırım sizinkine benzer bir durum da benim başımda. Bende durum
>> şöyle: İnternette aktif olarak çalışan PHP+MySQL uygulamam var.
Ancak,
>> "sunucum herhangi bir zamanda devre dışı kalırsa ne olacak?" korkum
>> var. Veritabanımda on binlerce satır veri olmasına rağmen bunların
>> sadece en son 500 - 700 tanesi GÜN İÇİNDE ekleniyor veya
>> değiştiriliyor. Eski kayıtlar olduğu gibi kalıyor ve hiç bir
şekilde
>> delete/update yapılmıyor.
>>
>> Aktif sunucu üzerindeki PHP dosyalarımı fiziksel olarak uzakta
bulunan
>> başka bir sunucuya da yükledim. Aynı sunucuda PHP+MySQL çalışıyor.
>> Veritabanını da olduğu gibi kopyaladım ve sistem, bu sunucu
üzerinden
>> de hizmet veriyor.
>>
>> *Sorun da burada başlıyor: *
>> Her yeni işlemle birlikte ikinci sunucudaki veritabanım
güncelliğini
>> yitiriyor. İşte tam bu noktada replikasyon ihtiyacım var diyorum.
>>
>> *Senaryoyu işleme koyalım: *
>> Sunucu 1 devre dışı kalmış. Kullanıcılar, bunu görüp Sunucu 2'den
>> devam ediyorlar.
>>
>> Herhangi bir metodla Sunucu 2'ye aktardığım veriler ne kadar
güncelse
>> kullanıcılarım da o kadar güncel bir sistemde çalışıyorlar. Bu
metod
>> manuel bir şey de olsa, replikasyon da olsa amacımıza ulaştık
demektir.
>>
>> *Peki sonrasında ne olacak?*
>> Sunucu 2 bir süre hizmet verdi ve üzerine yeni veriler eklendi /
>> güncellendi, ancak Sunucu 1 bundan habersiz.
>>
>> Acaba ihtiyaçlarımız benzeşiyor mu?
>>
>> Selamlar,
>> Nuri Akman
>>
>>
>> 28.01.2010 15:24, Ali Rıza Keleş yazmış:
>>
>>> On Thu, 2010-01-28 at 14:49 +0200, Nuri Akman wrote:
>>>
>>>
>>>> Merhaba,
>>>>
>>>> Mesajınıza baktığımda, amacınızın replikasyon olduğunu
belirtiyorsunuz,
>>>> ancak buna neden ihtiyaç duyduğunuzun yanıtını göremiyorum.
Bu konuda
>>>> bilgi verebilir misiniz? Veritabanınızı replike edince ne
olmasını
>>>> umuyorsunuz?
>>>>
>>>>
>>> Daha detaylı anlatayım...
>>>
>>> Intranet çalışan bir uygulamam var. Uygulama Vertabanı ile
birlikte
>>> yerel bir sunucuda. Sistem Debain Lenny. Buna srv1 diyelim
üzerindeki
>>> uygulamaya app1, vertabanına ise vt1.
>>>
>>> Aynı uygulamanın daha sınırlı bir kopyası Internet üzerinde
başka bir
>>> sunucuda.. Bunlara da sunucu srv2, uygulama app2, veritabanına
ise vt2
>>> diyelim. Bu da aynı biçimde Debian Lenny.
>>>
>>>
>>> Esas datalar srv1 üzerinde app1 ile vt1 e işleniyor. İlk
istediğim bu
>>> işlemlerin kopyaları aynen srv2 üzerindeki vt2 ye birebir
kopyalanması
>>> ve app2 nin kullanımına hazır hale gelmesi.
>>>
>>> Yereldeki kadar olmasa da srv2 deki app2 bir miktar datayı
bağımsız
>>> biçimde üretip vt2 ye kaydedecek. Bu vt2 ye kaydedilen
datalarında aynen
>>> yereldeki vt1 'e kaydedilmesini istiyorum.
>>>
>>> Bunun yanında, ilerisi için soruyorum bunu, başka bir
lokasyonda 3. bir
>>> sunucu eklediğimde, srv3, app3 ve vt3 diyelim, 3 sunucuyu da
yukarıdaki
>>> ikisi gibi nasıl çalıştırabilirim.
>>>
>>> vt1-vt2 replikasyonu
>>> vt2-vt3 replikasyonu
>>>
>>> işimi görür mü?
>>>
>>> Eğer replikasyondan haberdar olmasaydım, şöyle çözecektim:
>>>
>>> 1- srv1 üzerindeki dataları bir biçimde ve sürekli şekilde web
>>> üzerindeki sunucuya da kaydedecek,
>>>
>>> 2- srv2 de üretilen datayı geçici tablolara kaydedip, app1 in
isteği
>>> üzerine, kullanıcının tetiklemesi ya da otomatik, hem srv1 e
hem de srv2
>>> ye kaydedecektim.
>>>
>>>
>>> Son olarak bütün bu işlemleri ssl ile yapmak istediğimi
söyledim. Ben
>>> soruma yanıtımı genel olarak aldım ama güzel bir konu, daha çok
>>> paylaşabiliriz.
>>>
>>> İlginiz için teşekkür ederim.
>>>
>>> --
>>> Ali Rıza Keleş,
>>>
>>>
>>>
>>>
>>>
>>>
>>>> Selamlar,
>>>> Nuri Akman
>>>>
>>>>
>>>> 27.01.2010 18:11, Ali Rıza Keleş yazmış:
>>>>
>>>>
>>>>> Merhaba,
>>>>>
>>>>> Veritabanı replication(yanıtınızda uygun gördüğünüz Türkçe
karşılığını
>>>>> yazarsanız, bundan sonra onu kullanırım.) konusunda
önerinizi almak
>>>>> istiyorum. Biraz okudum, eğer çözüm bu ise derinleşeceğim.
>>>>>
>>>>> Durum şöyle:
>>>>>
>>>>> Vt1: insert/update/delete işlemleri yoğun olacak,
>>>>>
>>>>> Vt2: Select işlemleri çok yoğun olacak ama bu işlemlerin
kayıt altına
>>>>> alınması için gerekli olan bazı insert işlemleri de
yapılacak. Vt1 in
>>>>> işleyeceği temel tablolarda çok nadiren insert işlemleri
yapılacak.
>>>>>
>>>>> Vt1 deki ve Vt2 deki her türlü değişikliğin aynı anda karşılıklı
>>>>> işlenmesini istiyorum. Bunu master-master replication ile
yapabilir
>>>>> miyim?
>>>>>
>>>>> Aklıma takılan bazı problemler:
>>>>>
>>>>> 1- Bu iş için en uygun çözüm replication(master-master) mı?
>>>>>
>>>>> 2- İşlem çakışmaları yaşıyabilir miyim? AutoIncrement
alanlar nasıl
>>>>> olur? Yani aynı anda vt1.tablo1 ve vt2.tablo1 e data
girildiğinde ve
>>>>> aynı AI değeri aldıklarında veri kaybı, replikasyonun
çökmesi gibi
>>>>> sorunlar yaşar mıyım?
>>>>>
>>>>> 3- Sunucular aynı lokasyonda değiller. Birisi internet üzerinde,
>>>>> diğer(ler)i yerel ağ(lar)da. Genelde aynı ağda olması
yönünde tavsiyeler
>>>>> gördüm? Böyle olması çok zorluk çıkarır mı?
>>>>>
>>>>> 4- Vt1 özelliklerinde bir vertabanı daha (Vt3) bu kompozisyona
>>>>> eklenebilir mi? Yani Vt1-Vt2 ve Vt2-Vt3 şekline Vt2 aynı
anda hem Vt1 ve
>>>>> Vt2 ile replikasyon yapılabilir mi?
>>>>>
>>>>> 5- Bu işlem sırasında SSL kullanabileceğimi de okudum. Aynı
lokasyonda
>>>>> olmadıkları için sizce performansı nasıl etkiler?
>>>>>
>>>>> Teşekkür ederim.
>>>>>
>>>>> --
>>>>> Ali Rıza Keleş,
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Linux-sunucu E-Posta Listesi
>>>>> [email protected]
<mailto:[email protected]>
>>>>>
>>>>> Liste kurallarını http://liste.linux.org.tr/kurallar.php
bağlantısından okuyabilirsiniz;
>>>>>
>>>>> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu
listeden gelen e-postaları almak istemiyorsanız aşağıdaki bağlantı
adresini kullanarak 1 dakika içinde üyeliğinizi sonlandırabilirsiniz.
>>>>> http://liste.linux.org.tr/mailman/listinfo/linux-sunucu
>>>>>
>>>>>
>>>>>
>>>> _______________________________________________
>>>> Linux-sunucu E-Posta Listesi
>>>> [email protected]
<mailto:[email protected]>
>>>>
>>>> Liste kurallarını http://liste.linux.org.tr/kurallar.php
bağlantısından okuyabilirsiniz;
>>>>
>>>> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu
listeden gelen e-postaları almak istemiyorsanız aşağıdaki bağlantı
adresini kullanarak 1 dakika içinde üyeliğinizi sonlandırabilirsiniz.
>>>> http://liste.linux.org.tr/mailman/listinfo/linux-sunucu
>>>>
>>>>
>>> _______________________________________________
>>> Linux-sunucu E-Posta Listesi
>>> [email protected]
<mailto:[email protected]>
>>>
>>> Liste kurallarını http://liste.linux.org.tr/kurallar.php
bağlantısından okuyabilirsiniz;
>>>
>>> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu
listeden gelen e-postaları almak istemiyorsanız aşağıdaki bağlantı
adresini kullanarak 1 dakika içinde üyeliğinizi sonlandırabilirsiniz.
>>> http://liste.linux.org.tr/mailman/listinfo/linux-sunucu
>>>
>>>
>>
------------------------------------------------------------------------
>>
>> _______________________________________________
>> Linux-sunucu E-Posta Listesi
>> [email protected]
<mailto:[email protected]>
>>
>> Liste kurallarını http://liste.linux.org.tr/kurallar.php
bağlantısından okuyabilirsiniz;
>>
>> Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu
listeden gelen e-postaları almak istemiyorsanız aşağıdaki bağlantı
adresini kullanarak 1 dakika içinde üyeliğinizi sonlandırabilirsiniz.
>> http://liste.linux.org.tr/mailman/listinfo/linux-sunucu
>>
>>
>
>
_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]
<mailto:[email protected]>
Liste kurallarını http://liste.linux.org.tr/kurallar.php
bağlantısından okuyabilirsiniz;
Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu
listeden gelen e-postaları almak istemiyorsanız aşağıdaki bağlantı
adresini kullanarak 1 dakika içinde üyeliğinizi sonlandırabilirsiniz.
http://liste.linux.org.tr/mailman/listinfo/linux-sunucu
_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]
Liste kurallarını http://liste.linux.org.tr/kurallar.php bağlantısından
okuyabilirsiniz;
Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1
dakika içinde üyeliğinizi sonlandırabilirsiniz.
http://liste.linux.org.tr/mailman/listinfo/linux-sunucu
_______________________________________________
Linux-sunucu E-Posta Listesi
[email protected]
Liste kurallarını http://liste.linux.org.tr/kurallar.php bağlantısından
okuyabilirsiniz;
Bu Listede neden bulunduğunuzu bilmiyorsanız veya artık bu listeden gelen
e-postaları almak istemiyorsanız aşağıdaki bağlantı adresini kullanarak 1
dakika içinde üyeliğinizi sonlandırabilirsiniz.
http://liste.linux.org.tr/mailman/listinfo/linux-sunucu