Создание веб-сервиса с использованием Spring Boot 3 и AWS SQS

Sdílet
Vložit
  • čas přidán 22. 08. 2024

Komentáře • 85

  • @magisterludi8136
    @magisterludi8136 Před rokem +5

    Отличное информативное видео, как всегда)
    Спасибо за труд, особенно радует использование WebFlux и прочей асинхронщины, с нетерпением жду новых видосов! :)

  • @user-lx4dc1ls3e
    @user-lx4dc1ls3e Před rokem +6

    Что то я столько пропустил.......
    Евгений, спасибо за Вашу работу!!!!
    Успехов, развития Вам и всем тем, кому Вы помогаете👍👍👍

  • @mendalau3515
    @mendalau3515 Před rokem +4

    Спасибо большое за четко структурированную информацию. Продолжайте снимать подобные видео, ваш опыт вместе с умением грамотно выражать свои мысли очень полезны) Было интересно ещё посмотреть процесс отправки сообщения в очередь

  • @MichaelZh
    @MichaelZh Před rokem +2

    Спасибо большое. Было очень полезно.

  • @tiy2000
    @tiy2000 Před rokem +3

    Отличное, насыщенное видео!
    Спасибо огромное!

  • @ivanyesikov8676
    @ivanyesikov8676 Před 7 měsíci +1

    TOP - как всегда!

  • @robss9363
    @robss9363 Před rokem +1

    Очень благодарен за такой информативный урок! Такие практические видео очень интересные

  • @balaklawaman2626
    @balaklawaman2626 Před rokem

    Учусь в иннополисе, параллельно стремлюсь к знаниям, смотря ваши видео! Спасибо большое

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem +1

      Спасибо за отзыв и успехов в обучении!

  • @wildjoe6259
    @wildjoe6259 Před rokem +1

    Отличное видео Евгений! Большое спасибо, что делитесь своим опытом и знаниями!

  • @user-xu1bx4lj7m
    @user-xu1bx4lj7m Před rokem

    Женя, большое спасибо за информативные видео!

  • @user-wk7kd4ky6g
    @user-wk7kd4ky6g Před rokem

    Евгений, огромная благодарность Вам за такие видео!
    Если будет время и возможность, хотелось бы увидеть тесты для такого кода. Спасибо.

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem +1

      Большое спасибо за отзыв!
      По тестам есть видео в планах, но срокам публикацию не смогу сказать точно.

  • @ZufarExplained
    @ZufarExplained Před rokem

    Спасибо, Жень! Очень крутое видео. Медленно и вдумчиво смотрел. Оч качественный контент!

  • @friedbearsburninhell2022

    Хорошое наконец-то вышло! Лайк без вопросов=)

  • @bryanin
    @bryanin Před rokem

    Большое спасибо за труды!

  • @user-qb3ck7cq3k
    @user-qb3ck7cq3k Před 10 měsíci

    Спасибо тебе большое!

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před 10 měsíci

      Спасибо за отзыв!

    • @user-qb3ck7cq3k
      @user-qb3ck7cq3k Před 10 měsíci

      ​@@EugeneSuleimanov Информация подана максимально структурировано и качественно, по окончании просмотра не возникло никаких дополнительных вопросов. Буду признателен, если будут еще видео посвященные интеграции aws и spring boot. С учетом роста популярности авс это, на мой взглад, будет очень кстати :)

  • @baxiskerimzade2690
    @baxiskerimzade2690 Před rokem

    Спасибо) Ждем новые видео!)

  • @hammerandsickle2537
    @hammerandsickle2537 Před rokem

    Спасибо, отличный ролик! (Удалить лишние импорты в IDEA ) 😀

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem

      Большое спасибо за отзыв и за напоминание :)

  • @Dimoniada
    @Dimoniada Před rokem

    Супер, спасибо за знания!

  • @user-sv2nt8ju8f
    @user-sv2nt8ju8f Před rokem +1

    Огромное спасибо! Респект

  • @alexshutov5442
    @alexshutov5442 Před rokem +1

    Лучший)

  • @iurii-goncharov
    @iurii-goncharov Před rokem

    Спасибо за видео 👍

  • @BCEMCPATb
    @BCEMCPATb Před rokem +1

    Коментар!)

  • @user-qx3jt8fw1v
    @user-qx3jt8fw1v Před rokem

    Великолепно! Если я правильно понял, то можно заменить авс на кафку, все остальное останется одинаково

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem +1

      Спасибо за комментарий!
      По поводу Kafka, не совсем:
      - иная конфигурация
      - другие библиотеки
      - количество сервисов должно быть меньше или равно количеству партиций для (если мы говорим про одну consumer group для одного топика).

  • @vladyslavhasporian2934

    спасибо!

  • @Az1zdev
    @Az1zdev Před rokem +4

    Thank you for video.
    Could I ask one question?
    What OS do you use?

  • @Elnar853
    @Elnar853 Před rokem

    Спасибо!

  • @zhaslanq
    @zhaslanq Před rokem

    🔥🔥🔥

  • @user-lt1mp3rs3k
    @user-lt1mp3rs3k Před rokem

    Евгений, для начала огромное спасибо за ваш труд, я сейчас заново начинаю все изучать, и решил начать с алгоритмов(поэтому в одном из комментариев просил делать видео на эту тему), я учу их и нахожусь в замешательстве на счет дальнейшего обучения, что учить дальше и так далее, можно было бы как то с вами связаться, или поговорить недолго, что бы структурировано записать себе план обучения(какие конкретно технологии я должен добавить в свои знания), очень прошу :(

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem

      Спасибо за отзыв!
      Есть несколько статей:
      proselyte.net/how-to-learn-java-seriously/
      proselyte.net/java-developer-road-map/
      И цикл статей:
      proselyte.net/how-not-to-be-expelled-from-it-in-five-years/
      Который, кстати, очень оправдался.

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem

      Моя почта:
      proselytear@yahoo.com

  • @user-xg6so1kq3z
    @user-xg6so1kq3z Před rokem

    +

  • @rasZam
    @rasZam Před rokem

    Супер, спасибо что делитесь знаниями) Не подскажите хорошие материлаы по реактиву? Как его начинать изучать?)

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem

      Спасибо за отзыв!
      По материалам - официальная документация и практика :)

  • @michaeldedun1463
    @michaeldedun1463 Před rokem

    Отличное видео! Подскажите, пожалуйста, что у Вас за тема для IDE?

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem +2

      Спасибо за отзыв!
      Это New UI от IntelliJ Idea:
      www.jetbrains.com/help/idea/new-ui.html

  • @FlVsT
    @FlVsT Před rokem

    А что такое host.docker.internal? Это аналог localhost, но в пределах сети докера, т.е. за кадром остался отдельный контейнер с postgres?

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem

      Верно, обычный localhost не отработает для докера. Отдельного докера до постгреоса нет.

  • @user-eb4hr6gn8x
    @user-eb4hr6gn8x Před rokem

    Евгений, спасибо за отличный контент! У меня 2 вопроса:
    1. зачем в данном случае применяем реактивщину?
    2. SQS работает только с асинхронным провайдером?

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem

      Добрый день!
      Спасибо за отзыв.
      1. По моему опыту - реактивщина на данный момент очень активно используется и новые проекты редко пишут на старых технологиях.
      2. Не закончен вопрос.

    • @user-eb4hr6gn8x
      @user-eb4hr6gn8x Před rokem

      @@EugeneSuleimanov спрошу по другому, можно ли передать в конфиг классе в queueMessagingTemplate блокирующий креденшал провайдер?

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem +1

      @@user-eb4hr6gn8x в сам темплейт - да, насколько я помню.

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem

      @@user-eb4hr6gn8x в сам темплейт - да, насколько я помню.

    • @user-eb4hr6gn8x
      @user-eb4hr6gn8x Před rokem

      @@EugeneSuleimanov Спасибо)

  • @user-lk8n0fgjk
    @user-lk8n0fgjk Před 3 dny

    Добрый день, Евгений. Спасибо за Ваш полезный труд! Повторял код за Вами и уперся в докеризацию. Контейнер создал, но при его подъеме ловлю исключение - SQL State : 08001
    2024-08-20T10:13:02.695640490Z Error Code : 0
    2024-08-20T10:13:02.695641735Z Message : Connection to localhost:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
    При этом локально БД работает. гугл и chat Gpt пока не дали ответ( Может, есть альтернатива - extra_hosts:
    - "host.docker.internal:host-gateway"?
    Спасибо за помощь!

  • @user-mf6uc9iw2z
    @user-mf6uc9iw2z Před rokem

    1 Не совсем я понял зачем подключать aws-sdk и создавать бин с кредами1, где это юзается? 2 Зачем создавать креды2 из aws-spring-стартера, если проперти все прописаны (IDE сама подсказала), и этот бин должен создатся автоконфигурацией стартера? Судя по докам, хватило бы листенера с @SqsListener и yaml-файла, но может я и не прав)
    В докерфайле лично я втупую пишу cmd java - jar... без лишних доп файлов, не знаю зачем это... Ну конечно же спасибо, и ждем flyway с поддержккой реактивщины. liquibase тоже не спешит =)

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem +1

      Спасибо за комментарий!
      Изначально планировал еще добавить логику отправки сообщений в очередь, но видео вышло крайне загруженным и без этого.
      Да, вы правы - @Sqslistener хватило бы :)

  • @sk-xdv-fre
    @sk-xdv-fre Před rokem

    Евгений, Спасибо, очень здорово. Могли бы вы пояснить, как так лихо развернулись 3 контейнера, у меня не работает, в документации написано, что такое поддерживается, только если деплоить в docker swarm.

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem +1

      Спасибо за отзыв!
      Это решение из контейнера. Не должно быть проблем. Вы в точности повторили все действия в видео?

    • @sk-xdv-fre
      @sk-xdv-fre Před rokem

      @@EugeneSuleimanov Приношу извинения. Толи версия докера была старая, толи еще что-то, но на другом Линуксе сработало. Единственное, надо было добавить port range: - "8990-8999:80".

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem +1

      @@sk-xdv-fre отлично, рад, что все отработало корректно.

  • @IggyRayAdy
    @IggyRayAdy Před rokem +1

    а есть механизм уникальных сообщений в Кафке ?

  • @m-krevolvo7552
    @m-krevolvo7552 Před rokem

    А разве маркировать один класс аннотацией Билдер и Дата это не антипаттерн?

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem

      Там есть ряд аспектов, но в общем и целом, если есть конструкторы, то нет.

    • @m-krevolvo7552
      @m-krevolvo7552 Před rokem

      @@EugeneSuleimanov Благодарю за ответ

  • @tolyaaniskevich763
    @tolyaaniskevich763 Před rokem

    🦾

  • @sergeyshcherbakov3653

    С уважением отношусь к данному каналу, но конкретно данное видео меня не убедило. Я понимаю, что автор хотел этим видео убить двух зайцев(трех, четырех???), показав как в связке со спрингом использовать облачные сервисы Aws, да еще и в реактивщину. Но сдается мне, не такого ответа ожидали от человека на собесе. Использовать механизм дедупликации сообщений, заложенный в Sqs, конечно, удобно. Но тут же возникают вопросы: а почему Sqs, а есть иные способы кроме, как юзать платный сервис, а какие есть аналоги у других облачных провайдеров, а если все-таки Sqs, то есть ли ограничения (спойлер: есть и довольно серьезные, см. здесь -> docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html#API_SendMessage_RequestSyntax)?
    Ну предположим, что компания, куда собеседовался человек, свои сервисы действительно размещает на aws. А если нет? Изначально вопрос звучал так: как обеспечить доставку сообщений по принципу exactly once в условиях конкурентного доступа к данным? И вот конкретно на этот вопрос, я что-то не увидел разъяснения. ПыСы: по коду вопросов нет, тут все как раз четко и понятно. Но это уже конкретная реализация. Как автор к ней пришел, осталось за кадром...

    • @EugeneSuleimanov
      @EugeneSuleimanov  Před rokem +1

      1. По связке спринг + реактивщина + aws - относительно, стандарт на данный момент. Блокировка - устаревший подход.
      2. Не совсем понял по поводу ограничений, какое именно из ограничений здесь может помешать.
      3. Использование облачных сервисов (SQS), вместо собственных (rabbit mq и т.д.) - это стандарт. Только в исключительных ситуациях поступают наоборот, по моему опыту. Например, если деплой будет в закрытый контур.
      4. А сама дедупликация - крайне тривиальна, останавливаться на простом кеше не особо хотелось.
      P.S.: в начале видео сказано, почему был выбран такой подход.
      Ещё раз спасибо!