GoLang - Concurrency (goroutine, channel)

Go dilinin en önemli özelliklerinden birisi de eş zamanlı görevlerdeki performansıdır. Concurrency ile bir sürece ait n sayıda görevi(Task) aynı anda başlatabiliriz. Okuduğum kaynaklarda buna verilen en güzel örnek web sunucuları. İstemcilerden gelen talepler(Request) web sunucusu üzerinde ait oldukları uygulamalara yönlendirilip işletilmekte. Hiç bir talep için bir diğerini bekleme söz konusu değil. Web sunucusu bu görevleri eş zamanlı olarak yürütebilmekte. Concurrency'deki temel amaç da bu zaten. Görevleri aynı anda işletebilmek. Go dilinde Goroutine ve Channel yapıları ile Concurrency işlemlerini gerçekleştirebiliriz. [Daha fazla]

WCF 4.5–ChannelFactory Tipi için Caching Kullanımı

Bir WCF(Windows Communication Foundation) servisi ile onun tüketicisi olan istemci arasındaki iletişimde önem arz eden konulardan birisi de kanaldır(Channel). Bu kanalın oluşturulması görevini ChannelFactory tipi üstlenmektedir. İstemci açısından bakıldığında bir kanalın oluşturulması aslında servisin bir Proxy tipinin üretilmesi ve uzak metod çağrıları için gerekli iletişim ortamının sağlanması anlamına gelmektedir. Bir kanal esas itibariyle EndPoint odaklı üretilir. Dolayısıyla WCF' in ABC'si olarak nitelendirilen Address Binding Contract üçlemesi üzerine inşa olunur(ki bu da WCF Service EndPoint tanımıdır) [Daha fazla]