text: Title: Why does Flask-SocketIO require sticky sessions? (and standard practices)
  Body: Hi, 
  I was wondering why are sticky sessions required for hosting flask-socketio server. From my understanding, sticky sessions are basically used to route a request to the same server where the session originated. 
  
  1,) (this might be trivial since I am fairly new to backend development) -- why do you need sticky sessions for multiple workers in the same server. Isn't it possible for them to share session information? 
  
  2.) I wanted to confirm - the eventlet flask-socketio server doesn't use multiple workers by default right?
  
  3.) To store the session id's I am using a dictionary in flask app with keys as a random unique id for each client and values as session-id as follows.
  
  ```
  app = Flask(__name__)
  app.clients = {}
  
  # SocketIO
  socketio = SocketIO(app)
  
  @socketio.on('connect', namespace='/custom')
  def events_connect():
      userid = str(uuid.uuid4())
      session['userid'] = userid
      current_app.clients[userid] = request.sid
      emit('userid', {'userid': userid})
  ```
  
  Is there a suggested/standard approach to store the room information? I believe this should be thread-safe and should work even if I use multiple workers.
  
  Thanks,
  