Добрый день,
Предположим написал сервлет ( или на спринге сделал веб сервис через @RequestMapping) и запускаю в Tomcat.
Предположим набижало 10к юзеров.
- Томкат будет создавать 10к потоков? Или в очередь поставит, начиная с n-ого? в конфигах это прописывается?
- Предположим сервлет лезет в БД. Как правильно делать? Connection Pool?
- Как кэшировать данные, ну скажем первый сервлет в первом же запросе вытащил данные из БД, какую то общую часть для всех хотелось бы закешировать. Это делать в ServletContext? Если хочу использовать какой то кэш ну типа memcache допустим, то он будет расшарен между всеми экземплярами сервлета?
- когда экземпляр сервлета заканчивает работу ( ну или выходит из метода помеченного @RequestMapping ) он уничтожается полностью? И нет возможности передать что-то другому экземпляру сервлета?
- Всей много поточностью рулит контейнер сервлетов ( томкат) и самому создавать потоки в теле метода @RequestMapping крайне не рекомендуется? В каком случае надо там создавать потоки?
- вся логика сервлета происходит в синхронном режиме? ну то есть я полез к БД тяжелым запросом, и все встанет колом? ( сервер перестанет реагировать на 10001 запрос клиента)? Как разрулить это? Неиспользовать апач/томкат, а юзать jetty / undertow / nginx ?
Большое спасибо! ( если есть толковая статья где это все разжевано - буду благодарен, но плз только не талмуд на 1000стр)