SORU
28 EKİM 2009, ÇARŞAMBA


Netty vs Apache MİNA

İkisi de hemen hemen aynı işlevleri sağlar. Hangisi yüksek performanslı TCP sunucu geliştirme seçmeliyim? Ne artılarını ve eksilerini?

Referans bağlantılar:

Apache MINA (source)

Netty (source)

CEVAP
1 Mart 2010, PAZARTESİ


MİNA ve Netty benzer emelleri var olsa da, pratikte oldukça farklı ve seçiminizi dikkatlice yapın. MİNA ile deneyim bir sürü vardı o şanslı olduğumuzu ve çevresinde Netty ile oynamak için zaman vardı. Biz özellikle daha genç ve daha temiz API belgelerine sevdim. Performansı kağıt üzerinde çok daha iyi görünüyordu. Daha da önemlisi General Lee taraftan sahip olduğumuz tüm sorulara cevap olacağını biliyorduk, ve o kesinlikle bunu yaptı.

Netty her şey daha kolay bulduk. Dönem. İşlevsellik biz zaten MİNA vardı aynı yeniden gerçeklemek için çaba gösterirken, bunu sıfırdan yaptık. Mükemmel dokümantasyon ve örnekleri takip ederek daha fazla, çok daha fazla kod işlevselliği ile sona erdi.

Netty Boru hattı bizim için daha iyi çalıştı. Her şey bir işleyici ve memba olayları, sonrasındaki olayları işlemek için karar nerede MİNAs, bir şekilde daha basit veya daha düşük seviyeli şeyler tüketmek. Dağıttıkları "yeniden" kod çözücüleri bir zevk oldu neredeyse. bayt Ayrıca çok güzel-the-fly üzerinde boru hattı yeniden mümkün o kadar kolay olacaktı.

Ama Netty yıldızı cazibe, ımho, bir boru hattı ile işleyicileri oluşturmak için yeteneğidir "kapsama alanı". Muhtemelen zaten belgelerinde bu kapsama açıklama okumadığınız, ama aslında tek bir kod satırı size devlet veriyor. Sadece düzenli değişkenleri bildirmek için başardık, haritalar, eşitleme falan yok oturumu etrafında karıştırmasını ile (ki, "") kullanıcı adı ve onları kullanın.

Ama sonra bir engele takıldık. Biz zaten uygulama protokolü TCP/IP, HTTP ve UDP koştu MİNA altında çoklu iletişim kuralı sunucu vardı. Netty sistemine dönünce SSL ekledik ve birkaç dakika içinde listeye HTTPS! Şimdiye kadar çok iyi, ama UDP gelince hata yapmış olduğunu fark etti. MİNA "protokolü. bağlı olarak UDP tedavi edebiliriz, bu bizim için çok iyi oldu Netty altında böyle bir soyutlama yok. UDP bağlantısız ve Netty gibi davranır. Netty sunar MİNA daha düşük bir seviyede UDP bağlantısız yapısı daha. MİNA sağlayan üst düzey soyutlama altında daha Netty altında UDP ile yapabilirsiniz, ama hangi bağlıydık şeyler var.

Bu kadar basit "bağlı UDP" kapsayıcı falan. bir ekleme değil Hızlı olmaz devam etmek için Netty kendi satıcı, sağlayıcı uygulamak için zaman kısıtlamaları ve General tavsiyesi üzerine, verilen, sonunda Netty terk etmek zorunda kaldık.

Yani, aralarındaki farkları en zor bakın ve hızlı bir şekilde herhangi bir zor işlevselliğini test edebilirsiniz sahneye beklendiği gibi çalışıyor. Eğer Netty iş yapacak memnun iseniz, o zaman MİNA üzerinde onunla gitmek için bir saniye bile tereddüt etmezdim. Eğer sen hareket MİNA Netty sonra aynı şey geçerlidir, ama belirtmekte fayda iki API gerçekten ciddi anlamda farklı ve dikkate almanız gereken bir sanal yeniden yazmak için Netty - pişman olmazsın!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • EEVblog

    EEVblog

    4 NİSAN 2009
  • Philip DeFranco

    Philip DeFra

    16 EYLÜL 2006
  • Tinkernut

    Tinkernut

    28 Aralık 2006