2009-04-08 32 views
7

Trong dòng công việc của tôi khó có thể đi năm phút mà không ai đó làm nổi bật những phẩm chất của MQ Series hoặc MSMQ hoặc những thứ tương tự, và tôi luôn tự hỏi, sau khi các buzzwords lấp lánh, một số ví dụ thực tế là thiết bị trong thế giới thực.Ai đó có thể giải thích nhà môi giới tin nhắn nào được sử dụng không?

Điều tôi đang tìm kiếm là thứ có thể truyền cảm hứng cho tôi để tìm cách sử dụng cho một trong số này hoặc cho tôi một số loại số liệu mà tôi có thể sử dụng để đánh giá hàng đợi tin nhắn/tin nhắn/tin nhắn - địa ngục, thậm chí cái gì đó sẽ giải thích sự khác biệt giữa thông điệp nói trên * mọi thứ.

+0

Trong kinh nghiệm gần đây của tôi với một công ty khác, họ tồn tại để phá vỡ mọi thứ và giữ nhiều người hơn sử dụng theo dõi các vấn đề. Tôi cũng hy vọng rằng khi được sử dụng đúng cách, chúng sẽ hữu ích cho một thứ gì đó. – JeeBee

Trả lời

11

Các giải pháp xếp hàng thư như MQ Series hoặc MSMQ được sử dụng rộng rãi để tích hợp các ứng dụng doanh nghiệp được phân phối, đặc biệt là chạy trên các nền tảng khác nhau. Thực hiện quyền (với hàng đợi liên tục, thiết kế không đồng bộ thay vì 'RPC qua MQ' và chú ý đến yêu cầu hoạt động), điều này cung cấp cho bạn khả năng sẵn sàng cao cao so với tích hợp yêu cầu/trả lời đồng bộ như RPC hoặc dịch vụ web soạn sẵn. về tính khả dụng tương ứng: tích hợp mười hệ thống với 99% tính khả dụng đồng bộ cung cấp cho bạn tính sẵn có kết hợp không quá 90% - hoặc tệ hơn nếu chỉ có một liên kết yếu). Tâm trí bạn, điều này đòi hỏi hàng đợi tin nhắn để có sẵn cao trong bản thân mình: chúng tôi sử dụng máy tính lớn của chúng tôi cho mục đích đó (hãy đoán xem sản phẩm nào chúng tôi đang sử dụng!).

Nhà môi giới nhắn tin (hoặc tích hợp) và 'xe buýt' là một loại cá phức tạp hơn. Họ có thể thêm

  • dịch giữa cơ quan đại diện khác nhau nội dung (mã hóa văn bản và các trang code)
  • giám sát, phát hiện khi một hệ thống mục tiêu không nhấc xếp hàng đợi thông điệp và nâng báo động hoặc tự động khởi động lại
  • chuyển đổi, khi hệ thống không 'nói cùng một ngôn ngữ' và đại diện ví dụ khách hàng hoặc hồ sơ sản phẩm khác nhau: điều này về nguyên tắc có thể giúp bạn triển khai phiên bản mới với các mức giá khác nhau
  • định tuyến (tối đa và bao gồm xuất bản/đăng ký) để tách hệ thống gửi khỏi hiểu biết chi tiết của người nhận, do đó giảm tác động của thay đổi trong hệ thống đích
  • phối hợp, nơi bạn có thể phối hợp thông điệp giữa một số hệ thống để theo dõi quy trình kinh doanh thực tế lâu hơn (ví dụ: từ đơn đặt hàng đến giao hàng đến lập hóa đơn).

Tôi đã liệt kê các chức năng này theo thứ tự tăng dần độ khó (và phần thưởng tiềm năng). Bạn càng nhận được càng cao, tổ chức của bạn càng trưởng thành hơn (bao gồm cả mặt kinh doanh) cần phải đạt được những lợi thế.

4

