Практическая работа №13 Развертывание реализации паттерна Ambassador и сервиса memcache для организации шардированного кэша


Download 468.92 Kb.
bet3/14
Sana29.03.2023
Hajmi468.92 Kb.
#1309002
TuriПрактическая работа
1   2   3   4   5   6   7   8   9   ...   14
Bog'liq
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().
После завершения работы с курсором и базой данных мы закрываем все связанные объекты:

1
2

query.close();
db.close();




Download 468.92 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling