Hizmet Aracısı geliştirme için planlama

Tasarlanırken, aşağıdakileri gözden bir Service Broker Uygulama:

  • Giriş ve çıkış uygulamanızdan beklenen hacmi ve türü ile ilgili ölçütleri.

  • Önerilen uygulama gereksinimleri.

Bu etkenler anlamak, iş hedeflerinizi karşılayan bir sistem geliştirebilirsiniz.

Denetim planlama

Uygulamanızın planlarken, aşağıdaki soruları göz önünde bulundurun:

  • Hangi role Hizmet Aracısı, uygulamanızda çalmak?

    Bu sorunun yanıtını uygulamanızın kullandığı ileti türleri, uygulama yapısını ve uygulamanızın gereksinimlerini saklama ve işleme planlamanıza yardımcı olur.

    Örneğin, uygulamanızın kullanabilirsiniz Service Broker kaynakları, bunları işlemek kullanılabilir olana kadar kuyruklardaki iletilerin depolayarak ani ileti geliş kurları içinde çalıştığınız için . Bu durum, uygulamanızın kullandığı ileti türleri, giriş ve çıkış varolan uygulamanın yakından eşleşmelidir.Depolama ve varolan iş yüküne bağlı olarak uygulamanızın gereksinimlerini işleme hesaplayabilirsiniz.

    Yeni bir uygulama tasarlıyorsanız, buna ek olarak, hangi işlemleri en'dan yararlanabilir dikkatlice Service Broker. Kullanma Service Broker Genellikle, en iyi tahmin edilebilir işlem süreleri kapalı trades durum return için geleneksel bir uygulamayı tamamen başarısız olur, güvenilirlik.

    Örneğin, bir çevrimiçi sipariş girdi uygulaması tamamen sırası olarak işlemek ve sıraya gönderilen son onayı anda olmayabilir.Bunun yerine, uygulamayı son onay e-posta sırası işler ve bir servis siparişi gönderme.Bu Tasarımı'nı kullanarak, sipariş uygulaması bile bir siparişi teyit eden uygulamanın ağ sorunlarını önlemek için siparişleri kabul etmek devam edebilirsiniz.Ağ sorunları çözümlendikten, uygulama siparişleri işler.Bu durumda, uygulama için saklama ve işleme gereksinimlerini bekleniyordu, siparişlerin sayısını her sipariş iletinin ve her bir sipariş, işlenecek gerektirir saat boyutunu bağlıdır.

  • Hangi bilgilerin konuşmada istenen görevi tamamlaması için gerekir? Bitiş noktaları bu bilgileri her exchange iletileri şemaları nelerdir?

    Hizmetlerin çoğunun, semi-structured bilgi değişimi.Iyi bir seçimdir kodlama bu nedenle, XML.Ikili kodlama ikili dosyalarını resimler gibi değiştokuşu için yararlıdır.Iletinin geldiği olgu yalnızca bir ileti iletişim kurduğunda, boş bir ileti'yi kullanın.

    Doğru seçerek ileti türü, uygulama daha sonra güncelleştirmek daha az etkilenebilir.Kodlama ileti türüne bağlı olarak, güncelleştirmeler bir şey önemli kodlama uygulamanızda değişiklik yapmak için sahip bir XML şema dosyası güncelleştirmeye sahip olabilir.Şu anda gereksinim duymadığınız ancak gelecekte gerek beklediğiniz verileri öğeler varsa, bunları eklemek için anlamlı.Bu öğeleri şemada başlangıç ile tanımlarsanız, şema destekliyor musunuz değiştirmek gerekmez.

  • Burada, iletinizi çalıştırmak mantığını işleme olur?

    Uygulamanız tarafından etkinleştirilmiş bir saklı yordam olarak tasarlayabilirsiniz Service Broker, arka plan hizmet olarak zamanlanmış bir olay olarak veya bir harici Web uygulaması olarak. Son karar role bağlıdır, Service Broker uygulamanızda çalar. Örneğin, uygulamanızın öngörülebilir bir oranda gelen iletiler için sürekli bir akış işlerse, bir arka plan hizmet kullanıyor olabilir.Uygulamanızın dinamik olarak ölçeklenir gerekir, gelen iletilerin sayısına bağlı olarak, bir sıraya göre etkinleştirilen saklı bir yordam kullanabilirsiniz.Uygulamanız, küme bir defada bir sıra ve tüm iletileri işlemler içinde iletiler tutuyorsa, zamanlanmış bir olay, uygulamayı başlatmak için kullanabilirsiniz.

    Programınızı dışındaki bir veritabanına, Web sayfaları veya dosyalar gibi kaynaklara erişim gerekiyorsa, bir dış uygulama kullanabilirsiniz.Sunucularda mid-tier yerine veritabanı sunucu işleme oluşur çünkü bir harici Web uygulaması kullanarak, uygulamanızın ölçeklenebilirliğini artırabilirsiniz.Ölçek kullanan bir uygulama dışında kolaydır Service Broker, çünkü Service Broker Uzak işlem sıraları erişim sağlar. Gönderebileceğiniz herhangi bir uygulama Transact-SQL Veritabanı ve işlem komutları bu sonuçlar kullanabilirsiniz Service Broker.

    Her dış sıra kullanan diğer programlardan ayrı programıdır.Bu nedenle, dış program sıraya erişim yönetmek için özel önlemler gerekmez.Uygulama bir iletiyi işlerken bağlantı başarısız olursa, ayrıca, işlem geri alır ve Service Broker iletinin sıraya döndürür. Ağ sorunları, uygulamanın ileti kaybetmenize neden olamaz.

  • Uygulamanızın uygulamak için planladığınız hangi teknoloji

    Veritabanına bağlanmak ve çalıştırabilirsiniz teknoloji kullanarak bir dış uygulama uygulayabilirsiniz. Transact-SQL deyimleri SQL Server. Ancak, uygulamalar genellikle, geliştirilen bir .NET Framework-uyumlu bir dil ve ADO.NET. You can implement a stored procedure in either Transact-SQL or one of the .NET Framework-compatible languages.Transact-SQL can provide better performance against the Database Engine.CLR uyumlu diller sağlayabilir, daha iyi esnekliği, program akışı daha sıkı bir denetim, daha iyi performans için işlemci yoğun uygulamaları ve doğrudan erişim .NET Framework.

  • En çok hangi sunucu bileşenleri uygulamanızın kullanacak?

    En iyi uygulama performansı elde etmek için yeterli kaynaklara sahip olduğunuzdan emin olmak için sistem yöneticinizle birlikte çalışın.En sık kullanacağınız hangi bileşenlerin bilirsiniz.Örneğin, uygulamanızın işlem yükünü de dahil olmak üzere kuyruklar kullanır veya üzerinde ileti saklama kapatır, sıranın büyüyebileceği yeterli disk alanı olduğundan emin olun.Bunun tersi olarak, yüksek, birimleri, ancak alt sıra bekleme süreleri iletileri olan bir uygulama daha fazla ağ bant genişliği kullanır, ancak daha az disk alanı tüketir.

  • Farklı önceliklere sahip iletileri?

    Yoğun olarak yüklenmiş sistemleri Service Broker Konuşma öncelikleri önemli iş daha az önemli iş büyük miktarlarda engellendi sağlamak. Konuşma öncelikleri, hizmet farklı düzeylerini destekleyen bir tasarım de sağlar.