2009-02-03 25 views
22

Khi tôi tham dự một bài thuyết trình của SQL Server 2008 tại Microsoft, họ đã nhanh chóng tìm ra những tính năng chúng tôi đang sử dụng. Hóa ra là trong toàn bộ giảng đường, công ty của tôi là người duy nhất sử dụng Dịch vụ môi giới. Điều này làm tôi ngạc nhiên rất nhiều, vì tôi nghĩ rằng nhiều người hơn sẽ sử dụng nó.Có ai đang sử dụng Nhà môi giới dịch vụ trong SQL Server không?

Kinh nghiệm của tôi với SB là nó hoạt động tốt, nhưng khá khó khăn để quản lý và thật khó để có được một cái nhìn tổng quan.

Vì vậy, bạn đã cân nhắc sử dụng Nhà môi giới dịch vụ chưa? Nếu không, tai sao không? Bạn đã đi cho MSMQ thay vào đó? Có bất cứ điều gì trong SQL Server 2008 mà sẽ làm cho bạn xem xét việc sử dụng môi giới dịch vụ.

+0

Tôi nghĩ rằng một trong những lý do mà nó vậy lại bị sử dụng là bởi vì các tài liệu và dụng cụ là một trong hai người nghèo hoặc không tồn tại. Các bài đăng trên blog phân tán và các ví dụ không đầy đủ không khuyến khích việc chấp nhận rộng rãi. Có một cuốn sách về chủ đề này, được viết cách đây bốn năm và, theo như tôi có thể nói, SQL Server 2012 không cung cấp cải tiến cho sản phẩm. Tất cả những điều này làm cho tôi khá miễn cưỡng sử dụng nó nhưng thay thế thực sự duy nhất mà tôi biết là MSMQ hoặc các sản phẩm tương tự. – 3Sphere

Trả lời

2

Gần đây tôi đã xem xét việc sử dụng Nhà môi giới dịch vụ cho một dự án, nhưng có, quyết định chuyển sang MSMQ thay thế.

Kiến trúc của chúng tôi bao gồm một số máy chủ (được nhóm), mỗi máy chủ cần ghi thông tin vào một phiên bản SQL duy nhất một cách đáng tin cậy.

Như tôi đã hiểu, SB chỉ hoạt động cho giao tiếp SQL đến SQL, vì vậy chúng tôi sẽ cần một phiên bản SQL trên mỗi hộp nhóm. Chúng tôi cảm thấy điều này là một chút không cần thiết, do đó sử dụng MSMQ

Thành thật mà nói, tôi không thể nghĩ về một kịch bản mà tôi sẽ sử dụng SB - Tôi muốn biết thêm một chút về kịch bản của bạn, để xem nếu tôi thiếu cái gì đó quan trọng.

+1

Hàng đợi SB được lưu trữ bên trong Cơ sở dữ liệu SQL, nhưng bất kỳ máy chủ nào có thể truy cập cơ sở dữ liệu đều có thể sử dụng chúng. Vì vậy, bạn chỉ thực sự cần một cơ sở dữ liệu trung tâm để lưu trữ các hàng đợi trên đó. –

+1

