2014-10-21 16 views

Trả lời

3

Tôi nghĩ là vì nó mang đến cho bạn sự linh hoạt tuyệt vời khi thời gian mở rộng quy mô ứng dụng của bạn. Nếu bạn sử dụng tomcat bạn sẽ phải sao chép .war của bạn và thả nó bên trong một tomcat và sau đó tải cân bằng các yêu cầu của bạn để một trong hai người trong số họ.

Thay vào đó, nếu ứng dụng của bạn có một máy chủ http khép kín, bạn chỉ cần chạy một phiên bản khác trong một cổng khác và quên tất cả những thứ tomcat đó. Bạn vẫn sẽ phải cân bằng các yêu cầu của mình cho một trong các phiên bản ứng dụng của bạn, nhưng có vẻ thẳng hơn về phía trước.

+0

Bạn có thể sử dụng tomcat được nhúng hoặc cầu nối được nhúng để hiển thị dịch vụ của bạn –

7

Để hiểu các quy tắc xung quanh ứng dụng gắn thẻ và ứng dụng độc lập, bạn nên xem mọi thứ từ góc độ nền tảng được thiết kế để chạy các ứng dụng 12 yếu tố như Heroku hoặc Deis.

Các nền tảng này là ứng dụng mở rộng quy mô ở cấp quy trình. Khi các quy trình được mở rộng, nền tảng sẽ cố gắng đặt các công nhân bổ sung này vào lưới định tuyến để chúng có thể bắt đầu phân phối lưu lượng truy cập. Nếu ứng dụng không bị khép kín và, ví dụ, được kết hợp chặt chẽ với máy chủ Apache front-end sử dụng mod_jk - không thể mở rộng quy mô bằng cách chạy các quy trình công nhân bị cô lập hơn.

Ràng buộc cổng tồn tại để giải quyết vấn đề "môi giới cổng" ở cấp nền tảng. Nếu mọi nhân viên ứng dụng lắng nghe trên cổng 80 thì sẽ có xung đột. Để giải quyết vấn đề này, ràng buộc cổng là một quy ước trong đó ứng dụng lắng nghe trên một cổng mà nền tảng đã cấp phát - và được truyền vào như một biến môi trường $PORT. Điều này đảm bảo a) nhân viên ứng dụng lắng nghe trên cổng bên phải và b) nền tảng biết nơi định tuyến lưu lượng truy cập được dành cho công nhân đó.

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