Hizmet Aracısı'ın yararları
Hizmet Aracısı'ın özellikleri, çok sayıda veritabanı uygulamaları için önemli yararlar sağlar.Bu özellikleri ve yararları şunlardır:
Veritabanı tümleştirme uygulamanın performansını yükseltir ve yönetimini basitleştirir.
Ileti sırası ve düzenlemesi için Basitleştirilmiş uygulama geliştirme
Boştaki bir uygulama bağlantı iş yükünü esneklik sağlar.
Ilgili bir iletinin kilitleme, işlem iletilerini uygulamanın açık eşitleme yapmadan aynı sırada birden fazla örnek sağlar.
Otomatik etkinleştirme iletisi birimle ölçmektir uygulamaları sağlar.
Veritabanı tümleştirme
Uygulama performansı ve yönetim için Hizmet Aracısı'ın tümleşik tasarım yarar sağlar.
Ile tümleştirme SQL Server eklenen iletileri hareketsel sağlayan Genel giderleri ve bir dış dağıtılmış işlem Eşgüdümcüsü karmaşıklığını. Uygulama bir veya daha fazla olan iletileri alır, ileti veya iletileri işler ve bir tek bir veritabanı hareketinin içinde bir yanıt iletisi gönderir.Bu nedenle geri geldiğinde tüm çalışma işlemi başarısız olur ve alınan ileti sıraya döndürülür, işlemek için başka bir deneme yapılabilir.Uygulama hareketi tamamlar kadar hiçbir eylem etkili olur.Uygulama tutarlı bir durumda kalır.
Veritabanındaki tüm verileri, iletileri ve uygulama mantığı olduğunda üç veya dört ayrı bileşenlerini yönetmek veritabanı ve yönetici olağan yönetim sonra haline yönetim uygulama (olağanüstü durum kurtarma, güvenlik, yedek vb.) bir parçası olmadığından, yönetimi daha kolay olur.
Geleneksel ileti gönderme ve alma sistemlerini ileti deposunu ve veritabanı tutarsız hale gelebilir.Örneğin, bir yedekten geri yüklendiğinde, başka bir bileşen de aynı anda alınmış yedekten geri yüklenmesi gerekir, veya yoksa ileti deposu bilgiler veritabanındaki bilgileri eşleşmiyor.Iletileri ve verileri aynı veritabanında tutar Hizmet Aracısı, tutarsızlık sorunu değildir.
Ortak bir geliştirme ortamı bir yararı, veritabanı tümleştirme de var.Aynı uygulama ileti bölümü ve bir uygulamanın veri parçası kullanabilirsiniz SQL Server diller ve ileti tabanlı programlama teknikleri programlama veritabanı ile geliştirici'nin benzerlik yararlanarak bir uygulamada Hizmet Aracısı, araçları. Ya da Hizmet Aracısı bir hizmeti gerçekleştirmelerine saklı yordamlar yazılabilir Transact-SQL veya ortak dil çalışma zamanı (CLR) dillerden biri. Programları dışında bir veritabanı kullanın Transact-SQL ve programlama arabirimleri, ADO.NET gibi tanıdık bir veritabanı.
Ayrıca, veritabanı bütünleştirme otomatik kaynak yönetimi sağlar.Hizmet Aracısı bağlamında çalışan SQL Server Örnek; bu nedenle, Hizmet Aracısı örneğindeki tüm veritabanları arasında aktarılması hazır olan tüm iletileri izler. Bu, kendi kuyruklar tüm kaynak kullanımını yönetmek için Hizmet Aracısı olurken korumak, her bir veritabanını verir SQL Server örnek.
Sıralama ve iletileri düzenlemekten
Geleneksel ileti sistemlerinde, uygulama, sıralama ve bozuk gelen iletiler düzenlemekten sorumlu yapıldı.Örneğin, uygulama A, 1, 2 ve 3 iletileri gönderir.Uygulama B alır ve iletileri, 1 ile 3 bildirdikten, ancak ileti 2 bir hatayla karşılaşır.Uygulama BIR ileti 2 yeniden gönderir, ancak 1 ile 3 iletileri sonra iletiyi şimdi alınan.Geçmişte, bir uygulama geliştiricisi uygulamanın ileti sırası belgemde önemi, veya yoksa, uygulama, doğru düzende iletileri işlemek böylece ileti 2 gelen kadar ileti 3 geçici olarak önbelleğe yazılamıyor ya da sahipti.Hiçbiri, dolaysız veya basit çözümüdür.
Geleneksel sistemleri ile başka bir sorun, yinelenen teslim yapıldı.Önceki örnekte, ileti 2'de, Uygulama B alır, ancak alındı bildirimi iletisi uygulama A'ya geri kaybolur, uygulama BIR ileti 2'de, uygulama almak B neden yeniden 2 iki kez iletisi gönderir.Uygulama kodu, tanımlamak ve yinelenen atmak ya da olumsuz olmadan yinelenen reprocess yapabilmek gerekiyordu.Her iki yaklaşımdan yeniden uygulamak zor bulunuyordu.
Ileti düzenleme, işlemek için zor bir sorunu da geleneksel yapıldı.Örneğin, yetkiliye bir uygulama yüzlerce veya binlerce isteği için bir hizmet.Hizmet, paralel istekleri işler ve hizmetin isteği işleme tamamlanır tamamlanmaz bir yanıt verir.Her isteğin bir farklı işlemek için bir saat aldığından, uygulama, uygulama giden iletinin gönderildiği sırada ile farklı sırada yanıtları alır.Ancak, doğru yanıtları işlemek için , uygulama her yanıt doğru giden iletinin ile ilişkilendirmeniz gerekir.Geleneksel ileti sistemlerinde, her uygulama maliyetini ve karmaşıklığını uygulama geliştirmek için eklenen bu ilişkilendirmenin, yönetilen.
Hizmet Aracısı, ileti sırası, benzersiz teslim ve konuşma kimliği otomatik olarak işleme göre bu sorunları çözer.Görüşme, iki hizmet Aracısı bitiş noktası arasında kurulduktan sonra uygulama her ileti yalnızca bir kez ve iletinin gönderildiği sırada alır.Uygulamanızın iletileri yalnızca bir kez sırasıyla ek kodu olmadan işleyebilir.Son olarak, Hizmet Aracısı her iletiye otomatik olarak bir tanıtıcı içerir.Bir uygulama, her zaman belirli bir iletiye ait hangi konuşma söyleyebilirsiniz.
Gevşek bağlantı ve Workload esneklik
Hizmet Aracısı başlatan uygulama ve hedef uygulama arasında gevşek bağlantı sağlar.Bir uygulama üzerinde bir sıraya ileti gönderme ve ileti hedefine ulaştığından emin olmak için işleme, üzerinde Hizmet Aracısı güvenmek uygulamaya devam edin.Bu gevşek bağlantı planlama esnekliği sağlar.Başlatıcı, birden çok iletilerini gönderebilir ve paralel olarak birden çok hedef Hizmetleri bunları işleyebilir.Her hedef hizmet, geçerli iş yüküne bağlı olarak, kendi hızını iletilere işler.
Sıraya alma, sistemleri daha düzgün bir sunucunun gerektirdiği en yüksek kapasite azaltma işleme dağıtmak sağlar.Bu, genel iş ve veritabanı uygulamalarının performansı iyileştirebilir.Örneğin, birçok veritabanı uygulamaları kaynak tüketimini artırır ve yanıt süreleri Yavaşlatma günün belirli zamanlarda hareketlerde bir akım vardır.Uygulamaya gönderildiğinde Hizmet Aracısı'ile bu uygulamaların tüm işlemler için bir iş hareketi gerçekleştirmemeyi.Bunun yerine, uygulama Hizmet Aracısı, arka plan işlemi gerçekleştirme uygulamalar hareketle ilgili bilgileri göndermek için kullanır.Bu uygulamaları hareketleri bir dönemdeki güvenilir bir şekilde işlemek saat, yeni iş hareketleri almak, ana girdi uygulama devam ederken.
Hedef hemen kullanılabilir durumda değilse, ileti gönderen veritabanı için iletim kuyruğunda kalır.Hizmet Aracısı, iletinin başarıyla gönderilene kadar veya görüşmenin yaşam süresi dolmadan görüşmesi sırasında bir hizmetin belirli bir noktada geçici olarak kullanılamıyor olsa bile, iki hizmet devam etmek güvenilir bir konuşmaya izin iletinin yeniden dener.Iletim sıradaki iletileri veritabanının parçası; Hizmet Aracısı örnek yerine çalıştırır veya yeniden başlatılıyor bile, iletiyi teslim eder.
Ilgili ileti kilitleme
Geleneksel bir ileti uygulamasında yapmanın en zor bir şeyden biri birden çok program, aynı sırada paralel okumaya izin vermek için yapıldı.Birden çok program ya da birden çok iş parçacığı aynı kuyruktan okunurken geleneksel ileti gönderme ve alma sistemlerini iletileri sırasız işleme.Bu durum, aracılığıyla oluşmasını Hizmet Aracısı engeller konuşma grubu kilitleme.
Uygulama işleme geleneksel bir siparişi göz önünde bulundurun.BIR ileti sipariş başlığı ve sipariş satır öğelerini, oluşturma hakkında yönergeler içeren, ileti B oluşturma hakkında yönergeler içeren her ikisi üzerinde sıraya alınan.Bu iletiler her iki ayrı uygulama örnekleri tarafından dequeued ve aynı anda işlenen saat, sipariş satırı öğe hareketinin önce tamamlanması ve siparişi henüz olmadığından başarısız deneyebilir.Başarısızlık sırayla geri almak almak ve requeued ve yeniden işlenen ileti işleme neden olan kaynak israfına.Geleneksel olarak, programcılar, tek bir iletiye ileti B ve bilgileri BIR iletiden birleştirerek bu sorunu çözdü.Bu yaklaşımın iki iletilerde basit olmakla birlikte, bu yaklaşım, hatalı onlarca veya yüzlerce iletileri düzenlemekten gerektiren sistemleri için ölçeklendirir.
Hizmet Aracısı, ilgili görüşmeler ilişkilendirerek bu sorunu çözdü. bir konuşma grubu.Bu iletiler de yalnızca alınan ve bir uygulama örnek tarafından işlenen Hizmet Aracısı aynı konuşmaya grubundaki tüm iletileri otomatik olarak kilitler.Bu arada, uygulamanın diğer örneklerini sıradan çıkarma ve diğer Konuşma gruplarındaki iletileri işlemeye devam edebilirsiniz.Bu, kilitleme uygulama kodu karmaşık gerekmeksizin, güvenilir ve verimli bir şekilde çalışması birden çok paralel uygulama örneği sağlar.
Otomatik etkinleştirme
Hizmet Aracısı'ın en yararlı özellikleri etkinleştirme biridir.Etkinleştirme, dinamik olarak kendisini sıradaki gelen iletiler hacmini eşleşecek şekilde ölçeklendirmek bir uygulama sağlar.Hizmet Aracısı, veritabanı içinde çalışan programlar hem de programları etkinleştirme olanaklarından yararlanacak şekilde veritabanı olanak tanıyan özellikler sağlar.Ancak, Hizmet Aracısı bir uygulamanın etkinleştirme kullanmanız gerekmez.
Hizmet Aracısı, aktiviteyi bir uygulamanın tüm iletiler için kullanılabilir olan konuşmaları iletileri aldığını belirlemek için bir sıra izler.Hizmet Aracısı etkinleştirme, çalışmayı gerçekleştirmek sıra okuyucu olduğunda yeni bir sıra Okuyucu başlatılır.Iş için bir sıra okuyucu olduğunda belirlemek için , Hizmet Aracısı sıraya izler.Sıra okuyucular numarasını, gelen trafik eşleştiğinde, sıra düzenli olarak burada kuyruk boştur ya da sıradaki tüm iletileri başka bir sıra okuyucu tarafından işlenmekte olan bir görüşmeye ait bir durum da çıkmaktadır.Başka bir sıraya bu durumu bir saat boyunca ulaşma değil, Hizmet Aracısı etkinleştirir örnek uygulamanın.
Uygulamalar, veritabanı içinde çalışan programlar ve veritabanının dışında çalışan programları için başka bir etkinleştirme yöntemi kullanın.Veritabanı içindeki programlar için sıra tarafından belirtilen saklı yordam bir başka kopyası Hizmet Aracısı başlatır.Veritabanının dışında çalışan programları Hizmet Aracısı etkinleştirme olay oluşturur.Program, başka bir sıra okuyucu gerekli olan belirlemek için bu olay izler.
Hizmet Aracısı etkinleştirme ile başlatılan programı durdurur.Bunun yerine, etkinleştirilmiş uygulamaları kapatmaya yazılır kapalı otomatik olarak belirli bir saat alınabilmesi için gelen tüm iletileri vermeden sonra.Bu şekilde tasarlanmış bir uygulamayı sayısına büyütmek ve trafiği, hizmet değişiklikleri dinamik olarak sıkıştırmak için uygulama izin verebilirsiniz.Sistem kapatılır veya yeniden başlatılıncaya, ayrıca, uygulamaları otomatik olarak sistem yeniden başlatıldığında, sıradaki iletileri okumak için başlatıldı.
Bu davranış geleneksel ileti gönderme ve alma sistemlerini yetersizliğinden ve en çok olan ya da son'fazla veya çok az kaynakları belirli bir sıraya herhangi bir anda sık ayrılmış.
See Also