Tôi đang tìm một bộ cân bằng tải tốt để sử dụng với Tomcat. Ứng dụng của chúng tôi không lưu trữ bất cứ điều gì trong bối cảnh phiên vì vậy nó không phải là quan trọng để chuyển hướng đến cùng một máy chủ cho cùng một người dùng. Tôi chỉ đơn giản là giống như một cái gì đó mà có thể xếp hàng yêu cầu phong cách round-robin hoặc dựa trên tải máy inidividual của mỗi máy chủ. Tôi cũng muốn có thể thêm các máy chủ ứng dụng vào các máy chủ có sẵn để xử lý các yêu cầu mà không phải khởi động lại bộ cân bằng tải. Chúng tôi đang chạy ứng dụng trên Linux nếu có vấn đề.Giải pháp cân bằng tải Tomcat
Trả lời
Nếu tất cả bạn cần là một cân bằng tải phần mềm về sử dụng Linux Apache Webserver2, Mod-Jk và Tomcat Clustering:
Tại Webserver của bạn:
1) Cài đặt apache2 và modjk:
sudo apt-get install apache2 libapache2-mod-jk
sudo a2enmod jk
2) Tạo tệp "workers.properties" có sẵn cho apache2 của bạn. Trong một số trường hợp, ist tự động được tạo trong thư mục/etc/apache2 của bạn. Tập tin này được giữ lb cấu hình, tên nút, ip và cổng của máy chủ Tomcat của bạn, tức là .:
worker.list=balancer,lbstats
#node1
worker.node1.type=ajp13
worker.node1.host=NODE-IP
worker.node1.port=NODE-AJP-PORT
worker.node1.lbfactor=10
#more nodes here ... (change name in between)
#lb config
worker.balancer.type=lb
#turn off sticky session
worker.balancer.sticky_session=0
#add all defined node names to this list:
worker.balancer.balance_workers=node1
#lb status information (optional)
worker.lbstats.type=status
3) Tạo một phần Mod-Jk trong tập tin apache2 cấu hình của bạn, nếu nó chưa được tạo ra tự động.
JkWorkersFile /etc/apache2/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkShmFile /tmp/jk-runtime-status
JkLogLevel info
4) Gắn ứng dụng của bạn để cân bằng tải (apache2 cấu hình tập tin):
JkMount /MyApp balancer
JkMount /MyApp/* balancer
JkMount /modjkstatus lbstats
Tại máy chủ Tomcat của bạn:
5) Cài đặt tomcat sử dụng gói tarball (cách tốt hơn sau đó apt verison). Thay đổi server.xml:
- vô hiệu hóa trình kết nối http.
- bật trình kết nối AJP/1.3 và đặt cổng bạn đã xác định trong workers.properties cho nút này.
thêm jvmRoute với tên nút bên phải để các yếu tố "Engine":
<Engine jvmRoute="node1" ...
thêm một yếu tố "cluster" cho cấu hình đơn giản nhất
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" />
6) Triển khai ứng dụng của bạn cho tất cả các tomcats và thêm một phần tử phân phối vào web.xml của bạn.
<distributable/>
7) Đảm bảo máy chủ web có thể truy cập các cổng ajp trên máy chủ tomcat của bạn và không ai khác có thể.
8) Khởi động máy chủ web và máy chủ web lần lượt và kiểm tra nhật ký (/var/log/apache2/mod_jk.log).
9) Truy cập ứng dụng của bạn: http://mywebserver.com/MyApp
10) Kiểm tra (và từ chối truy cập đến) trang tình trạng lb http://mywebserver.com/modjkstatus
- 1. Cân bằng tải và phiên
- 2. Tải ứng dụng web cân bằng
- 3. Giải pháp bộ nhớ cache ASP.NET cho hệ thống cân bằng tải
- 4. Kinh nghiệm sử dụng cân bằng tải phần mềm so với cân bằng tải phần cứng?
- 5. SignalR và cân bằng tải
- 6. Apache + Tomcat với mod_jk: cài đặt maxThread khi cân bằng tải
- 7. Nginx Cân bằng tải lưu lượng cao
- 8. Cân bằng tải trong Amazon EC2?
- 9. pgpool2 cân bằng tải không hoạt động
- 10. Vấn đề với chuyển hướng HTTPS sang HTTP bằng trình cân bằng tải đàn hồi tới máy chủ Tomcat
- 11. Kẹp giấy + Rails với máy cân bằng tải
- 12. Cân bằng tải dựa trên cookie cho WebSockets?
- 13. Cân bằng Nash trong Python
- 14. Yêu cầu HTTPS của Symfony2 sau cân bằng tải EC2
- 15. Sự khác biệt giữa Clustering và cân bằng tải?
- 16. Tắt https để tải cân bằng với Spring Security
- 17. Cân bằng tải Nginx với ngược dòng SSL
- 18. Sao chép chỉ mục và cân bằng tải
- 19. Thực hiện Cân bằng tải Sử dụng Python
- 20. Tệp nhật ký IIS và cân bằng tải?
- 21. Đặt id theo dõi trong cân bằng tải nginx
- 22. Cân bằng tải (HAProxy hoặc khác) - Các phiên cố định
- 23. Stack không cân bằng!
- 24. cân bằng với mysql
- 25. Mất cân bằng trong việc tìm hiểu
- 26. Cách xóa bộ nhớ cache trên môi trường cân bằng tải Magento
- 27. Cách buộc node.js/express.js thành HTTPS khi nó đang chạy sau bộ cân bằng tải AWS
- 28. Cassandra - tải phía khách hàng cân
- 29. Cân bằng PCA với ggbiplot
- 30. cân bằng cây AVL (C++)
Làm thế nào lớn của một ứng dụng đang nói ở đây?Nếu nó chỉ đơn giản là hai máy chủ để xử lý tải, bạn có thể làm điều đó ở cấp độ máy chủ web. Nếu bạn đang xem 5+ máy chủ, bạn có thể muốn xem xét các giải pháp thương mại. – Sean
Có thể là 5 máy chủ. –