Thông báo truy vấn SQL (http://msdn.microsoft.com/en-us/library/ms130764.aspx) chưa được đề cập ở đây nhưng nó là một khu vực rộng lớn sử dụng cho Nhà môi giới dịch vụ. Nó cung cấp một cơ sở hết hạn bộ nhớ cache tuyệt vời. – EBarr

12

Tôi đã sử dụng SB trong năm 2005 trong khoảng hai năm nay với một triển khai xử lý vài trăm nghìn thư mỗi ngày. Tôi có thể nói thách thức lớn nhất không phải là quá nhiều trong kiến ​​trúc mà là sự hiểu biết tất cả các sắc thái liên quan. Các tài liệu từ Microsoft là người nghèo với rất ít ví dụ thực tế. Remus Rusanu's blogs thực sự hữu ích trong việc thực hiện những việc như sử dụng lại hộp thoại và kích hoạt điều chỉnh thủ tục lưu trữ. Tôi đã tìm thấy nó thực sự quan trọng để tái sử dụng hộp thoại càng nhiều càng tốt (và làm việc thông qua tất cả các khóa liên quan tham gia với điều đó) cũng như xử lý nhiều tin nhắn nhận được như một tập hợp chứ không phải là một tại một thời điểm.

Giám sát SB có thể là một cơn đau. Bạn về cơ bản phụ thuộc vào một loạt các quan điểm hệ thống để cho bạn biết những gì đang xảy ra. Tin nhắn mồ côi là một nỗi đau. Chỉ có rất nhiều gotchas nhỏ có thể, tốt, getcha.

Bên cạnh các vấn đề và không có nhiều, tôi nghĩ nó thực sự hiệu quả hơn tôi mong đợi. Vì SB được tích hợp vào cơ sở dữ liệu, không có hàng đợi thông điệp riêng biệt nào để sao lưu bên ngoài cơ sở dữ liệu. Đó là tất cả giao dịch nhất quán. Hiệu suất là tốt. Đó là một giải pháp tuyệt vời.

Tôi sẽ sử dụng lại và sẽ tiếp tục sử dụng.

23

Tôi đã sử dụng SQL Service Broker kể từ một vài tháng sau khi SQL 2005 được phát hành. Chúng tôi sử dụng nó không ngừng ở đây gửi hàng trăm ngàn tin nhắn thông qua nó mỗi ngày.

Chúng tôi sử dụng nó để tải dữ liệu từ dàn bàn đến bảng sản xuất sao cho dịch vụ tải bảng dàn không phải chờ dữ liệu thực sự xử lý, nó có thể quay lại và tải nhiều dữ liệu hơn.

Chúng tôi sử dụng nó để xếp hàng xóa tệp khỏi hệ thống tệp. (Khi hàng bị xóa, tập tin cũng cần xóa.)

Ở các công ty trước đây tôi đã sử dụng nó để in tài liệu vay và séc đã được gửi cho khách hàng.

Tôi thậm chí còn sử dụng Nhà môi giới dịch vụ để thực hiện ETL từ cơ sở dữ liệu OLTP đến cơ sở dữ liệu OLAP để báo cáo thời gian thực.

Hầu hết mọi người (đặc biệt là DBA) không thích Nhà môi giới dịch vụ vì không có giao diện người dùng nào cho nó. Nếu bạn muốn sử dụng dịch vụ môi giới hoặc xem những gì nó làm bạn phải thực sự viết và chạy một số T/SQL.

+1

Jonas - Tôi có thể xác nhận cho MrDenny. Anh ấy khiêm tốn, nhưng nếu bạn cần bất kỳ sự trợ giúp nào của Nhà môi giới dịch vụ, bạn nên nói chuyện với anh ta và đọc blog của anh ấy - http://itknowledgeexchange.techtarget.com/sql-server/ –

5

Tại công ty hiện tại của tôi, việc sử dụng SB của chúng tôi hơi khác so với các áp phích khác. Chúng tôi sử dụng SB trong SQL2005 chủ yếu là một công cụ quản lý. Ví dụ, chúng tôi sử dụng nó để quản lý các bản cập nhật cho một nhóm nhỏ các bảng có thể thay đổi được hiện diện trong một số lượng lớn cơ sở dữ liệu không thay đổi. Tất cả các tin nhắn nằm giữa các dịch vụ đang chạy trên cùng một thể hiện và khối lượng tin nhắn rất thấp.

Kinh nghiệm của tôi với SB là nó có thể hơi "khó sử dụng" để thiết lập chính xác và, như bạn đã đề cập trong câu hỏi của bạn, thật khó để có cái nhìn tổng quan về trạng thái của SB vì không có một công cụ giám sát duy nhất .

Tuy nhiên, chúng tôi thấy nó cực kỳ có giá trị như một cách để tự động hóa rất nhiều tác vụ quản lý cơ sở dữ liệu theo cách đáng tin cậy và có thể truy nguyên.

-1

Nhà môi giới dịch vụ có thể được sử dụng trong các trường hợp khác nhau khi yêu cầu tự động hóa được thực hiện trong kiến ​​trúc phân tán. Các ứng dụng như vậy nhận sự kiện từ các thiết bị khác nhau và cần xử lý đáng tin cậy. Trường hợp các sự kiện từ thiết bị (phát hiện) hoặc cảm biến được sử dụng để xử lý logic tự động hóa. Để trao đổi dữ liệu giữa nhiều cơ sở dữ liệu hoặc ứng dụng.

Tôi hy vọng việc thực hiện có thể có nhiều bảo đảmđáng tin cậy với SB

+5

Tại sao lại downvote mà không có bình luận? Tôi chỉ không thích hành vi đó ... –

Các vấn đề liên quan