Không tham gia cụ thể về các sản phẩm cụ thể, tôi có thể cung cấp cho bạn một số lợi ích khi sử dụng hệ thống xếp hàng thông báo điển hình.

Chúng thường là cơ sở hạ tầng tốt để mô phỏng mẫu nhà xuất bản/người đăng ký. Hãy nghĩ về một hệ thống sự kiện lớn, nơi bạn không bị giới hạn ở một hệ thống thực thi, hay thậm chí là một máy. Bạn đặt thông tin vào các hàng đợi này, sao cho dữ liệu có thể được thu thập bởi bất kỳ ứng dụng nào đang lắng nghe nó.

Hầu hết các hệ thống xếp hàng thư đều cho phép hàng đợi liên tục. Hãy nghĩ về một hệ thống sự kiện điển hình. Nếu người nghe bị ngắt kết nối hoặc không phản hồi tại thời điểm diễn ra sự kiện thì sự kiện sẽ bị bỏ qua. Với hàng đợi tin nhắn liên tục, tin nhắn sẽ vẫn còn trong hàng đợi cho đến khi người nghe được kết nối lại. Không có dữ liệu/sự kiện nào bị mất theo cách này.

Tôi không biết về các sản phẩm bạn đã liệt kê, nhưng tôi biết với JMS bạn có thể có quyền kiểm soát tốt đối với luồng khi thư được xuất hiện từ hàng đợi. Về lý thuyết, bạn có thể có một chuỗi cho mỗi hàng đợi, thực hiện các hành động trong chuỗi đó, trên các tin nhắn khi chúng được kéo ra. Ngoài ra, bạn có khả năng kéo tin nhắn từ nhiều hàng đợi và thực hiện các thao tác trên chúng, tất cả trong một chuỗi được chia sẻ.

4

Trong khi tôi có một trải nghiệm rất cay đắng với MQ Series một phần do thực tế rằng nó đã được công ty hợp tác đẩy vào cửa hàng Microsoft, việc sử dụng MQ Series (hoặc bất kỳ hệ thống nhắn tin nào) là một tích phân một phần của ứng dụng.

Về cơ bản, chúng tôi đang xây dựng một quy trình xử lý toàn bộ chuỗi cung ứng cho các mục đặt hàng sau. Nếu đối tác của chúng tôi là nhà phân phối không có các mặt hàng mà khách hàng của họ muốn, họ sẽ gửi một thông điệp vào một trang web B2B, điều đó sẽ nhắm mục tiêu các công ty tiềm năng có thể đáp ứng được thứ tự.

Chúng tôi đã xây dựng hai hương vị tích hợp khác nhau. Đầu tiên là một cách tiếp cận ftp, trong đó các tệp chiều rộng cố định được gửi đi lại đều đặn và chúng tôi đã thêm tất cả các loại quy tắc để giúp đảm bảo chúng tôi không bỏ lỡ bất kỳ dữ liệu nào.

Thứ hai là sử dụng MQ Series nơi các thông điệp được đặt vào hàng đợi bằng cách sử dụng phân phối bảo đảm. Sau đó, chúng tôi sẽ bật hàng đợi và xử lý các tin nhắn. Hệ thống xếp hàng là lợi ích lớn ở đây vì nó cho phép chúng tôi một cách đáng tin cậy để truyền tải thông điệp quan trọng dẫn đến tiền thật được di chuyển xung quanh.

Mặt khác với cùng dòng MQ, chúng tôi phải triển khai truy vấn đồng bộ để nhận thông tin. Chúng tôi muốn nó được đồng bộ bởi vì người dùng của chúng tôi truy cập thông qua web sẽ chờ để nhận thông tin. Làm điều này qua MQ Series là một thử thách rất thú vị và đau đớn. Lý do duy nhất MQ được sử dụng ở đây là bởi vì nó là một dòng truyền thông hiện có và chức năng truy vấn đã tồn tại.

