2013-09-01 6 views
1

Я разрабатываю приложение для Android и, наконец, iPhone эквивалентное приложение для обработки текста. Как и все приложения для обмена сообщениями, мое приложение отправляет и принимает сообщения. Я создал базовое приложение с Eclipse и ADT. Я разместил архитектуру ниже. Я начинающий парень, когда дело доходит до JAVA.android message app architecture требования к оборудованию

Это приложение хорошо работает с эмулятором и с моим устройством. Но я не знаю, как сделать это приложение масштабируемым. То, что я делаю, устанавливает соединение, когда сообщение попадает на веб-сервер и записывает информацию в mongoDB и закрывает соединение с БД. Когда мне нужно отправить сообщение на мобильный телефон, я устанавливаю соединение, получаю данные от mongodb и отправляю его в мобильное приложение, закрываю соединение с БД

Я имею в виду в фактическом производстве, если 100 или 10000 устройств отправьте сообщение серверу, на котором запущены службы, я не уверен, как обрабатывать этот запрос с помощью сервлета. Я не уверен, устанавливать ли соединение БД для каждого сообщения и получать запрос. Я считаю, что есть лучший способ сделать это.

Я хочу установить частное облако с остальным api, обрабатывающим 1000 запросов одновременно.

Может ли кто-нибудь дать мне представление о том, как это сделать. Является ли технологический стек, который я использую, является правильным или я что-то упускаю ?. Пожалуйста, дайте мне знать.

Спасибо за ваше время и предложения.

+0

Не удается опубликовать изображение из-за недостатка репутации. Сообщите мне, есть ли какая-либо информация, которая вам нужна. Спасибо за ваше время. –

+0

Я действительно не тот парень, которого можно спросить, но, возможно, вам понадобится пул соединений. Подключение к базе данных может быть дорогостоящим, и вы получаете только ограниченную сумму. – keyser

ответ

0

Ваш лучший вариант - написать тест производительности для эмуляции сценариев, о которых вы говорите (от 100 до 10 000 устройств, отправляющих сообщения) и посмотреть, как выглядят результаты. Вы хотите, чтобы думать о вещах, которые вы хотите проверить, например

  • Время отклика (например, делает увеличение времени отклика с увеличением числа соединений)
  • нагрузки сервера (делает процессор или другое аппаратное начало скрипит, когда вы делаете больше соединений)
  • Пропускная способность (это количество данных, вы можете передавать скомпрометирован, когда у вас есть несколько соединений)

вы не должны испытать все это в одном тесте, но выяснить, что важно для вас и написать соответствующий тест (или s то есть соответствующие тесты)

Полученные результаты зависят от аппаратного обеспечения, которое вы используете во время тестирования, но вы должны иметь представление о том, будет ли ваша архитектура обрабатывать виды нагрузки, которые вы ожидаете, или нужно ли его перепроектировать.

Я сделал быстрый google для «Написание тестов производительности Java» и «Проектирование тестов производительности REST», и есть много статей, вебинаров и обучения по подобным вещам.

+0

Большое спасибо Trisha –