2012-04-20 27 views
8

Hiện tại môi trường sản xuất của chúng tôi chạy JBoss 5.1 và chúng tôi đã tranh luận xem liệu giá trị của nó có di chuyển sang JBoss 7.1 hay không. Nếu nó là một nâng cấp máy chủ đơn giản, sau đó nó sẽ không là một vấn đề. Nhưng, thật không may, chúng tôi sẽ phải thay đổi cấu hình và điều đó sẽ tốn ít công sức. Ngoài ra, máy chủ của chúng tôi chạy trong một cụm và tôi đọc rằng JBoss 7.1 có hỗ trợ nhiều cụm hơn.Có đáng để nâng cấp lên JBoss 7.1 từ JBoss 5.1

Vì vậy, nó có đáng hay không?

Cảm ơn

Trả lời

12

Chúng tôi hiện đang ở trong tình trạng tương tự.

Dường như một rất nhiều thứ về mặt tích cực:

  • Chúng tôi sẽ phải di chuyển ra khỏi 5.1 tại một thời điểm. Chúng tôi cần đầy đủ hồ sơ và không có nhiều lựa chọn thay thế PMNM (GlassFish và có thể Geronimo). Điểm đó một mình có thể sẽ bán di chuyển vì PCI-DSS cấm chúng tôi sử dụng phần mềm EoL'd.
  • Cấu hình tốt hơn và đơn giản hơn nhiều. Nó không còn trải rộng trên 20 tệp XML mà bạn định cấu hình các khía cạnh trong các tệp XML nhưng một vị trí trung tâm. Tất cả các cổng được cấu hình ở một nơi trung tâm, không còn một tệp XSL nào chuyển đổi tệp server.xml nữa. Bạn có thể hiểu được tệp cấu hình mà không biết chi tiết triển khai của các lớp. Thật khó để đánh giá cao điều này nếu bạn chưa bao giờ định cấu hình JBoss.
  • Tính năng từ xa EJB không còn sử dụng luồng trên mỗi socket.
  • Xóa hệ thống phụ bạn không cần đến dễ dàng hơn nhiều.
  • Mô hình mã hóa lớp trông có vẻ lành mạnh và bạn có nhiều quyền kiểm soát thông qua jboss-deployment-structure.xml
  • Thư viện khách EJB trông được dọn dẹp nhiều hơn. Có tới 10 JAR từ 20, một nửa trong số đó là các gói OSGi (máy khách của chúng ta là một ứng dụng RCP Eclipse).
  • Mặc dù chúng tôi không quá vui mừng về Java EE 6 thay thế một số SLSB của chúng tôi với hạt @Singleton và một số SAR của chúng tôi với EJB hẹn giờ chắc chắn sẽ rất thú vị.
  • Khởi động nhanh hơn và ít sử dụng bộ nhớ hơn (ít nhất là cho một máy chủ trống hoặc triển khai nhỏ). Chúng tôi chưa thử nghiệm một triển khai lớn.
  • Thư mục triển khai là trống theo mặc định

Những điều mà chúng ta vẫn cần phải xem xét:

  • Chúng tôi là một chút lo lắng về hiệu suất Infinispan. Chúng tôi hiện đang sử dụng API TreeCache của JBoss Cache. Trong khi có một bộ chuyển đổi cho Infinispan cung cấp cùng một API một số bài kiểm tra lý thuyết cho thấy hiệu suất ghi tồi tệ hơn. Điều này chỉ áp dụng cho API cây của Infinispan.
  • ExternalContext không còn được hỗ trợ, chúng tôi hiện đang sử dụng nó để cư một cây JNDI từ nộp .bindings
  • JMX console đã biến mất, nếu bạn có bất cứ điều gì mà được xây dựng trên này nó cần phải được điều chỉnh, Sửa có thực sự là một cổng của JMX-Console có sẵn AS7-2227

Chúng tôi không chạy trong cụm sao nên tôi không thể nhận xét về điều đó.

Điều có lẽ sẽ là nỗ lực lớn nhất đối với chúng tôi là di chuyển tất cả các kịch bản lệnh shell (cài đặt, kiểm tra tích hợp, ...) tương tác theo cách này hay cách khác với JBoss.

Cập nhật