Ví dụ thứ hai và lần này là sử dụng MSMQ là trang web thu thập thông tin từ mã dialhome được chèn vào ứng dụng khách. Mã dialhome sẽ thu thập số liệu thống kê sử dụng tính năng như chương trình SQM của Microsoft.Khi các tin nhắn được đưa vào dịch vụ web, chúng ta sẽ thả chúng vào một hàng đợi, Sau đó chúng ta có thể có bất kỳ số lượng các máy chủ ứng dụng nào xuất hiện các thông điệp và đẩy chúng vào cơ sở dữ liệu được cuộn vào kho.

MSMQ ở đây đảm bảo rằng chúng tôi có thể xử lý các cụm thông điệp bằng cách nhanh chóng đặt chúng lên hàng đợi. Điều này giúp khả năng mở rộng và độ tin cậy của hệ thống.

2

Hàng đợi thông báo hữu ích để thực hiện cân bằng tải. Ví dụ: máy chủ nhận được thông báo "công việc" (đơn đặt hàng, thông báo trạng thái ...) và phân phối chúng cho tất cả các ứng dụng khách nghe.

Hàng đợi tin nhắn đảm bảo rằng thư sẽ được gửi đến đúng một khách hàng.

Nếu khách hàng chạy trên các máy tính khác nhau, tổng tải sẽ được phân phối và sẽ dễ dàng ném một ứng dụng khách khác vào tải thư khi cần thiết, khách hàng chỉ cần kết nối với hàng đợi và sẽ nhận được (một số) các thông điệp.

3

Một hệ thống xếp hàng tốt giúp dễ dàng thực hiện tính toán phân tán qua nhiều luồng, bộ xử lý, máy móc, (& ngay cả các tổ chức).

Một thời gian sau (10 năm) Tôi đã sử dụng một tin nhắn gửi phép ẩn dụ để triển khai hệ thống định giá tùy chọn văn phòng cho nhà môi giới interdealer. Chúng tôi đã thực hiện các dịch vụ trong C++, VB6 và Excel/VBA (thậm chí sử dụng bộ giải Excel!), Lưu trữ dữ liệu dưới dạng tệp phẳng và sql, ứng dụng người dùng cuối được viết trong Excel và VB6, với mô hình dữ liệu phức tạp (dữ liệu thị trường, lợi nhuận đường cong và bề mặt vol). Nhắn tin không đồng bộ (với thông điệp liên tục/tin cậy và pub/sub) làm cho toàn bộ công việc hoạt động rất hiệu quả và có thể mở rộng - chúng tôi có thể thêm văn phòng Tokyo và NY vào cơ sở hạ tầng London mà không cần truy cập vào trang web từ xa.

Tôi là một người hâm mộ lớn mặc dù tôi ngạc nhiên về mức độ họ chưa từng đến trong 10 năm qua.

1

Một trong những "rất gần với requierement" ví dụ từ dự án thực tế. Ai chạy từ vài năm. Trên ActiveMQ

1) Trung tâm thương mại cho thị trường vận chuyển.

  • Hệ thống giao hàng có thể biết số lượng gói có thể gửi trong thời gian thực.

  • Mỗi hệ thống là khác nhau (ngôn ngữ, thiết kế ...)

  • chúng tôi đã viết một bộ chuyển đổi cho mỗi compagny "hệ thống CNTT rất đặc biệt với ActiveMQ"

  • Mỗi adapter có một công việc đơn giản để làm : đăng khi compagny có không gian trống và với mức giá nào. ("đề xuất vận chuyển")

  • Chúng tôi đã viết một khách hàng thu thập tất cả "đề xuất giao thông" và hiển thị chúng một cách độc đáo.

=> Ta-da. bạn có hệ thống nền tảng/ngôn ngữ/quy trình chéo, đối với những người không muốn nói chuyện với nhau

=> Ta-da 2: Nếu một công ty mới muốn tham gia vào hệ thống thương mại của bạn, họ chỉ phải viết bộ điều hợp.

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