Sự khác biệt giữa Nhà môi giới tin nhắn và ESB


126

Tôi đã trải qua các câu hỏi / bài viết khác nhau về Message Broker và ESBs (Ngay cả trên stackoverflow). Vẫn không phải là một đầu mối như sự khác biệt phân định rõ ràng giữa Nhà môi giới tin nhắn và ESB là gì? Bây giờ ở đây tôi đang cố gắng so sánh các sản phẩm, Websphere Broker và Mule ESB !!

Thứ nhất, (bất kỳ phiên bản nào) Nhà môi giới Webshere là ESB? Những người làm sản phẩm IBM của chúng tôi tuyên bố nó là ESB! (Tôi không ngạc nhiên về điều đó).

Thông tin hạn chế của tôi cho tôi biết rằng Nhà môi giới tin nhắn hoạt động trên mô hình HUB-SPOKE. Tuy nhiên ESB hoạt động trên kiến ​​trúc xe buýt. Bây giờ những gì trên trái đất có nghĩa là? Tôi đã đọc hơn nếu HUB thất bại (tôi đoán là không có) thì người môi giới hoàn toàn thất bại. Đó không phải là trường hợp của ESB (Vì vậy, những người đó nói). Điều tôi không hiểu ở đây là "Điều gì xảy ra nếu xe buýt" thất bại?

Bây giờ những thứ thông thường về ESB và Nhà môi giới là, họ cung cấp định tuyến, chuyển đổi, phối hợp, v.v. Vì vậy, nếu cả hai đều cung cấp cái này, thì tại sao tôi lại chọn cái này.

Một lĩnh vực khác của xung đột là liên quan đến SỰ CHUYỂN ĐỔI. ESB có tạo điều kiện cho nó theo một cách khác khi so sánh với Nhà môi giới thư không? Tôi thực sự sẽ yêu một số cái nhìn sâu sắc về điều này.

Bây giờ nói về tỉ lệ HORIZONTAL. Ai vượt trội hơn ai? Hoặc cả hai đều có khả năng mở rộng như nhau về độ phức tạp (hoặc bất kỳ yếu tố nào khác). Tất nhiên, chi phí khôn ngoan, Nhà môi giới Webshpere sẽ tính phí cho bạn cho mỗi hộp (huống chi là mỗi cpu). Tôi tin rằng, ngay cả MULE ESB thương mại cũng không làm điều đó. Bỏ qua phần Chi phí của nó, ý nghĩa của việc chia tỷ lệ ESB và mở rộng Trình môi giới thư. Tôi tình cờ biết bạn có thể mở rộng đến Cấp độ dịch vụ trong ESB. Đây có phải là có thể trong một môi giới tin nhắn?


Trên thực tế, Mule cũng có giấy phép cho mỗi CPU / lõi.
Udi Dahan

Câu trả lời:


28

Bạn có thể sử dụng một nhà môi giới chuyển đổi mà không cần xe buýt dịch vụ và ngược lại. Về các sản phẩm cụ thể, tôi không nghĩ bất kỳ sản phẩm nào hoàn toàn là cái này hay cái kia vì cách mỗi sản phẩm bổ sung cho nhau. Một số sản phẩm mạnh hơn ở một khu vực, mạnh hơn ở một khu vực khác. Có lẽ một sự lựa chọn cần phải được thực hiện dựa trên chức năng nào phù hợp nhất với một vấn đề riêng lẻ.

Một nhà môi giới có thể có các "khối lego" tích hợp tốt hơn để xây dựng chuỗi chuyển đổi so với sản phẩm ESB. Một nhà môi giới bị ép vào dịch vụ như một ESB có thể bị nghiền nát dưới tải và không có quy mô tốt, hoặc có thể thiếu nhật ký và công cụ mạnh mẽ để xử lý các tạp chí.

Một số ESB cho phép các bản cập nhật cơ sở dữ liệu được khôi phục và hàng đợi được phát lại vào một ứng dụng đã được sửa chữa một khi lỗi nghiêm trọng trong logic đã được phát hiện và sửa chữa. Tôi không nghĩ rằng hầu hết các nhà môi giới tích hợp mức hỗ trợ giao dịch đó. Để điều này hoạt động ở tất cả các "giao dịch" của bạn gần như phải là các sự kiện kinh doanh (bán, đổi mới, thay đổi quyền sở hữu, v.v.) chứ không phải là một cái gì đó như "cập nhật cơ sở dữ liệu" của RPCish.


5
Tôi vừa viết một bài đăng blog mô tả các yếu tố tích hợp thường được quy cho xe buýt dịch vụ, bao gồm cả các khía cạnh chuyển đổi của nó: udidahan.com/2011/04/08/integration-how-and-where
Udi Dahan