Chúng tôi đã di chuyển và nó chắc chắn giá trị nó. Một số cập nhật cho các điểm trên:

  • Thậm chí triển khai lớn cũng nhanh chóng với số lượng điều chỉnh tối thiểu.
  • Ghi nhật ký tập trung (Slf4j, JUL, JCL, Log4j,…) thực sự rất hay.
  • 7.1 có rất nhiều lỗi không sử dụng được đối với chúng tôi, vì vậy chúng tôi đang sử dụng 7.2/EAP 6.1 và có kế hoạch đến 7.3/EAP 6.2. Vẫn có phần lỗi công bằng nhưng chúng tôi có thể làm việc xung quanh chúng. Chúng tôi đặc biệt mong muốn kiểm soát truy cập dựa trên vai trò cho giao diện quản lý sẽ cho phép chúng tôi chạy các tập lệnh của mình với các đặc quyền tối thiểu.
  • Sẽ không có phiên bản GlassFish 4 được hỗ trợ để đặt dấu hỏi lớn lên đó để sử dụng sản xuất.
  • Tính năng bảo mật từ xa EJB ít linh hoạt hơn nhiều. Chúng tôi đã phải đưa vào một số cách giải quyết vì trước đây chúng tôi đã trộn các cuộc gọi EJB đã được xác thực và chưa được xác thực - điều này không còn khả thi nữa.
  • JEE 6 BOM POM từ JBoss là một túi hỗn hợp. Về lý thuyết nó là tốt đẹp bởi vì nó quản lý các phiên bản của tất cả các bạn phụ thuộc JEE. Trong thực tế, các tọa độ là khủng khiếp với phiên bản trong artifactId sẽ gây khó chịu khi chúng ta chuyển sang JEE 7. Ngoài ra, nó không phải là rất hữu ích khi bạn muốn bao gồm việc thực hiện một API JEE để thử nghiệm.
  • Cây Infinispan Hiệu suất API không phải là vấn đề.
  • Chúng tôi đã thay thế tập lệnh JMX-Console bằng tập lệnh DMR.

Cập nhật 2

  • Có một deadlock khi sử dụng EJB remoting qua SSL. Bế tắc này có mặt ngay cả trong EAP 6.2. Bây giờ chúng ta đang ở điểm khi chúng ta có một tập hợp các tính năng vá lỗi hoàn chỉnh từ WildFly thành AS 7.
1

Mọi thứ đang hoạt động trên JBoss 5.1.0 cho bạn? Bạn có thể sống với hiệu suất của mình không?

Tôi hiện đang trong giai đoạn nâng cấp từ JBoss 5.1.0GA lên JBoss 7.1.1 và nó không hề dễ dàng chút nào. Về cơ bản, bạn đang nâng cấp lên một máy chủ ứng dụng mới. Bạn sẽ cần phải ngân sách rất nhiều đô la cho nỗ lực này tôi đoán.

Có nói rằng JBoss 7.1.1 là rất nhanh so với 5.1.0 (khởi động ít nhất là ít nhất). Tôi nghĩ rằng trong 6 tháng tới (hoặc lâu hơn) hầu hết các vấn đề chuyển đổi và chuyển đổi "cứng" sẽ được khắc phục trong diễn đàn jboss hoặc thông qua các bản sửa lỗi. Vào thời điểm đó, bạn và nhóm của bạn có thể đánh giá lại nếu bạn muốn thực hiện việc di chuyển.

Chúc may mắn!

1

Nếu bạn đang sử dụng SSL, một lợi thế để nâng cấp là JBoss 7.1.1 chạy trên jdk 1.7, có hỗ trợ TLS 1.1 & 1.2, trong khi jdk 1.6 chỉ hỗ trợ tối đa TLS 1.0. JBoss 5 sẽ không chạy trên java 1.7, do đó bạn dễ bị tấn công BEAST.

1

Bất kể, tôi sẽ đợi một chút.

AS 5 là máy chủ EE5, AS 7.1 là máy chủ EE6 (và thông số EE6 được đưa ra vào năm 2009). Vì vậy, đó là rất nhiều công việc cho một môi trường thời gian chạy tuyệt vời mới, nhưng nó sẽ không cung cấp cho bạn bất kỳ khả năng kiến ​​trúc nóng.

WildFly 8.0.0.CR1 đã đến hạn và đó là máy chủ EE7 mang đến cho bạn nhiều tiện ích phát triển thú vị mới, như WebSockets và JAX-RS 2.0 (http://www.slideshare.net/dandreadis/2013-11devoxxwild-flybof). Các tính năng quản trị mới như Bản vá đơn lẻ. Và nó không chắc chắn rằng AS7-to-WildFly8 sẽ là một sự chuyển đổi siêu dễ dàng vì một số công cụ mới lớn được giới thiệu, như Undertow thay vì JBossWeb/Tomcat.

Nếu bạn phải đi, bạn phải đi - và nếu U gió xuống con đường chết 7.x, đừng quên để có được bàn tay của bạn trên thẻ 7.2.0.Final cải thiện nhiều (hàng trăm vấn đề tốt hơn là 7.1 .1). Nhưng nếu bạn nghĩ rằng bạn có thể bắt đầu phát triển/di chuyển ngay bây giờ bằng cách sử dụng bản phát hành Beta/CR và chờ một vài tháng để có bản phát hành WildFly 8.x.x ổn định, bạn có thể ngồi lâu hơn trước khi cập nhật lớn tiếp theo.

br, Jens

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