Это пятая часть серии «Разработка клона Instagram», ссылки на другие части приведены ниже.
- Разработка клона Instagram: Введение.
- Разработка клона Instagram: служба обнаружения.
- Разработка клона Instagram: служба аутентификации.
- Разработка клона Instagram: медиасервис.
- Разработка клона Instagram: Post Service.
- Разработка Instagram Clone: Graph Service.
- Разработка клона Instagram: служба новостной ленты.
- Разработка клона Instagram: служба шлюза.
- Разработка клона Instagram: интерфейсный сервис
Почтовый сервис — это прямой сервис, он обеспечивает CRUD-операции для пользовательских сообщений.
Он использует MongoDB в качестве хранилища данных и Apache Kafka в качестве системы обмена сообщениями.
Конечные точки почтовой службы
Заглянув в контроллер PostApi, вы обнаружите, что доступны следующие конечные точки.
POST "/posts" //creates new post DELETE "/posts/{id}" //deletes post by id GET "/posts/me" // finds current user posts GET "/posts/{username}" // find user posts POST "/posts/in" // find posts by ids
Почтовый сервис и репозиторий
Он использует Spring data MongoDB, все, что вам нужно сделать, чтобы предоставить интерфейс и операции (в соответствии с соглашениями о данных Spring), а Spring предоставит вам реализации.
Здесь нет ничего особенного, я думаю, что имена методов являются описательными.
Кроме того, почтовый сервис говорит сам за себя, он предоставляет операции CURD для объекта Post (создание, обновление, удаление и т. д.). Вы обнаружите, что он использует PostEventSender для отправки сообщений Kafka, о которых я расскажу в следующем разделе.
Обмен сообщениями (сообщения Кафки)
Он использует облачный поток Spring, для получения дополнительной информации см. Служба аутентификации.
Как видите, он публикует событие в momentPostChanged в теме всякий раз, когда создается, обновляется или удаляется новый пост.
Нам нужно будет прослушивать эти события, чтобы обновлять ленту пользователей, что мы обсудим позже в службе ленты.
Для конфигурации kafka также обратитесь к Службе аутентификации.
Конфигурация безопасности
Все ресурсы защищены в почтовом сервисе, пользователь должен предоставить токен доступа для доступа к любому ресурсу.
Регистрация службы обнаружения
Как всегда, служба должна зарегистрироваться в службе обнаружения, чтобы другие службы могли ее найти.
Как видите, почтовая служба — это простая служба, ничего нового, я действительно не решался написать о ней учебник, но, чтобы завершить серию, я это сделал.