23

Tuyên bố miễn trừ trách nhiệm: Tôi là một nhà tư vấn của IBM và chuyên về WebSphere ESB. Nhận xét này không để lại trong bất kỳ khả năng chính thức.

Một ESB là một mô hình hoặc khái niệm kiến ​​trúc hơn là một sản phẩm - nói chung, một cách thức kỹ thuật khớp nối lỏng lẻo dựa trên dịch vụ. Định nghĩa của nó được đấu tranh và không chính xác được đặt trong đá. Nói chung, ESB được thiết lập các dịch vụ không liên quan (theo nghĩa kỹ thuật) - chúng phơi bày các giao diện và chúng tiêu thụ chúng từ các dịch vụ khác. Nói chung không có một trung tâm và kiến ​​trúc nói liên quan, mặc dù có thể có.

IBM chắc chắn tiếp thị cả WebSphere Message Broker và WebSphere ESB như các sản phẩm giúp dễ dàng xây dựng ESB (cùng với thiết bị phần cứng DataPower). Họ có nguồn gốc công nghệ khác nhau, nhưng có một số mục đích chồng chéo. Ngoài ra, điều đó không có nghĩa là bạn không thể xây dựng ESB với nhiều thứ khác không được gắn nhãn là 'sản phẩm ESB'.

Điều đó không trả lời tất cả các câu hỏi của bạn, nhưng hy vọng sẽ giải quyết được phần của IBM.


Cảm ơn Andrew. Tôi rất vui khi biết bạn là một chuyên gia về WebSphere ESB. Tôi có một điều rõ ràng .ESB không phải là một sản phẩm và là một quan điểm kiến ​​trúc cơ bản: A BUS. Bây giờ, nếu ESB chỉ hoạt động từ năm 2002 trở đi, Tại sao nó thậm chí được đặt ra? Tôi tin rằng có rất nhiều tranh luận về việc ai đã "Phát minh ESB". Nếu Nhà môi giới Websphere có thể "làm" tất cả mọi thứ "một ESB làm, thì tại sao lại tuyên bố đó là sản phẩm ESB? Sách đỏ chỉ cho bạn "Cách triển khai" ESB với Nhà môi giới websphere.
Franklin

7
Tôi thực sự không biết nếu đây là một tương tự tốt. Người giúp việc nhà chúng tôi nấu ăn cho tôi. Mẹ tôi cũng sẽ nấu ăn cho tôi. Tuy nhiên, tôi không thể gọi mẹ tôi là một vận động viên giúp việc, cô ấy làm nhiệm vụ của một cô hầu gái, tôi có thể (Nếu tôi làm như vậy, đó là kết thúc của bữa tối)? Có một sự khác biệt cơ bản không thể vượt qua?
Franklin

Nhà phân tích phần mềm trung gian cao cấp nhất của Gartner, Roy Schulte đã khẳng định rằng: "Tổ tiên trực tiếp nhất của ESB là sản phẩm của Roma từ năm 1998, sau này được gọi là Nến Pathwai." Nến đã được IBM mua lại vào tháng 4 năm 2004 - một điều trớ trêu sẽ không bị mất trên cả Phần mềm Tibco hay Sonic, vì IBM mới chỉ bắt đầu tuyên bố rằng nó cũng có ESB của riêng mình - Steve Mills của IBM nói với ComputerWire rằng: "Tôi biết rằng chúng tôi [có ESB], thực tế tôi đã cung cấp chức năng ESB trong nhiều năm. "
Franklin

1
Đọc ai là người ở đây "Nhà phát minh ESB" RIDDLE GIẢI QUYẾT businessreviewonline.com/blog/archives/2005/08/ chủ đề
Franklin

19

Sự khác biệt giữa Nhà môi giới thư và ESB (Xe buýt dịch vụ doanh nghiệp) chủ yếu là từ 'xe buýt'.

Đối với tôi, Nhà môi giới thư là một quá trình (rất lớn) giúp chuyển đổi dữ liệu từ cấu trúc này sang cấu trúc khác hoặc sửa đổi nội dung.

ESB là một phần mềm trung gian hướng thông báo (MOM) cộng với các dịch vụ bổ sung, một trong số đó có thể là Nhà môi giới thư. Vì vậy, ESB có thể bao gồm Nhà môi giới thư như một trong các thành phần của nó. Xe buýt bao gồm nhiều hơn một quy trình, nếu không tôi sẽ không gọi nó là "xe buýt". Bản chất của xe buýt là có nhiều thành phần phục vụ các nhiệm vụ khác nhau, mỗi thành phần giao tiếp qua một MOM và tuân thủ một số dạng 'định dạng dữ liệu chung'. Một chiếc xe buýt sẽ bao gồm: các ứng dụng gửi dữ liệu đến MOM, bộ điều hợp cơ sở dữ liệu, Trình môi giới tin nhắn, cầu nối MOM, v.v.

