POST-запросы
Регистрация клиента:
localhost:8080/api/v1/customers
Пример Json файла:
{
"firstName": "Dmitriy",
"lastName": "Galtsev",
"email": "example@gmail.com"
}
GET-запросы
Получение информации является ли клиент мошенником:
http://localhost:8081/api/v1/fraud-check/{customerId}
Пример ответа:
{
"isFraudster": false
}
Знает о всех клиент-приложениях и на каком они порте и IP адресе.
Необходим для того что бы можно было создавать множенство экземпляров приложений (контейнеров) и знать к какому конкретно экземпляру необходимо обращаться.
Пример регистрации микросервиса на Eureka:
eureka:
client:
fetch-registry: true
register-with-eureka: true
service-url:
defaultZone: http://localhost:8761/eureka
Micrometer используется для сбора метрик приложения JVM и позволяет экспортировать данные в различные системы мониторинга.
Zipkin – это распределенная система с открытым исходным кодом, которая предоставляет механизмы для отправки, получения, хранения и визуализации деталей трассировки.
Настройка конфигурации:
# Trace every action
management:
tracing:
sampling:
probability: 1.0 #default 0.1
Открыт на порту:
http://localhost:9411/zipkin/
Используется как Load Balancer и единая точка входа. Реализовано с помощью Spring Cloud.
Простая настройка конфигурации:
cloud:
gateway:
routes:
- id: customer
uri: lb://CUSTOMER
predicates:
- Path=/api/v1/customers/**
- id: fraud
uri: lb://FRAUD
predicates:
- Path=/api/v1/fraud-check/**
Пример запроса:
localhost:8083/api/v1/customers # Для микросервиса Сustomer
localhost:8083/api/v1/fraud-check/1 # Для микросервиса Fraud
Подключение и конфигурация распределенного и горизонтально масштабируемого брокера сообщений RabbitMQ.
Админ панель RabbitMQ:
Логин: guest
Пароль: guest
Адрес панели: http://localhost:15672
Необходимо выполнить команду:
docker compose up -d
Доступ к PgAdmin: localhost:5050/browser/