Tôi đang phát triển máy chủ 'proxy' trong Chế độ tiết kiệm. Vấn đề của tôi là, mỗi kết nối đến proxy đều sử dụng cùng một cá thể của Trình xử lý. Việc thực hiện máy khách của proxy nằm trong Handler, vì vậy tất cả các máy khách đều liên lạc với cùng một kết nối đến máy chủ kết thúc.Tiết kiệm - phiên bản Trình xử lý khác nhau cho mỗi Ổ cắm
Tôi có: n khách hàng -> n ổ cắm -> 1 trình xử lý -> 1 socket -> 1 máy chủ Tôi muốn thực hiện: n khách hàng -> n socket -> n trình xử lý -> n ổ cắm -> 1 máy chủ
Bây giờ vấn đề là nếu một khách hàng thay đổi một tham số 'cục bộ' (một cái gì đó được xác định cho mỗi khách hàng một cách độc lập) trên máy chủ, các máy khách khác cũng sẽ làm việc với môi trường đã thay đổi.
shared_ptr<CassProxyHandler> handler(new CassProxyHandler(adr_s,port_s,keyspace));
shared_ptr<TProcessor> processor(new CassandraProcessor(handler));
shared_ptr<TServerTransport> serverTransport(new TServerSocket(port));
shared_ptr<TTransportFactory> transportFactory(new TFramedTransportFactory());
shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory());
TThreadedServer server(processor, serverTransport, transportFactory, protocolFactory);
server.serve();
Có cách nào để triển khai máy chủ, tạo một phiên bản mới của Trình xử lý cho mỗi socket máy chủ thay vì sử dụng cùng một trình xử lý không?
Thanks cho bất kỳ gợi ý hay giúp đỡ, @
Bạn đã từng đặt yêu cầu vé/vấn đề/tính năng @ apache tiết kiệm chưa? Tôi nghĩ rằng điều này cũng có thể được sử dụng để cho phép giao tiếp song công/hai chiều rất dễ dàng. – BatteryBackupUnit