2011-12-29 30 views
7

Chúng tôi đang xem xét sử dụng OSGi được phân phối trong môi trường doanh nghiệp của chúng tôi.
Chúng tôi sẽ có các thiết lập sau:OSGi được phân phối - cách thích hợp để quản lý nhóm trên tất cả các vùng chứa là gì?

  • 10 đến 100 Thùng chứa OSGi trên nhiều máy chủ cung cấp các dịch vụ khác nhau.
  • Nhiều dịch vụ trong số này được cung cấp bởi nhiều hơn một vùng chứa.
  • Một số dịch vụ này có thể yêu cầu nhất quán trên tất cả các vùng chứa (cùng một phiên bản được triển khai).

Cách thích hợp để quản lý vòng đời của gói (cài đặt, bắt đầu, cập nhật, dừng, gỡ cài đặt) trên tất cả các vùng chứa là gì?

Một số yêu cầu:

  • Như có thể có rất nhiều container, tất cả trong số họ cần được xử lý với nhau; tức là khi tôi sắp cập nhật một gói, một lệnh sẽ cập nhật tất cả các vùng chứa nơi gói đó đã có.
  • Lệnh phải lặp lại: đầu tiên thực hiện lệnh trên hệ thống kiểm tra và sau đó lặp lại cùng một lệnh trên hệ thống sản xuất khi kiểm tra hoàn tất.

Tôi đánh giá cao bất kỳ đề xuất nào về câu hỏi trên.

Trân trọng, Marton

+0

Làm tất cả các thùng chứa OSGi này xây dựng một thùng chứa OSGi phân phối lớn nơi dịch vụ A trên máy chủ X có thể sử dụng dịch vụ B trên máy chủ Y giống như trên cùng một máy chủ X không? hoặc chúng được tách ra với nhau và bạn chỉ có 10-100 container OSGi bạn muốn duy trì? và tất cả chúng đều giống như 10-100 container OSGi có tất cả các gói giống nhau và bạn muốn gửi một lệnh (như "cài đặt") cho tất cả các thùng chứa OSGi này cùng một lúc? Hoặc là họ khác nhau rằng máy chủ X có một container OSGi với N bó và container OSGi trên máy chủ Y có một bộ khác nhau của bó? – Progman

+0

Đây là một môi trường OSGi phân phối lớn: dịch vụ A trên máy chủ X có thể sử dụng dịch vụ B trên máy chủ Y. Mỗi vùng chứa có thể có một bộ gói khác nhau. Cảm ơn! –

+0

Tôi sẽ cố gắng xây dựng hệ thống như vậy bằng cách sử dụng Apache Karaf (vì nó cung cấp cách dễ dàng để tự động hóa các lệnh và quản lý dễ dàng các gói). Tôi sẽ thiết lập nó với một kho lưu trữ được chia sẻ, vì vậy bất cứ khi nào tôi cập nhật một gói, tất cả các thời gian chạy sẽ nhận nó. Karaf được thiết kế để hỗ trợ thực hiện các lệnh từ các kịch bản lệnh, do đó không khó để viết các kịch bản lệnh cần thiết, điều này sẽ quản lý hệ thống. Tuy nhiên, bạn sẽ không nhận được giao dịch phân phối. Tại một số thời điểm, sẽ có các phiên bản không phù hợp và tôi không nghĩ rằng có một giải pháp cho điều này hiện tại. –

Trả lời

2

Về mặt quản lý số lượng lớn các bó, nhìn vào tính năng Karaf - họ rất đơn giản hóa việc xử lý chủ yếu là dãy phòng của bó.

Đối với bên được phân phối của mọi thứ, hãy xem tiểu dự án Karaf Cellar, nó tập hợp Karaf bằng HazelCast (và cài đặt ở Karaf thông qua cơ chế tính năng).

7

Bạn có thể muốn xem xét các giải pháp "được quản lý" khác được tạo cho môi trường giống như đám mây: Apache ACE hoặc người anh lớn hơn Amdatu.

Apache ACE chuyển một Vùng chứa OSGi duy nhất thành các vùng chứa được quản lý có thể kiểm soát trạng thái từ một điểm quản trị duy nhất. Amdatu là một khuôn khổ hoàn chỉnh hơn bao gồm ACE cho việc cung cấp nhưng thêm chức năng ngang.

+0

Lưu ý rằng Apache ACE vừa mới tốt nghiệp là Dự án Apache cấp cao nhất, do đó liên kết (vẫn còn trong không gian Vườn ươm) có thể không hợp lệ trong thời gian dài. –

+1

Liên kết sẽ vẫn hợp lệ và chỉ cần chuyển hướng đến vị trí mới. –

2

Nếu bạn nghiêm túc về doanh nghiệp sẵn sàng - có nghĩa là "mạnh mẽ" - phân phối thời gian chạy OSGi - sau đó có một cái nhìn tại vải dịch vụ Paremus. Chúng tôi đã thực hiện điều này từ năm 2005 :)

Kiến trúc cung cấp/quản lý của Service Fabric cực kỳ có thể mở rộng (>> 1.000 vùng chứa), đáp ứng và ổn định! Một vài năm phát triển và kinh nghiệm thời gian chạy thương mại làm nền tảng cho sản phẩm này. Kiến trúc Fabric Service hỗ trợ nhiều ứng dụng dựa trên OSGi được phân phối đồng thời. Kiến trúc của Fabric Service là trung tâm OBR; kỹ sư trưởng của chúng tôi chịu trách nhiệm về các hoạt động đặc tả OBR liên minh OSGi gần đây.

Bảng nối đa năng tin dịch vụ Vải thúc đẩy giao thức nhắn tin DDS - IMO là đối tác tự nhiên cho OSGi được phân phối.Paremus RSA (triển khai dịch vụ từ xa) là một việc thực hiện phòng sạch của tiêu chuẩn - rất mạnh mẽ, trọng lượng nhẹ và cho phép khả năng cắm động của các nhà cung cấp giao thức và phân phối. Nhà cung cấp khám phá mặc định - lại là DDS.

Cuối cùng - và vải dịch vụ hoạt động ngoài hộp.

+0

Các liên kết sau có thể được quan tâm - http://www.slideshare.net/mfrancis/the-dawn-of-composite-clouds-why-osgi-is-the-most-important-ingredient-in-the-next -generation-of-java-compute-cloud-richard-nicholson & http://www.slideshare.net/mfrancis/cloud-osgi-the-dawn-of-composite-clouds & và trình bày trừu tượng hơn một chút http://www.slideshare.net/mfrancis/complexity-components-clouds-paremus – Richard

1

Trong Gyrex chúng tôi sử dụng p2 để phân phối các gói trên các nút khác nhau của cụm. Có thể kiểm soát các gói nào nên được cấp phép cho nút nào bằng cách sử dụng các thẻ nút và biểu thức lọc LDAP (phổ biến trong OSGi). Ví dụ: chỉ có thể cài đặt (và kích hoạt) các gói web trên các nút web.

Hỗ trợ dịch vụ được phân phối là not available out-of-the box. ECF cần được tích hợp thủ công.

+0

tính đến tháng 4 năm 2016 có vẻ như công việc chỉ đi trên máy chủ http://git.eclipse.org/c/gyrex/ –

+0

Tất cả mã đã được hợp nhất thành một kho lưu trữ Git duy nhất để bảo trì dễ dàng hơn. – Gunnar

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