...
Для отправки данных используются два метода:
Базовый URL: https://apicrm.mcdonalds.ru/api/v1-1/wifihs, тип запроса PUT.
Метод | Событие |
---|
/session/create | Создание сессии пользователя (ACCT START) |
/session/update | - Завершение сессии пользователя (ACCT STOP)
- Система получила mac-адрес пользователя
|
...
Блок кода |
---|
|
version: '2'
services:
zookeeper:
container_name: zookeeper
image: 'docker.io/bitnami/zookeeper:3-debian-10'
ports:
- '2181:2181'
volumes:
- 'zookeeper_data:/bitnami'
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
- ZOO_MAX_SESSION_TIMEOUT=500000
mem_limit: 512m
kafka:
container_name: kafka
image: 'docker.io/bitnami/kafka:2-debian-10'
ports:
- '9092:9092'
volumes:
- 'kafka_data:/bitnami'
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${KAFKA_HOST}:9092
- KAFKA_LOG_RETENTION_CHECK_INTERVALS_MS=3600000
- KAFKA_DELETE_TOPIC_ENABLE=true
mem_limit: 1g
depends_on:
- zookeeper
volumes:
zookeeper_data:
driver: local
kafka_data:
driver: local |
...
Блок кода |
---|
language | yml |
---|
theme | RDark |
---|
title | application.conf |
---|
collapse | true |
---|
|
mcd {
baseUrl: "http://localhost"
requestPort: 5555"
requestTimeoutMs: 5000
connectTimeoutMs: 5000
socketTimeoutMs: 5000
rootDomain: "mcd.root"
appToken: "token"
pollPeriodMs: 1000
chunkSize: 100
kafkaTopic: "mcd"
}
kafka {
bootstrap.servers: "localhost:9092"
group.id: "mcd"
auto.offset.reset: "latest"
} |
...
Параметр | Описание | Значение по умолчанию |
---|
Параметры Eltex-mcdonalds |
baseUrl | URL McD-API назначения для отправки данных. | "http://localhost:5555" |
requestPort | Порт McD-API назначения для отправки данных. | 5555 |
requestTimeoutMs | Таймаут запроса к серверу назначения, мс. | 5000 |
connectTimeoutMs | Таймаут установки соединения с сервером назначения, мс. | 5000 |
socketTimeoutMs | Таймаут отправки/получения пакетов, мс. | 5000 |
rootDomain | Фильтр по домену для входящих сообщений от Kafka. |
|
appToken | Токен для обращения к внешнему серверу. | "" |
pollPeriodMs | Параметр настраивающий период отправки сообщений по API McDonalds, мс. | 10000 |
chunkSize | Максимальный размер (число сессий) порции передачи данных в McDonalds API. | 100 |
kafkaTopic | Имя топика Kafka из которого Eltex-mcdonalds читает сообщения. | "mcd" |
Параметры доступа к Kafka |
bootstrap.servers | Адрес Kafka сервера. | "127.0.0.1:9092" |
group.id | Группа к которой принадлежит потребитель сообщений. Разные сущности сервиса одного типа должны иметь одинаковый group.id, что дает возможность резервирования и масштабирования сервиса)
| "mcd" |
auto.offset.reset | Параметр определяет, какие сообщения необходимо загружать из топика. Может принимать значения: - "earliest" – все сообщения с начала топика;
- "latest" – чтение с конца топика.
| "latest" |
...
Блок кода |
---|
language | yml |
---|
title | eltex-mcdonalds docker-compose |
---|
|
version: "3"
services:
eltex-mcdonalds:
container_name: eltex-mcdonalds
# Откуда брать image и какую версию. Например, версию с фиче-ветки 1.19-172890
image: hub.eltex-co.ru/softwlc/eltex-mcdonalds:1.19-<tag>
# Ограничиваем контейнеру потребление ОЗУ
mem_limit: 128m
environment:
# Адрес шлюза McDonalds к которому обращается сервис
- CONFIG_FORCE_mcd_baseUrl=${MCD_BASE_URL}
# Порт шлюза McDonalds к которому обращается сервис
- CONFIG_FORCE_mcd_requestPort=${MCD_REQUEST_PORT}
- CONFIG_FORCE_mcd_requestTimeoutMs=${MCD_REQUEST_TIMEOUT_MS}
- CONFIG_FORCE_mcd_connectTimeoutMs=${MCD_CONNECT_TIMEOUT_MS}
- CONFIG_FORCE_mcd_socketTimeoutMs=${MCD_SOCKET_TIMEOUT_MS}
# Фильтр по домену для входящих сообщений от Kafka
- CONFIG_FORCE_mcd_rootDomain=${MCD_ROOT_DOMAIN}
# Токен, для обращения к шлюзу McDonalds
- CONFIG_FORCE_mcd_appToken=${MCD_APP_TOKEN}
- CONFIG_FORCE_mcd_pollPeriodMs=${MCD_POLL_PERIOD_MS}
- CONFIG_FORCE_mcd_chunkSize=${MCD_CHUNK_SIZE}
# Название Kafka-топика
- CONFIG_FORCE_mcd_kafkaTopic=${MCD_KAFKA_TOPIC}
# Адрес сервера Kafka
- CONFIG_FORCE_kafka_bootstrap_servers=${MCD_KAFKA_BOOTSTRAP_SERVERS}
# Имя группы (необязательно)
- CONFIG_FORCE_kafka_group_id=${MCD_KAFKA_GROUP_ID}
- CONFIG_FORCE_kafka_auto_offset_reset=${MCD_KAFKA_AUTO_OFFSET_RESET}
# Уровень логирования сервиса
- MCD_LOG_LEVEL=${MCD_LOG_LEVEL} |
...
Блок кода |
---|
|
MCD_BASE_URL=http://localhost
MCD_REQUEST_PORT=:5555
MCD_REQUEST_TIMEOUT_MS=5000
MCD_CONNECT_TIMEOUT_MS=5000
MCD_SOCKET_TIMEOUT_MS=5000
MCD_ROOT_DOMAIN=root
MCD_APP_TOKEN=token
MCD_POLL_PERIOD_MS=1000
MCD_CHUNK_SIZE=100
MCD_KAFKA_TOPIC=mcd
MCD_KAFKA_BOOTSTRAP_SERVERS=localhost:9092
MCD_KAFKA_GROUP_ID=mcd
MCD_KAFKA_AUTO_OFFSET_RESET=latest
MCD_LOG_LEVEL=info |
...