Стек технологий, используемый в работе с Java Virtual Machine
Твой программистТехнологический ландшафт
Apache ZooKeeper — сервер для высоконадёжной распределённой координации приложений;
Apache Spark — фреймворк с открытым исходным кодом для реализации распределённой обработки неструктурированных и слабоструктурированных данных, входящий в экосистему проектов Hadoop;
Apache Kafka — распределённый программный брокер сообщений;
Apache NiFi — ETL-инструмент с открытым исходным кодом;
ClickHouse — колоночная аналитическая СУБД (Яндекс);
Tarantool — система управления in-memory БД (база данных) с неблокирующим сервером (Mail.ru Group);
Greenplum — массивно-параллельная СУБД для хранилищ данных на основе PostgreSQL.
Инструменты
YourKit Java Profiler — для профилирования процессора и памяти Java;
SonarQube — для анализа качества программного кода;
Git — система управления версиями;
SBT — система автоматической сборки для Java и Scala;
Apache Maven и Gradle — для автоматизации сборки проектов;
Jenkins — для обеспечения процесса непрерывной интеграции программного обеспечения;
Portainer — для управления Docker-контейнерами;
Docker — программа для автоматизации развёртывания и управления приложениями и контейнеризации приложений;
Docker Compose — для запуска и управления Docker-контейнерами.
Библиотеки и фреймворки
Spring Framework — универсальный фреймворк как основа для наших Java-приложений;
Lombok — проект по добавлению дополнительной функциональности в Java c помощью изменения исходного кода перед компиляцией;
Vert.x — фреймворк для реализаций реактивных сервисов;
Apache Calcite — фреймворк для синтаксического анализа и построения SQL-выражений, а также для планирования запросов;
JUnit — фреймворк для написания юнит-тестов;
Akka, Akka HTTP, Akka Streams — набор инструментов для создания параллельных, распределённых и отказоустойчивых приложений для Java и Scala;
Finagle — расширяемая RPC-система от компании Twitter для построения высоконагруженных систем;
ScalikeJDBC — библиотека для доступа к БД с помощью JDBC;
ScalaTest, TestContainers — для написания unit и интеграционных тестов;
Spark (Core, Streaming, SQL) — для реализации коннекторов к различным источникам данных.