2011-12-20 31 views
12

Tôi đang cố gắng thực hiện một số nghiên cứu để tìm ra tùy chọn tốt nhất để quản lý phiên trong môi trường đa máy chủ và đã tự hỏi những gì mọi người đã tìm thấy thành công và lý do tại sao. Ưu và nhược điểm.Điều gì sẽ được sử dụng để quản lý phiên?

RDBMS - Chậm hơn. Sử dụng tốt hơn cho các dữ liệu khác.

Memcached - Bạn không thể lấy xuống một máy chủ memcached mà không làm mất buổi

Redis - Sửa chữa các vấn đề của memcached, nhưng những gì về khả năng mở rộng dễ dàng? Lỗi dung sai?

Cassandra - Có khả năng chịu lỗi tốt. Ưu và nhược điểm?

MongoDB, Khác?

Cảm ơn!

Trả lời

7

Cá nhân, tôi sử dụng Cassandra để duy trì dữ liệu phiên php. Nó lưu trữ nó trong một cột duy nhất trên một hàng duy nhất với session_id: {session_data_as_json} và tôi đặt TTL trên cột để nó tự động dọn rác. Làm việc một điều trị.

tôi đi cùng cassandra vì nó có tất cả các dữ liệu người dùng khác đã ... Đối với bộ nhớ đệm, tôi kích hoạt APC trên tất cả các máy chủ web kết thúc trước và đã không có bất kỳ vấn đề ...

Đây có phải là phương pháp tốt nhất? Không chắc. nó phù hợp với mục đích cho môi trường, công nghệ và quy tắc kinh doanh mà tôi cần để đáp ứng. ...

Side lưu ý, tôi đã bắt đầu làm việc trên một php bản địa -> phiên cassandra handler: https://github.com/sdolgy/php-cassandra-sessions - điều này cho thấy cách TTL của được thiết lập với PHPCassa và Cassandra

5

Redis - Sửa chữa các vấn đề của memcached, nhưng những gì về dễ dàng của khả năng mở rộng? Lỗi dung sai?

Hỗ trợ Redis replication và sắp tới cluster cũng phải hỗ trợ phân đoạn dữ liệu trên nhiều nút.

0

Một chút trễ, nhưng có thể ai đó quan tâm đến việc theo dõi. Chúng tôi đang sử dụng Cassandra như cửa hàng phiên của chúng tôi và truy cập nó thông qua mùa xuân-phiên (với một nhà phát triển mùa xuân-phiên-cassandra addon). Các đối tượng trong phiên được sắp xếp/không được sửa đổi thông qua Kryo (https://github.com/EsotericSoftware/kryo).

Thiết lập này cho chúng ta một get phiên giữa 1 và 2 ms và lưu dưới 1ms:

enter image description here

enter image description here

Nhưng tùy thuộc vào tải vòng có một số giá trị ngoại biên trong thời gian phản ứng :

enter image description here

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