Sự tách biệt là một chút dần dần, nhưng sự khác biệt lớn nhất giữa kiến ​​trúc Message Broker và Bus là độ chi tiết . Nếu nhiệm vụ của bạn là tích hợp các ứng dụng A, B, .., Z và một vài cơ sở dữ liệu, bạn có thể thực hiện việc này với một Nhà môi giới thư lớn kết nối mỗi và mọi người. Hoặc với ESB nơi nhiều thành phần nhỏ đảm nhận chỉ các nhiệm vụ nhỏ. Ví dụ: một bộ chuyển đổi kết nối với A, một bộ chuyển đổi khác đến B (nhưng chúng không thực hiện chuyển đổi), sau đó mỗi bộ chuyển đổi nội dung của chúng đến một (hoặc nhiều) Trình môi giới tin nhắn, mỗi bộ nên được giữ đơn giản nhất có thể - ví dụ: phải biết về mô hình dữ liệu của 'A' hoặc 'B'. Một ESB tốt nên có định nghĩa dữ liệu chung trên xe buýt, trừu tượng hóa từ 'sự khác biệt' của các ứng dụng riêng lẻ.

CHUYỂN ĐỔI: ESB không giúp chuyển đổi, trừ khi nó đi kèm với Nhà môi giới thư. Nhưng mỗi ESB tốt nên bao gồm một Nhà môi giới thư. Nhà môi giới tin nhắn phải là chuyên gia về xe buýt của bạn để chuyển đổi, nhưng không có gì khác.

Chia tỷ lệ HORIZONTAL: nếu bạn chỉ có 3 thứ để kết nối (bây giờ và mãi mãi), có lẽ không đáng để nỗ lực để có được một ESB toàn diện. Một môi giới tin nhắn có lợi thế là chỉ là một quá trình lớn. Bạn có thể định cấu hình mọi thứ trong đó và có một vị trí trung tâm cho tất cả ánh xạ dữ liệu, lọc và định tuyến.

Nhưng nếu bạn có 30 ứng dụng để kết nối, một Message Broker có thể sẽ dừng hoạt động. Tất nhiên bạn có thể mua nhiều phiên bản hơn, chạy những thứ dư thừa, v.v. nhưng bạn nên thay đổi chiến lược của mình để 'bản địa hóa' công việc. Mỗi bộ điều hợp của ứng dụng (có thể là một ví dụ Nhà môi giới thư nhỏ) có thể tạo và / hoặc nhận một mô hình dữ liệu chung được trừu tượng hóa (ví dụ: XML với XSD được chia sẻ). Cũng có thể có một Trình môi giới thư trung tâm cho các tác vụ chuyển đổi, nhưng trường hợp đó không nên biết về mô hình dữ liệu A hoặc B. Vì vậy, ESB nên chuyển việc xử lý sang thành phần chuyên gia thay vì giữ mọi thứ ở vị trí trung tâm.


15

Tôi mới đọc bài viết này của Udi Dahan vài ngày trước, có thể cho bạn cái nhìn rõ ràng hơn về những gì tôi cảm thấy là một sự khác biệt cơ bản.

http://www.udidahan.com/2011/03/24/bus-and-broker-pubub-differences

Trích dẫn:

Quy tắc chỉ có thể có một nhà xuất bản duy nhất cho một loại sự kiện nhất định là một trong những điều phân biệt xe buýt với các nhà môi giới, mặc dù cả hai rõ ràng cho phép bạn có nhiều người đăng ký

...

Thật không may, có nhiều công nghệ kiểu môi giới ngoài kia đang được bán trên thị trường dưới biểu ngữ của Enterprise Service Bus. Mặc dù một số sản phẩm có khả năng được triển khai theo cả kiểu tập trung và phân tán (đôi khi được gọi là chế độ nhúng được liên kết hoặc chế độ nhúng nhúng), nhiều người không thi hành điểm cuối xuất bản duy nhất theo quy tắc loại hình sự kiện.

Không có sự ràng buộc này, nó chỉ là quá dễ dàng để phạm sai lầm.

Hy vọng nó giúp.


Đây là một bài viết tuyệt vời, nhưng không đề cập đến ESB ngoại trừ trong các bình luận.
NealWalters

6

Bus dịch vụ doanh nghiệp cung cấp ba giá trị chính cho doanh nghiệp:

  1. Định tuyến giao dịch dựa trên bối cảnh hoặc nội dung;
  2. Chuyển đổi từ một miền tin nhắn hoặc vận chuyển sang một miền tin nhắn hoặc vận chuyển khác;
  3. kết nối dịch vụ nhiều-nhiều.

ESB cung cấp dịch vụ ghép nối lỏng lẻo, cho phép các dịch vụ được hoàn nguyên thành các bối cảnh ứng dụng hoàn toàn khác so với khi các dịch vụ được hình dung hoặc phát triển lần đầu tiên và thúc đẩy việc sử dụng lại các ứng dụng mà không cần phải mã hóa lại các ứng dụng. Nhà môi giới tin nhắn WebSphere (hay bây giờ được gọi là IBM Integration Bus) là một ví dụ điển hình của Bus dịch vụ doanh nghiệp. Để biết ví dụ về tính đơn giản của mã mang lại sức mạnh lớn trong một vài dòng, bạn có thể xem bài đăng của tôi ở đây: http://soabus.org/viewtopic.php?f=3&t=13 . Cấu trúc cơ bản bên trong thời gian chạy IIB được gọi là Cây thông điệp logic(LMT). Tất cả mọi thứ mà nhà phát triển muốn làm là một số loại hoạt động trên LMT. ESQL là ngôn ngữ hiệu quả nhất mà nhà phát triển có thể sử dụng để thực hiện các hoạt động này trên LMT, mặc dù nhiều ngôn ngữ khác được hỗ trợ (ví dụ: Java, PHP, Python, v.v.) Không có sản phẩm nào khác gần với hiệu quả và dễ dàng phát triển ESB các ứng dụng hơn IBM Integration Bus vì 90 phần trăm mã hóa của các ứng dụng này được thực hiện bằng cách kéo và thả các nút vào một pallet. Điều đó chỉ còn lại 10 phần trăm mã hóa được thực hiện bởi nhà phát triển Message Flow. Nhân tiện, WebSphere ESB đã bị IBM ngừng cung cấp và nhiều sản phẩm cạnh tranh với IBM Integration Bus đã không thấy bất kỳ sự phát triển mới nào về chúng trong vài năm nay. Một danh sách các dịch vụ sản phẩm ESB khác nhau có thể được xem tại soabus.org.


Các liên kết trong câu trả lời này trỏ đến soabus.org không còn giải quyết nữa - chúng được chuyển hướng đến archmule.com.
tatlar

2

IBM đã từng thay đổi tên của dịch vụ ESB của họ, vì vậy tôi sẽ không đi vào tên hoặc nhà cung cấp.

ESB cho phép thông tin doanh nghiệp lưu chuyển giữa các ứng dụng khác nhau trên nhiều nền tảng phần cứng và phần mềm. ESB là một lớp phần mềm trung gian chứa logic kết nối ứng dụng và tối thiểu để KHÔNG logic kinh doanh. Điều này cho phép các ứng dụng thực hiện những gì nó hoạt động tốt nhất mà không phải lo lắng về việc nhúng bất kỳ logic kết nối nào về cách tương tác với số N ứng dụng khác yêu cầu dữ liệu từ nó. Kiến trúc ESB cố gắng giải quyết vấn đề spaghetti điểm tới điểm trong một doanh nghiệp.

ESB và Message Broker là loại từ đồng nghĩa với nhau, tuy nhiên vì một trong những câu trả lời ở trên đã nhấn mạnh rằng mẫu Message Broker là một phần của miền ESB lớn hơn. Chữ "B" trong ESB tương tự như bus (phần cứng) trong kiến ​​trúc máy tính. Xe buýt trên bo mạch chủ hoặc trong máy tính kết nối các thành phần khác nhau để hoạt động của máy tính. ESB là một xe buýt dựa trên phần mềm kết nối các dịch vụ khác nhau trong một doanh nghiệp. Hub và speak là một trong những mẫu được hỗ trợ bởi kiến ​​trúc ESB. Trong thế giới nguyên khối, mỗi nhà cung cấp có kiến ​​trúc triển khai sẵn có cao để đảm bảo ESB có sẵn. Các dịch vụ gần đây của bất kỳ nhà cung cấp ESB nào là về mô hình triển khai dựa trên microservice hoặc được lưu trữ trên đám mây của riêng họ được gọi là iPAAS. Vì vậy, điều này đảm bảo rằng Bus sẽ không bao giờ thất bại hoặc tạm thời thất bại với việc tự phục hồi dựa trên mô hình triển khai của bạn được chọn. Với việc triển khai dựa trên microservice hoặc iPAAS, ESB giờ đây có khả năng tự động mở rộng (theo chiều ngang hoặc chiều dọc) với các tính năng khác nhau dựa trên nhà cung cấp đã chọn.

Đối với các khả năng ở mức rất cao mà ESB cung cấp, bạn có thể đi qua liên kết sau => https://en.wikipedia.org/wiki/ Entryprise_service_bus

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.