Пять проектов Apache, о которых вы не (но должны) знать

Пять проектов Apache, о которых вы не (но должны) знать

26 декабря 2023 г.

В начале 2021 года я начал работать над проектом Apache APISIX. Должен признаться, что никогда раньше об этом не слышал. В этом посте я хотел бы представить некоторые проекты Apache, менее известные, чем HTTPD или Kafka.

Apache APISIX

APISIX

APISIX — это шлюз API< /а>. Он основан на OpenResty, слое Lua, созданном на основе знаменитого обратный прокси-сервер nginx. APISIX добавляет в смесь абстракции, например,, Route, Service, Upstream, и предлагает архитектуру на основе плагинов. .

Множество плагинов поставляется «из коробки»:

  • Преобразование: перезапись ответа, перезапись прокси, gRPC, body-transformer и т. д.
  • Аутентификация: JWT, OPA, Keycloak, OpenID Connect и т. д.
  • Наблюдаемость: метрики, ведение журналов и трассировка.
  • Трафик: ограничение скорости, проверка запросов, канареечный выпуск и т. д.
  • Бессерверные функции: функции Azure, AWS Lambdas, OpenWhisk и т. д.
  • Обмен сообщениями: Kafka, Dubbo и MQTT
  • Предварительная и постобработка

Если ни один плагин не соответствует вашим требованиям, можно написать свой собственный.

Вы можете использовать APISIX в Kubernetes в качестве входного контроллера. APISIX предоставляет для этого Helm Chart.

APISIX Software Architechture

Сфера шардинга Apache

ShardingSphere Logo

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

* ShardingSphere-JDBC: драйвер JDBC, который действует как прокси-сервер для вашей базы данных. Он доступен только для приложений на базе JVM. * ShardingSphere-Proxy: технологически независимый развертываемый компонент.

ShardingSphere предлагает несколько основных функций:

* Шардинг данных является основной функцией, как следует из названия проекта. В большинстве случаев использования основное внимание уделяется целям масштабирования, но есть и другие, например,, требования к резидентству данных. * Транзакции XA для распределенных транзакций * Разделение чтения/записи * Шифрование данных * и т. д.

Apache SeaTunnel

SeaTunnel

Apache SeaTunnel — это платформа интеграции данных, которая предлагает три основных компонента конвейеров данных: источники, преобразования и приемники. Он предлагает абстрактный API для трех возможных механизмов: движка Zeta от SeaTunnel или оболочки Apache Spark или Apache Flink. Будьте осторожны, поскольку каждый движок имеет свой набор функций.

Сила SeaTunnel заключается в богатой экосистеме разъемов. Он предоставляет традиционные коннекторы SQL, например, Oracle, PostgreSQL и MySQL, и NoSQL-коннекторы, например, MongoDB, Cassandra и Elasticsearch. Тем не менее, он также поставляется в комплекте с некоторыми оригинальными приложениями, включая Jira, Google Sheets и Notion. Мне особенно нравятся источники коннекторов CDC поверх MongoDB, MySQL и Microsoft SQL Server.

SeaTunnel Architechture

SeaTunnel поставляется с веб-интерфейсом, который обеспечивает визуальное управление заданиями, возможности планирования, запуска и мониторинга.

Apache SkyWalking

SkyWalking

Apache SkyWalking – это инструмент APM, ориентированный на микросервисы, приложения Cloud Native и архитектуры Kuernetes. Его архитектура построена на четырех видах компонентов:

* Зонды собирают данные телеметрии (метрики, журналы, трассировки и события). Они поддерживают несколько форматов вывода, включая OpenTelemetry. * Платформа объединяет и обрабатывает данные. * Хранилище предлагает интерфейс через поддерживаемый сервер. Поддерживаемые серверные части включают ElasticSearch, H2, MySQL, TiDB и BanyanDB, специальный механизм хранения, разработанный для SkyWalking. * Наконец, веб-UI позволяет визуализировать данные SkyWalking

.

SkyWalking Dashboard

Skywalking поддерживает несколько форматов, включая OpenTelemetry. Учитывая нынешнее внимание отрасли к OpenTelemetry, я рекомендую серьезно рассмотреть этот вариант.

Апач Дорис

Doris

Apache Doris – это хранилище данных, работающее в режиме реального времени.

Дорис предлагает четыре основных сценария:

  • Анализ отчетов
  • Специальный запрос
  • Построение единого хранилища данных
  • Запрос к озеру данных

Doris Architechture

Doris в основном совместим с MySQL, поэтому вы можете использовать обычный клиент MySQL.

Обсуждение

Описанные выше проекты осуществляются Фондом Apache, но у них есть еще одна общая черта: все они были начаты в Китае. Просмотрите список проектов Apache. Вы, вероятно, будете поражены таким количеством; это близко к 300!

В последние годы количество проектов, инициированных Apache Foundation, резко возросло. Посмотрите еще раз на список; Я уверен, что вы знаете лишь некоторые из них — многие из Китая. Тенденция только растет; это отличный шаг для интеграции Китая с миром OpenSource!

Едва я закончил этот пост, как мой друг Стефано Фаго опубликовал сообщение о другом актуальном проекте — Apache Paimon, платформе озера потоковой передачи данных.

Дальше:

* Apache APISIX * Apache ShardingSphere * Apache SeaTunnel * Apache SkyWalking * Apache Doris


:::информация Первоначально опубликовано на сайте A Java Geek 17 декабря 2023 г.

:::


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE