lostyazilim
tr.link

Chat sistemi Database mi kullanmalı Text File' mı ?

11 Mesajlar 2.235 Okunma
acebozum
tr.link

gorkemburan gorkemburan WM Aracı Kullanıcı
  • Üyelik 24.04.2017
  • Yaş/Cinsiyet 31 / E
  • Meslek Öğrenci
  • Konum İstanbul Anadolu
  • Ad Soyad G** B**
  • Mesajlar 35
  • Beğeniler 14 / 6
  • Ticaret 3, (%100)
Merhabalar , php tabanlı bir chat projemiz var.
Geçmiş vs. görüntülenmeleri sağladığımız için logları database üzerinde tutuyoruz.
Yaklaşık 10000 kullanıcı ve üzeri bir sistem olduğunu düşünürsek patlarmı ?
Ne gibi sorunlar yaşarız ?
Chat sisteminin alt yapsı nasıl olmalıdır ?
Önerilerinizi ve tecrübelerinizi paylaşırsanız çok mutlu olurum.
İyi çalışmalar:cool:
 

 

elektronikssl
webimgo

mjr2018 mjr2018 Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 18.02.2018
  • Yaş/Cinsiyet 33 / E
  • Meslek yazılımcı
  • Konum İstanbul Anadolu
  • Ad Soyad M** T**
  • Mesajlar 93
  • Beğeniler 1 / 33
  • Ticaret 0, (%0)
text kullansanız, aynı anda tek dosyaya yazmaya sistem izin vermez ki.
gorkemburan

kişi bu mesajı beğendi.

ontedi ontedi www.ontedi.com Kullanıcı
  • Üyelik 03.10.2013
  • Yaş/Cinsiyet 44 / E
  • Meslek Yazılım Uzmanı, Matematikçi
  • Konum Ankara
  • Ad Soyad S** T**
  • Mesajlar 1118
  • Beğeniler 325 / 324
  • Ticaret 2, (%100)
"Şuan dosya bir başkası tarafından kullanılıyor" gibi bir hata ile bolca karşılaşırsın.
gorkemburan

kişi bu mesajı beğendi.

www.ontedi.com
www.cizgi.site

hsntngr hsntngr Kontör at Kullanıcı
  • Üyelik 21.09.2016
  • Yaş/Cinsiyet 31 / E
  • Meslek Full Stack Developer
  • Konum İstanbul Avrupa
  • Ad Soyad H** T**
  • Mesajlar 1155
  • Beğeniler 99 / 327
  • Ticaret 3, (%100)
Belki redis gibi key value şeklinde depolayan sistemler üzerinde üzerinde tutulabilir chat boyunca daha sonra ise veritabanına kaydedilir bu geçmiş konuşma kayıtları. (Tamamn hayal ürünüdür, uygulanabilirliği varmı bilmiyorum)
gorkemburan mxaksoy

kişi bu mesajı beğendi.

wmaraci
wmaraci

Mrtcn Mrtcn PrismaCSI Kullanıcı
  • Üyelik 06.09.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Cyber Sec & Project Manager
  • Konum Ankara
  • Ad Soyad M** G**
  • Mesajlar 3356
  • Beğeniler 481 / 1987
  • Ticaret 10, (%100)
http://cassandra.apache.org

Olay bu arkadaşta
gorkemburan mxaksoy

kişi bu mesajı beğendi.

Decimas Decimas WM Aracı Kullanıcı
  • Üyelik 19.04.2015
  • Yaş/Cinsiyet 26 / E
  • Meslek Developer
  • Konum İstanbul Avrupa
  • Ad Soyad E** E**
  • Mesajlar 820
  • Beğeniler 1 / 302
  • Ticaret 1, (%100)
Dosyayı oku, satır sayısını bul, son 100 satırı getir. Teknik açıdan baktığımızda yürümeyecek bir şey yok ama mantıken SQL veya kullanılacak veritabanına göre daha az zahmet ve sunucuyu yormadan hareket edilecek bir yol tercih edilmeli. Geçmiş mesajları görüntülemek için bir iki döngü kullanmak var, tek sorguda sadece belirli aralıklardaki satırları almak var. Zaten veritabanı olayı eğer basit bir şey olsaydı metin formatında kayıt kullanımı yaygın olan bir yöntem olurdu. Şirketlerin yıllarını verip geliştiridiği o mühendislik harikalarını görmezden gelmek saçmalık olur.
gorkemburan

kişi bu mesajı beğendi.

no time for caution

impjix impjix WM Aracı Kullanıcı
  • Üyelik 10.03.2013
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım Mühendisi
  • Konum Ankara
  • Ad Soyad F** A**
  • Mesajlar 2426
  • Beğeniler 809 / 814
  • Ticaret 17, (%100)
Firebase tabanlı birşey yapabilirsiniz. Db de olur fakat karşınızdaki şuan yazıyor (typing) falan olursa zorlar çok.
 

 

cArleone cArleone WM Aracı Kullanıcı
  • Üyelik 26.11.2013
  • Yaş/Cinsiyet 31 / E
  • Meslek Web master
  • Konum Isparta
  • Ad Soyad A** M**
  • Mesajlar 225
  • Beğeniler 85 / 59
  • Ticaret 9, (%100)
10000 kullanıcılı bir chat,php her türlü darboğaza düşer.chat için en uygun sistemler socket sistemleridir.socket için ise nodejs öneririm.veritabanı olarak sql kullanacaksanız,postgresql kullanabilirsiniz.ama tavsiyem nosql kullanın.nosql içinde mongodb veya elasticsearch kullanabilirsin.elasticsearch big datalarda mongodbye göre daha performaslı.
gorkemburan

kişi bu mesajı beğendi.

www.ustaderslik.com

SancarSaran SancarSaran WM Aracı Kullanıcı
  • Üyelik 14.01.2018
  • Yaş/Cinsiyet 52 / E
  • Meslek Programcı
  • Konum İzmir
  • Ad Soyad S** S**
  • Mesajlar 319
  • Beğeniler 4 / 111
  • Ticaret 0, (%0)
Php ile olmaz.

NOKTA.

Websocket ile özgün yazamıyorsan. socket.io ile çozüme bakacasın arka taraf duruma göre bakılır. 1000 kişi çok değil sql ile olur. Başka şeylede olur.

Php ile web socket server yazabilirsin. Lakin benim tecürbelerime göre 100 kişi chat chut yaptığında 80 dolarlık digital ocean vps anca anca.

Yok ben hiç kayıt kuyut istemem dersen, telefonları salla (daha doğrusu iphone olmasada olur) dersen webrtc ile yazabilirsin.

Lakin oda kuracaksın falan olacak filan olacak.

Çözemezseniz ulaşın.
Backend Google go. Frontend plain javascript + jquery. (yani her türlü projeye giydirebilirsin)

İçinde emir komutası olan, yani ahmet odaya girdi mehmet odadan çıktı.
Veya operatör mehmeti odadan attı.
Veya osman odaya girdi 200 kredi bakiyesi var operatör gördü.
Yada osman ödeme yaptı, odayı özel odaya çevirdi vs vs gibi senaryoları işleyebilen.

Veya varsa kendinize özgü senaryo. (1000 kişiye canlı mac anlatsın vb)

Birden fazla odası olan.
Minimum yük, maximum performans.

Sistemi ücreti karşılığı teslim edebilirim.
gorkemburan

kişi bu mesajı beğendi.

BugraGulay BugraGulay <?php echo"It's Life"; ?> Kullanıcı
  • Üyelik 11.10.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Web Developer/Bilgisayar Müh.
  • Konum Ankara
  • Ad Soyad B** G**
  • Mesajlar 477
  • Beğeniler 34 / 135
  • Ticaret 7, (%100)
PHP ile yapılmayacak hiç bir şey yoktur. Öncelikle sunucularda trafiğe ani yüklenmelere karşı Queue yada Stack denilen yöntem kullanılıyorki veritabanı patlamasın. Fakat bu dediklerimi araştırırsan projende gelen requestleri(istekleri) bir sıraya sokup sunucuya yollatır sırayla çalıştırırsan sunucunun aldığı önlemi arttırabilirsin. Tabi bu proje sadece PHP ile oluşturamazsın Javascript kullanmanda faydalı olacaktır.

Şu an geliştirdiğimiz bir projede sohbet eklentimiz var biz javascript kullanarak rahatça tamamladık. Google ' da doğru aramalar yaparak tüm problemlerinizi çözebilirsiniz. Bunun yanı sıra tabiki veritabanı kullanmak daha mantıklı.
gorkemburan

kişi bu mesajı beğendi.

wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al