2016-08-28 11 views
5

Tôi có dịch vụ dàn nhạc theo dõi các phiên bản đang chạy và yêu cầu mà họ đang xử lý. Nếu một cá thể mới là bắt buộc, tôi thực hiện một cuộc gọi REST để tăng các cá thể và chờ cho cá thể mới kết nối với dàn nhạc. Đó là một yêu cầu cho mỗi trường hợp.Hành vi khi giảm các trường hợp của một ứng dụng Bluemix

Người dàn nhạc theo dõi xem một cá thể đang làm gì và biết trường hợp nào có thể dừng lại, tuy nhiên không có gì trong API cho phép tôi giảm số lượng cá thể dừng một cá thể cụ thể. .

Có điều gì tôi có thể làm để thao tác nền tảng thành xác định dừng các phiên bản mà tôi muốn dừng không? Có lẽ do yêu cầu HTTP chạy dài đến các trường hợp tôi yêu cầu và giết chết yêu cầu khi nó không còn cần thiết, sau đó thực hiện cuộc gọi API để giảm số lượng các cá thể?

Một phần của vấn đề ở đây là tôi không biết chi tiết cụ thể về hành vi hiện tại ...

Trả lời

1

Giả sử bạn đang nói về CloudFoundry/ứng dụng Runtime tức thì, tất cả các trường hợp của một ứng dụng đang chạy phía sau bộ cân bằng tải sử dụng vòng tròn để phân phối các yêu cầu trong các trường hợp (trừ khi bạn đã thiết lập cookie mối quan hệ phiên). Việc phân biệt giữa mỗi trường hợp cho các yêu cầu đến hoặc chia tỷ lệ thủ công không được khuyến nghị và nó là một mẫu chống. Bạn không thể kiểm soát trường hợp nào mà tác vụ giảm kích thước sẽ chọn.

Nếu bạn thực sự muốn mức kiểm soát đó với từng trường hợp, có thể bạn nên triển khai chúng dưới dạng các ứng dụng riêng biệt. MyApp1, MyApp2, MyApp3, vv Tất cả các ứng dụng của bạn có thể có cùng một tuyến đường (myapp.mybluemix.net). Mỗi ứng dụng giờ đây có thể tự phân biệt bằng tên của chúng (VCAP_APPLICATION) cho phép bạn chấm dứt chúng.

+0

Không có yêu cầu nào được thực hiện cho một phiên bản; khi nó bắt đầu nó làm cho một yêu cầu cho các orchistrator cho "công việc". Sau khi hoàn thành, nếu không có thêm công việc, tôi muốn giảm số lượng các trường hợp đang chạy. Vấn đề là, tôi có thể có trường hợp khác xử lý "làm việc" và tôi không muốn chúng được tắt máy khi tôi giảm số lượng các trường hợp của một. Có một ứng dụng riêng biệt sẽ hoạt động ở đây, nhưng khi tôi muốn tăng số lượng ứng dụng - nó sẽ trở thành một cơn đau một lần nữa vì tôi phải thực hiện một ứng dụng hoàn toàn mới. – Cheetah

+0

Tôi đoán tôi cần biết thuật toán mà theo đó CF/Bluemix chọn trường hợp nào cần dừng ... để thao tác nó theo nhu cầu của tôi. – Cheetah

+0

Bạn đã điều tra một nền tảng không cần máy chủ như OpenWhisk cho ứng dụng của mình chưa? Nó có thể phù hợp hơn Cloud Foundry. Dịch vụ ứng dụng chỉ được thực thi khi có yêu cầu, bạn không có trường hợp nào chờ đợi để thực hiện công việc. Nền tảng có thể thực hiện nhiều dịch vụ song song để xử lý mở rộng quy mô. Bạn có thể liên kết các dịch vụ của mình để nghe các luồng sự kiện bên ngoài và được gọi theo yêu cầu khi các sự kiện mới xảy ra. –

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