Ana Sayfa

Emissary: Hızlı ve Bağımlılıksız Java Mesajlaşma Kütüphanesi

1 dk okuma

Emissary, Java uygulamalarında mesajları (istekler ve olaylar) ve bu mesajları işleyenleri birbirinden ayırmak için tasarlanmış, bağımlılıksız ve yüksek performanslı açık kaynaklı bir mesajlaşma kütüphanesidir. Kütüphane, @RequestHandler ve @EventHandler gibi anotasyonların kullanım kolaylığını yansıma (reflection) mekanizmasının performans dezavantajları olmadan sunmayı hedefler. Bu sayede geliştiriciler, Komut Sorgu Sorumluluk Ayrımı (CQRS) gibi mimari desenleri kolayca uygulayabilirler, ancak Emissary'nin kullanım alanı sadece bu desenle sınırlı değildir.

Emissary'nin temel farklılığı, yansımalı yöntem çağrılarının maliyetinden kaçınmak için java.lang.invoke.LambdaMetafactory özelliğini kullanmasıdır. Bu yenilikçi yaklaşım, istek işleyici ve olay işleyici yöntemlerini doğrudan çağırmaya yakın bir performans sunar. Yapılan testlere göre Emissary, Spring'in ApplicationEventPublisher, Pipelinr ve EventBus gibi benzer kütüphanelere kıyasla yaklaşık %1000 daha fazla işlem hacmi ve %90 daha hızlı çalışma performansı göstermektedir. Bu, özellikle yüksek performans gerektiren ve düşük gecikmeli sistemler geliştiren Java geliştiricileri için önemli bir avantaj sağlar. Kütüphane, v2.0.0 sürümünden itibaren emissary-core adıyla yayınlanmaktadır.

İçgörü

Emissary, Java uygulamalarında mesajlaşma ve olay işleme süreçlerini yansıma maliyetinden kaçınarak rekor seviyede hızlandırarak geliştiricilere önemli bir performans avantajı sunuyor.

Kaynak