Введение: MongoDb NoSQL
Загрузите исходный код здесь .
Как и многие из вас, у меня также возник вопрос, что такое облачные вычисления? Я начал гуглить, скачал несколько инструментов, поиграл с ними и теперь понимаю несколько концепций.
В этом разделе я буду обсуждать одну из ключевых концепций облачных вычислений — Платформа как услуга, также известная как PaaS или облачная платформа. В основном облачная платформа обеспечивает поддержку разработки в локальной среде, а развертывание в удаленной среде и облачной платформе будет «самоанализом», с каким веб-сервером / какой базой данных должно работать приложение. Позвольте мне проиллюстрировать это диаграммой
В этом пространстве мало ведущих игроков, таких как Salesforce.com ( Heroku , Force.com ) и Microsoft ( Azure ). Недавно VMware вошел в это пространство со своим собственным Cloudfoundry . Исходя из фона Java, это хороший инструмент для понимания деталей облачной платформы. Он хорошо интегрирован с STS IDE и немного глючит, но есть обходные пути.
В этом разделе обсуждается,
- Как Cloudfoundry Cloud Platform поддерживает WebServer и базу данных
- Как Cloudfoundry Cloud Platform помогает в заполнении базы данных
- Развертывание на платформе Cloud
- «клей», чтобы сообщить облачной платформе о веб-сервере и базе данных
- «клей» для генерации данных dbschema и Seed
подробности
Я расскажу вам простой пример использования Spring MVC и MongoDB , где вы выполняете базовую операцию CRUD для таблицы person. MongoDB является базой данных на основе документов, которая используется для хранения большого объема данных, также имеет возможности Map / Reduce , аналогичные Hadoop .
Чтобы быстро начать это,
- Получить последний код
- Скачать установщик Ruby для Windows
- Установите vmc, выполнив эту команду «gem install vmc»
- Загрузите файл Micro Cloudfoundry vmx и запустите его в VMwarePlayer.
- Запустите команду maven ‘ mvn clean package’
Поддержка Cloudfoundry:
Поддержка WebServer и базы данных : Cloudfoundry Поддерживает SpringSource tc Server, а также поддерживает Jetty, если используется с Maven. База данных, поддерживает MySQL, vPostgres и MongoDB. Он имеет возможность анализировать контекстный файл Spring и понимать, какой тип приложения базы данных поддерживает, если у вас есть компонент с типом «org.apache.commons.dbcp.BasicDataSource», и он может связать его с соответствующей базой данных. Если это MongoDB, ему нужна фабрика mongo-db, как показано в этом примере.
Заполнение начальных данных базы данных . Обычно, если в вашем приложении есть конфигурация «jdbc: initialize-database», Cloudfoundry выполнит этот сценарий в своей связанной базе данных.
Конфигурация в приложении:
Развертывание в Cloudfoundry. Существует два способа развертывания кода в Cloudfoundry: командная строка и STS IDE.
Если вы хотите развернуть и запустить приложение с помощью командной строки VMC, вам нужно сделать следующее:
Move to the target folder vmc target http://api.{instancename}.cloudfoundry.me vmc push give the application name as ‘spring-mongodb’ Bind to ‘mongodb’ Save configuration Now open the browser and type ‘http://spring-mongodb.{instancename}.cloudfoundry.me/’
Если вы хотите развернуть и запустить приложение из STS IDE, вам нужно сделать следующее:
- Чтобы настроить STS для работы с Cloudfoundry, перейдите по этой ссылке .
- Импортируйте проект maven в ваш STS
- Создайте новый Cloudfoundry Server и добавьте приложение spring-mongodb, опубликуйте войну приложений на хосте Cloudfoundry и просмотрите ваши изменения.
- Вы также можете получить доступ к удаленной системе для журналов ошибок и файлов, как упомянуто в блоге SpringSource, упомянутом выше
Клей, чтобы сообщить Cloudfoundry о базе данных:
Основные изменения, которые вы должны внести в свое приложение для работы с Cloudfoundry,
- Maven изменения
<!-- CloudFoundry --> org.cloudfoundry cloudfoundry-runtime ${org.cloudfoundry-version}
- Конфигурация Mongodb
Клей для генерации данных dbschema и Seed в Cloudfoundry:
Вы можете создать Bean-компонент InitService с методом init и добавить все начальные данные, необходимые для приложения, как показано ниже:
public class InitService { private MongoTemplate mongoTemplate; public MongoTemplate getMongoTemplate() { return mongoTemplate; } public void setMongoTemplate(MongoTemplate mongoTemplate) { this.mongoTemplate = mongoTemplate; } private void init() { Person p = new Person (); p.setId(UUID.randomUUID().toString()); p.setFirstName("John"); p.setAge(25); mongoTemplate.save(p); p = new Person (); p.setId(UUID.randomUUID().toString()); p.setFirstName("Jane"); p.setAge(20); mongoTemplate.save(p); .. }
В контексте bean-компонента определите bean-компонент, как показано ниже:
За исключением этих изменений, все остальное такое же, как и у любого другого приложения Spring MVC.
Путь вперед, вы можете получить образцы Cloudfoundry . Используя Git utlitiy, вы можете клонировать это на своем локальном компьютере. Есть простой пример hello-spring-mysql ; Вы можете быстро понять, как работает приложение на основе MySQL, используя этот пример.