Использование Kotlin и WebFlux для выполнения задач ML в Apache Spark на GPU
В предыдущей статье для создания Spark Driver приложения использовался сервлетный стек Spring (Boot 2.7.11) и JDK 8.
На дворе вторая половина 2023 года, у многих в проде уже используется Boot 3+ (а то и 3.1+), совсем скоро должна выйти новая LTS версия Java, и, мягко говоря, Boot 2+ и JDK8 устарели. Использовались они намеренно, так как для задач тренировки моделей машинного обучения на GPU в среде Spark частью системы является ускоритель вычислений на GPU NVidia Rapids. Поддержка JDK 17 появилась только в релизе v23.06.0 от 27.06.23, с ее выходом появилась возможность перейти на актуальную LTS версию Java, а с ней - на Spring Boot 3+.
В данной статье описывается миграция с Boot 2 и JDK 8 До Boot 3 и JDK 17, со Spring Web на Spring WebFlux, в конце сравниваются Web и WebFlux версии по потреблению аппаратных ресурсов и скорости выполнения.
Читать: https://habr.com/ru/articles/752702/?utm_campaign=752702
В предыдущей статье для создания Spark Driver приложения использовался сервлетный стек Spring (Boot 2.7.11) и JDK 8.
На дворе вторая половина 2023 года, у многих в проде уже используется Boot 3+ (а то и 3.1+), совсем скоро должна выйти новая LTS версия Java, и, мягко говоря, Boot 2+ и JDK8 устарели. Использовались они намеренно, так как для задач тренировки моделей машинного обучения на GPU в среде Spark частью системы является ускоритель вычислений на GPU NVidia Rapids. Поддержка JDK 17 появилась только в релизе v23.06.0 от 27.06.23, с ее выходом появилась возможность перейти на актуальную LTS версию Java, а с ней - на Spring Boot 3+.
В данной статье описывается миграция с Boot 2 и JDK 8 До Boot 3 и JDK 17, со Spring Web на Spring WebFlux, в конце сравниваются Web и WebFlux версии по потреблению аппаратных ресурсов и скорости выполнения.
Читать: https://habr.com/ru/articles/752702/?utm_campaign=752702
What is Service Discovery in Microservices? Client Side vs Server Side Service Discovery?
Hello guys, if you are wondering how different services communicate with each other in a Microservice architecture then you are not alone. Many Java programmer I have interviewed doesn't really know how different services in a Microservice architecture communicate with each other. n the past, I have shared several Microservices design patterns like Event Sourcing, SAGA, Database Per Microservices, CQRS, API Gateway, Aggregator Design Pattern, as well as best practices to design Microservices and in this article, I will talk about Service Discovery Pattern. In a distributed system architecture, Service Discovery plays a crucial role in enabling efficient communication between services. Service discovery patterns provide mechanisms for dynamically locating and accessing services within a network.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/06/what-is-service-discovery-pattern-what.html
Hello guys, if you are wondering how different services communicate with each other in a Microservice architecture then you are not alone. Many Java programmer I have interviewed doesn't really know how different services in a Microservice architecture communicate with each other. n the past, I have shared several Microservices design patterns like Event Sourcing, SAGA, Database Per Microservices, CQRS, API Gateway, Aggregator Design Pattern, as well as best practices to design Microservices and in this article, I will talk about Service Discovery Pattern. In a distributed system architecture, Service Discovery plays a crucial role in enabling efficient communication between services. Service discovery patterns provide mechanisms for dynamically locating and accessing services within a network.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/06/what-is-service-discovery-pattern-what.html
👍1
Из кладовщика в разработчики
В этой статье я расскажу о своем пути от должности рабочего на складе до профессии backend-разработчика в международной компании на Кипре. Также поделюсь практическими советами о том, как можно совершить подобный карьерный переход.
Читать: https://habr.com/ru/articles/752874/?utm_campaign=752874
В этой статье я расскажу о своем пути от должности рабочего на складе до профессии backend-разработчика в международной компании на Кипре. Также поделюсь практическими советами о том, как можно совершить подобный карьерный переход.
Читать: https://habr.com/ru/articles/752874/?utm_campaign=752874
👍3👎1
How to Create a Microservice using Quarkus in Java? Example Tutorial
Hello guys, Microservices architecture has become increasingly popular due to its flexibility, scalability, and ease of maintenance. When it comes to building microservices in Java, Quarkus is an excellent framework that provides a lightweight, fast, and efficient runtime. In this tutorial, we will explore how to create a microservice application using Quarkus in Java, along with a comprehensive step-by-step example. In last few articles, we have seen how to create Microservices using Spring Boot and Microservices using gRPC and in this article, we are going to see how to create a Microservice architecture using Quarkus framework.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/06/how-to-create-microservice-application.html
Hello guys, Microservices architecture has become increasingly popular due to its flexibility, scalability, and ease of maintenance. When it comes to building microservices in Java, Quarkus is an excellent framework that provides a lightweight, fast, and efficient runtime. In this tutorial, we will explore how to create a microservice application using Quarkus in Java, along with a comprehensive step-by-step example. In last few articles, we have seen how to create Microservices using Spring Boot and Microservices using gRPC and in this article, we are going to see how to create a Microservice architecture using Quarkus framework.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/06/how-to-create-microservice-application.html
👍1
Cadence 1.0: Uber Releases Its Scalable Workflow Orchestration Platform
Uber released a major version of its workflow orchestration platform named Cadence after six years in development. Uber and other companies use Cadence to build stateful services at scale using native programming languages.
By Rafal Gancarz
Read: https://www.infoq.com/news/2023/08/uber-cadence-workflow-platform/
Uber released a major version of its workflow orchestration platform named Cadence after six years in development. Uber and other companies use Cadence to build stateful services at scale using native programming languages.
By Rafal Gancarz
Read: https://www.infoq.com/news/2023/08/uber-cadence-workflow-platform/
👍1
Java Digest #3
Всем привет! 👋 👋 👋
Мы — Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и решили делиться этим со всем сообществом.
«Поскольку крысы не умели читать, собранная им библиотека характеризовалась некоторой причудливостью, однако патриций был не из тех людей, кто игнорирует возможность приобрести новые познания».
Терри Пратчетт «Стража! Стража!»
Читать: https://habr.com/ru/companies/tinkoff/articles/753032/?utm_campaign=753032
Всем привет! 👋 👋 👋
Мы — Java-разработчики Тинькофф: Константин, Андрей и Арсений. Собираем интересные новости, статьи, туториалы и другие материалы из мира Java-разработки и решили делиться этим со всем сообществом.
«Поскольку крысы не умели читать, собранная им библиотека характеризовалась некоторой причудливостью, однако патриций был не из тех людей, кто игнорирует возможность приобрести новые познания».
Терри Пратчетт «Стража! Стража!»
Читать: https://habr.com/ru/companies/tinkoff/articles/753032/?utm_campaign=753032
❤1❤🔥1👍1
Пошушукаемся о Барбаре Лисков или раз и навсегда запоминаем принцип подстановки
Здравствуйте, всем! Хотя это моя первая публикация на Хабре, тему я хочу затронуть важную и далеко не всегда понятную новичкам. Не обращайте внимание на странный заголовок. Считайте, что это – ружье на стене, которое по ходу пьесы обязательно выстрелит.
Материал по этой теме здесь уже имеется, но на мой взгляд, информация там подана не совсем удачно и полно. Рискну внести свою лепту в дело понимания и запоминания такого фундаментального принципа.
В данной статье я постараюсь по максимуму избежать кода. Сделано это в целях повышения универсальности материала, он должен быть интересен всем читателям независимо от их языка программирования. В тех местах, где код неизбежно понадобится, он будет оформлен в синтаксисе Java. Не пугайтесь, все объясню, сложно не будет (во всяком случае, по моим расчетам). Итак, поехали!
Читать: https://habr.com/ru/articles/753282/?utm_campaign=753282
Здравствуйте, всем! Хотя это моя первая публикация на Хабре, тему я хочу затронуть важную и далеко не всегда понятную новичкам. Не обращайте внимание на странный заголовок. Считайте, что это – ружье на стене, которое по ходу пьесы обязательно выстрелит.
Материал по этой теме здесь уже имеется, но на мой взгляд, информация там подана не совсем удачно и полно. Рискну внести свою лепту в дело понимания и запоминания такого фундаментального принципа.
В данной статье я постараюсь по максимуму избежать кода. Сделано это в целях повышения универсальности материала, он должен быть интересен всем читателям независимо от их языка программирования. В тех местах, где код неизбежно понадобится, он будет оформлен в синтаксисе Java. Не пугайтесь, все объясню, сложно не будет (во всяком случае, по моим расчетам). Итак, поехали!
Читать: https://habr.com/ru/articles/753282/?utm_campaign=753282
👍1
Java News Roundup: Liberica JDK Performance Edition, GraalVM JDK 21 Builds, Open Liberty, Quarkus
This week's Java roundup for July 31st, 2023 features news from OpenJDK, JDK 22, JDK 21, GlassFish 7.0.7, GraalVM JDK 21 Developer Builds, Liberica JDK Performance Edition, JNoSQL 1.0.1, Spring Tools 4.19.1, Open Liberty 23.0.0.8-beta and 23.0.0.7, Micronaut 4.0.3, Quarkus 3.2.3 and 2.16.9, Apache Camel 4.0.0-RC2, JHipster Lite 0.40, Ktor 2.3.3, Maven 3.9.4 and Gradle 8.3-RC3.
By Michael Redlich
Read: https://www.infoq.com/news/2023/08/java-news-roundup-jul31-2023/
This week's Java roundup for July 31st, 2023 features news from OpenJDK, JDK 22, JDK 21, GlassFish 7.0.7, GraalVM JDK 21 Developer Builds, Liberica JDK Performance Edition, JNoSQL 1.0.1, Spring Tools 4.19.1, Open Liberty 23.0.0.8-beta and 23.0.0.7, Micronaut 4.0.3, Quarkus 3.2.3 and 2.16.9, Apache Camel 4.0.0-RC2, JHipster Lite 0.40, Ktor 2.3.3, Maven 3.9.4 and Gradle 8.3-RC3.
By Michael Redlich
Read: https://www.infoq.com/news/2023/08/java-news-roundup-jul31-2023/
👍1
How to create a Microservice in Java using gRPC? Example Tutorial
Hello guys, if you are wondering how to create Microservices in Java then you have come to the right place. Microservices architecture has gained significant popularity due to its
scalability, modularity, and ease of deployment. When it comes to building
microservices, gRPC (Google Remote Procedure Call) is an excellent choice for
facilitating communication between services. In last few articles, I have shared how to build Microservices in Java using Spring Boot and How to build Microservices app using Quarkus and In this article, we will explore
how to create a microservice application using gRPC in Java, along with a
comprehensive step-by-step tutorial.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/07/how-to-create-microservice-application.html
Hello guys, if you are wondering how to create Microservices in Java then you have come to the right place. Microservices architecture has gained significant popularity due to its
scalability, modularity, and ease of deployment. When it comes to building
microservices, gRPC (Google Remote Procedure Call) is an excellent choice for
facilitating communication between services. In last few articles, I have shared how to build Microservices in Java using Spring Boot and How to build Microservices app using Quarkus and In this article, we will explore
how to create a microservice application using gRPC in Java, along with a
comprehensive step-by-step tutorial.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/07/how-to-create-microservice-application.html
👍3
Kafka UI краткий гайд
Буквально недавно я начал создавать свой аналог сервиса Discord, используя веб-сокеты и передавая сообщения через очередь. В один из моментов мне понадобилось проверить, корректно ли проходят сообщения в этой очереди. Тогда я осознал, как неудобно каждый раз заходить в docker контейнер и вручную вводить команду для просмотра всех сообщений в топиках. После дня анализа и советов от моего коллеги, опытного DevOps-инженера Паши, я пришел к выводу, что kafka-ui от команды provectus — это наилучший и наиболее удобный инструмент для визуализации данных в Kafka.
Читать: https://habr.com/ru/articles/753398/?utm_campaign=753398
Буквально недавно я начал создавать свой аналог сервиса Discord, используя веб-сокеты и передавая сообщения через очередь. В один из моментов мне понадобилось проверить, корректно ли проходят сообщения в этой очереди. Тогда я осознал, как неудобно каждый раз заходить в docker контейнер и вручную вводить команду для просмотра всех сообщений в топиках. После дня анализа и советов от моего коллеги, опытного DevOps-инженера Паши, я пришел к выводу, что kafka-ui от команды provectus — это наилучший и наиболее удобный инструмент для визуализации данных в Kafka.
Читать: https://habr.com/ru/articles/753398/?utm_campaign=753398
👍2
Top18 Spring Cloud Features for Microservices Architecture in Java
Hello guys, If you are doing Java development using Spring Boot then you may already know that Spring Cloud is a popular open-source framework for implementing microservices in Java. It provides a wide range of features that simplify the development, deployment, and management of Microservices in Java. In this article, we will discuss some of the key features of the Spring Cloud framework that makes it an excellent framework for developing Microservices in Java. Microservices architecture is a modern approach to building complex applications as a collection of loosely coupled, independently deployable services.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/04/spring-cloud-features-for-microservices.html
Hello guys, If you are doing Java development using Spring Boot then you may already know that Spring Cloud is a popular open-source framework for implementing microservices in Java. It provides a wide range of features that simplify the development, deployment, and management of Microservices in Java. In this article, we will discuss some of the key features of the Spring Cloud framework that makes it an excellent framework for developing Microservices in Java. Microservices architecture is a modern approach to building complex applications as a collection of loosely coupled, independently deployable services.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/04/spring-cloud-features-for-microservices.html
❤1
OpenJDK plan would add computed constants to Java
Read: https://www.infoworld.com/article/3704272/openjdk-plan-would-add-computed-constants-to-java.html#tk.rss_java
Read: https://www.infoworld.com/article/3704272/openjdk-plan-would-add-computed-constants-to-java.html#tk.rss_java
👍1
Difference between @RequestParam and @PathVariable in Spring MVC
Hello guys, if you are wondering what is difference between @ReqestParam and @PathVaraible annotation in Spring MVC, most likely because it was asked to you on a Java and Spring interview or maybe you are just curious then you have come to the right place. In the past, I have talked about difference between @Component, @Service, @Reposistory and @Controller annotations and in this comprehensive article we are going to take an in-depth look at the difference between the two most frequently used annotations in Spring MVC. It provides two commonly used annotations, namely @RequestParam and @PathVariable, which play a significant role in parameter handling within web applications.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/08/difference-between-requestparam-and.html
Hello guys, if you are wondering what is difference between @ReqestParam and @PathVaraible annotation in Spring MVC, most likely because it was asked to you on a Java and Spring interview or maybe you are just curious then you have come to the right place. In the past, I have talked about difference between @Component, @Service, @Reposistory and @Controller annotations and in this comprehensive article we are going to take an in-depth look at the difference between the two most frequently used annotations in Spring MVC. It provides two commonly used annotations, namely @RequestParam and @PathVariable, which play a significant role in parameter handling within web applications.
Java Interview questions and tutorials
Read: http://www.java67.com/2023/08/difference-between-requestparam-and.html
❤1👍1
Java Joins the Ranks in Semantic Kernel SDK
Microsoft has announced the availability of its Semantic Kernel software development kit (SDK) for Java, designed to mesh Large Language Models (LLMs) with popular programming languages, extending support beyond C# and Python.
By Shaaf Syed
Read: https://www.infoq.com/news/2023/08/semantic-kernel-java/
Microsoft has announced the availability of its Semantic Kernel software development kit (SDK) for Java, designed to mesh Large Language Models (LLMs) with popular programming languages, extending support beyond C# and Python.
By Shaaf Syed
Read: https://www.infoq.com/news/2023/08/semantic-kernel-java/
Новый взгляд на Maven-plugin для IDEA — GMaven
Привет, меня зовут Григорий Мясоедов, ранее я имел опыт работы в JetBrains в команде build tools, а конкретно занимался Maven-plugin. В этой статье я хочу поговорить о том как устроен плагин под капотом, его сильных и слабых местах, и о том что я в итоге со всем этим сделал.
Одна из самых частых проблем, которыми я занимался в JetBrains, звучала так - “через командную строку Maven проект собирает, но в IDEA он не импортируется (импортируется с ошибками)”. Как будет показано ниже большинство этих проблем связаны с архитектурой JB Maven плагина.
Читать: https://habr.com/ru/articles/753828/?utm_campaign=753828
Привет, меня зовут Григорий Мясоедов, ранее я имел опыт работы в JetBrains в команде build tools, а конкретно занимался Maven-plugin. В этой статье я хочу поговорить о том как устроен плагин под капотом, его сильных и слабых местах, и о том что я в итоге со всем этим сделал.
Одна из самых частых проблем, которыми я занимался в JetBrains, звучала так - “через командную строку Maven проект собирает, но в IDEA он не импортируется (импортируется с ошибками)”. Как будет показано ниже большинство этих проблем связаны с архитектурой JB Maven плагина.
Читать: https://habr.com/ru/articles/753828/?utm_campaign=753828
🔥1
Топ-5 бесплатных курсов по базам данных и SQL-запросам для начинающих, которые можно изучать онлайн в 2023 году - Best of Lot
Здравствуйте, ребята, в этом блоге я уже довольно давно делюсь некоторыми бесплатными ресурсами по программированию, например, книгами и курсами. Ранее я уже рассказывал о бесплатных курсах по Java, Maven, Spring, структуре данных и алгоритмам, а сегодня я расскажу о некоторых бесплатных онлайн-курсах по изучению SQL и баз данных. Почему вы должны изучать SQL? Ну, это один из обязательных навыков для программистов, разработчиков приложений и ИТ-специалистов. Как и Linux, это тот навык, который будет служить вам дольше, чем любой другой язык программирования, фреймворк или библиотека.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2018/02/5-free-database-and-sql-query-courses-programmers.html
Здравствуйте, ребята, в этом блоге я уже довольно давно делюсь некоторыми бесплатными ресурсами по программированию, например, книгами и курсами. Ранее я уже рассказывал о бесплатных курсах по Java, Maven, Spring, структуре данных и алгоритмам, а сегодня я расскажу о некоторых бесплатных онлайн-курсах по изучению SQL и баз данных. Почему вы должны изучать SQL? Ну, это один из обязательных навыков для программистов, разработчиков приложений и ИТ-специалистов. Как и Linux, это тот навык, который будет служить вам дольше, чем любой другой язык программирования, фреймворк или библиотека.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2018/02/5-free-database-and-sql-query-courses-programmers.html
👍3
Исчерпывающее руководство по одномерным массивам в Java
Для хранения данных, используемых при работе программы, применяются переменные того или иного типа. Например, если требуется сохранить имя игрока, то создается переменная String name, если целочисленное значение, то int number и т. д. Когда таких значений немного или их количество заранее известно, то для них приемлемо использовать отдельные переменные.
Но что делать, когда в программе задействовано не одно, а 10 чисел, или их количество становится известно только на этапе запуска приложения, когда пользователь вводит его с клавиатуры? Или в какой-то игре может участвовать разное количество игроков, устанавливаемое при ее старте. В таких ситуациях отдельными переменными уже не обойтись, т. к. их точное количество будет невозможно определить. Да и, если все же попытаться это сделать, код станет громоздким и не универсальным, а работа с ним будет крайне ограниченной из-за невозможности использования цикла для автоматизированной обработки данных.
Вот тут-то и приходит на выручку такая структура данных как массив, которая позволяет хранить в себе значения одного типа, что значительно упрощает их обработку.
Дадим определение массиву.
Массив — это структура данных фиксированного размера, являющаяся объектом и состоящая из ячеек, расположенных последовательно в памяти, которые могут хранить в себе значения только одного, заранее заданного типа. При этом каждая ячейка обладает адресом (порядковым номером, индексом), позволяющим получать к ней доступ.
На картинке ниже схематично изображен массив размерностью 10, заполненный числами, а также индексы ячеек:
Читать: https://habr.com/ru/articles/753638/?utm_campaign=753638
Для хранения данных, используемых при работе программы, применяются переменные того или иного типа. Например, если требуется сохранить имя игрока, то создается переменная String name, если целочисленное значение, то int number и т. д. Когда таких значений немного или их количество заранее известно, то для них приемлемо использовать отдельные переменные.
Но что делать, когда в программе задействовано не одно, а 10 чисел, или их количество становится известно только на этапе запуска приложения, когда пользователь вводит его с клавиатуры? Или в какой-то игре может участвовать разное количество игроков, устанавливаемое при ее старте. В таких ситуациях отдельными переменными уже не обойтись, т. к. их точное количество будет невозможно определить. Да и, если все же попытаться это сделать, код станет громоздким и не универсальным, а работа с ним будет крайне ограниченной из-за невозможности использования цикла для автоматизированной обработки данных.
Вот тут-то и приходит на выручку такая структура данных как массив, которая позволяет хранить в себе значения одного типа, что значительно упрощает их обработку.
Дадим определение массиву.
Массив — это структура данных фиксированного размера, являющаяся объектом и состоящая из ячеек, расположенных последовательно в памяти, которые могут хранить в себе значения только одного, заранее заданного типа. При этом каждая ячейка обладает адресом (порядковым номером, индексом), позволяющим получать к ней доступ.
На картинке ниже схематично изображен массив размерностью 10, заполненный числами, а также индексы ячеек:
Читать: https://habr.com/ru/articles/753638/?utm_campaign=753638
Предложена опережающая компиляция для JVM
Read: https://www.infoworld.com/article/3704490/ahead-of-time-compilation-proposed-for-the-jvm.html#tk.rss_java
Read: https://www.infoworld.com/article/3704490/ahead-of-time-compilation-proposed-for-the-jvm.html#tk.rss_java
Топ-9 онлайн-курсов для изучения Python в 2023 году - Лучшее из многого
Здравствуйте, ребята, если вы хотите изучить язык программирования Python в 2023 году и ищете лучшие курсы Python
и ищете лучшие курсы Python, то вы попали по адресу. В Интернете существует множество
ресурсов для изучения Python в Интернете, включая бесплатные и платные. В прошлом я
я уже рассказывал о многих доступных источниках, таких как бесплатные книги, учебники, курсы, специализации и сертификации. Тем не менее, многие из вас спрашивали о более полных и
продвинутые курсы по Python, чтобы овладеть этим важнейшим навыком программирования в 2023 году. Мы
мы отобралинесколько продвинутых онлайн-курсов по Python с таких платформ, как Udemy, Coursera, edX, ZTM Academy и Pluralsight , чтобы помочь вам изучить Python на лучших ресурсах.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2020/05/top-5-courses-to-learn-python-in-depth.html
Здравствуйте, ребята, если вы хотите изучить язык программирования Python в 2023 году и ищете лучшие курсы Python
и ищете лучшие курсы Python, то вы попали по адресу. В Интернете существует множество
ресурсов для изучения Python в Интернете, включая бесплатные и платные. В прошлом я
я уже рассказывал о многих доступных источниках, таких как бесплатные книги, учебники, курсы, специализации и сертификации. Тем не менее, многие из вас спрашивали о более полных и
продвинутые курсы по Python, чтобы овладеть этим важнейшим навыком программирования в 2023 году. Мы
мы отобралинесколько продвинутых онлайн-курсов по Python с таких платформ, как Udemy, Coursera, edX, ZTM Academy и Pluralsight , чтобы помочь вам изучить Python на лучших ресурсах.
Вопросы и учебные пособия для собеседования по Java
Read: http://www.java67.com/2020/05/top-5-courses-to-learn-python-in-depth.html
Поднимаем кластер PostgreSQL в Docker и Testcontainers
Ранее я рассказывал о том, как запустить PostgreSQL в Docker. Тогда речь шла об использовании «ванильных» образов Postgres и поднятии одного хоста. В большинстве случаев этого достаточно как для тестов, так и для экспериментов, но нужно понимать, что в промышленной эксплуатации чаще всего используются высокодоступные (отказоустойчивые, кластеризованные) конфигурации PostgreSQL.
Сегодня я покажу, как запустить уже целый кластер PostgreSQL в Docker, а также в тестах через Testcontainers, и как вручную инициировать смену мастер-хоста.
Читать: https://habr.com/ru/articles/754168/?utm_campaign=754168
Ранее я рассказывал о том, как запустить PostgreSQL в Docker. Тогда речь шла об использовании «ванильных» образов Postgres и поднятии одного хоста. В большинстве случаев этого достаточно как для тестов, так и для экспериментов, но нужно понимать, что в промышленной эксплуатации чаще всего используются высокодоступные (отказоустойчивые, кластеризованные) конфигурации PostgreSQL.
Сегодня я покажу, как запустить уже целый кластер PostgreSQL в Docker, а также в тестах через Testcontainers, и как вручную инициировать смену мастер-хоста.
Читать: https://habr.com/ru/articles/754168/?utm_campaign=754168
👍1
Какие темы в IT вас интересуют больше всего?
Anonymous Poll
5%
Ещё только начинаю, не выбрал конкретное направление
11%
Веб-разработка
8%
Мобильная разработка
4%
Тестирование
4%
Разработка игр
3%
Управление командами / проектами
64%
Бэкенд
1%
Разработка настольного ПО
1%
Разработка встраиваемых систем
1%
Другое / не IT (пожалуйста, напишите в комментариях ваш вариант)
👍1