Практическая работа №13 Развертывание реализации паттерна Ambassador и сервиса memcache для организации шардированного кэша
Download 468.92 Kb.
|
prak13 18
Практическая часть.
Сначала развернем memcache с помощью Kubernetes-объекта StatefulSet: Сохраните этот код в файле с именем memcached-shards.yaml, который можно развернуть командой kubectl create -f memcached-shards.yaml. В результате этого будут созданы три контейнера с запущенным сервисом memcached. Как и в примере с Redis, намтакже необходимо создать Kubernetesсервис, который назначит DNS-имена созданным экземплярам memcached. Он будет выглядеть следующим образом: Сохраните этот код в файле с именем memcached-service.yaml и разверните полученный файл командой kubectl create -f memcached-shards.yaml. Теперь на вашем DNS-сервере должны появиться записи для хостов memcache- 0.memcache, memcache-1.memcache и т. д. Как и в случае с redis, эти имена следует использовать для настройки twemproxy (https://github.com/twitter/twemproxy) Из конфигурационного файла видно, что запросы к memcache обслуживаются по адресу localhost:6379, так что контейнер приложения может получить доступ к контейнеру-послу. Теперь можно развернуть его в pod-группу к контейнеру-послу с помощью Kubernetes-объекта ConfigMap, который можно создать командой kubectl create configmap --from-file=nutcracker.yaml twem-config. Подготовительные действия завершены, и теперь вы можете развернуть пример реализации паттерна Ambassador. Далее с помощью выражения SELECT получаем всех добавленных пользователей из базы данных в виде курсора Cursor. Вызовом query.moveToNext() перемещаемся в цикле while последовательно по всем объектам. Для получения данных из курсора применяются методы query.getString(0) и query.getInt(1). В скобках в методы передается номер столбца, из которого мы получаем данные. Например, выше мы добавили вначале имя пользователя в виде строки, а затем возраст в виде числа. Значит, нулевым столбцом будет идти строкое значение, которое получаем с помощью метода getString(), а следующим - первым столбцом идет числовое значение, для которого применяется метод getInt(). После завершения работы с курсором и базой данных мы закрываем все связанные объекты:
Download 468.92 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling