Пять проектов Apache, о которых вы не (но должны) знать
26 декабря 2023 г.В начале 2021 года я начал работать над проектом Apache APISIX. Должен признаться, что никогда раньше об этом не слышал. В этом посте я хотел бы представить некоторые проекты Apache, менее известные, чем HTTPD или Kafka.
Apache 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.
Сфера шардинга Apache
ShardingSphere утверждает, что предлагает экосистему, способную преобразовать любую базу данных в распределенную систему баз данных. Он действует как прокси между вашим кодом и базами данных. Он доступен в двух вариантах:
* ShardingSphere-JDBC: драйвер JDBC, который действует как прокси-сервер для вашей базы данных. Он доступен только для приложений на базе JVM. * ShardingSphere-Proxy: технологически независимый развертываемый компонент.
ShardingSphere предлагает несколько основных функций:
* Шардинг данных является основной функцией, как следует из названия проекта. В большинстве случаев использования основное внимание уделяется целям масштабирования, но есть и другие, например,, требования к резидентству данных. * Транзакции XA для распределенных транзакций * Разделение чтения/записи * Шифрование данных * и т. д.
Apache 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 поставляется с веб-интерфейсом, который обеспечивает визуальное управление заданиями, возможности планирования, запуска и мониторинга.
Apache SkyWalking
Apache SkyWalking – это инструмент APM, ориентированный на микросервисы, приложения Cloud Native и архитектуры Kuernetes. Его архитектура построена на четырех видах компонентов:
* Зонды собирают данные телеметрии (метрики, журналы, трассировки и события). Они поддерживают несколько форматов вывода, включая OpenTelemetry. * Платформа объединяет и обрабатывает данные. * Хранилище предлагает интерфейс через поддерживаемый сервер. Поддерживаемые серверные части включают ElasticSearch, H2, MySQL, TiDB и BanyanDB, специальный механизм хранения, разработанный для SkyWalking. * Наконец, веб-UI позволяет визуализировать данные SkyWalking
.
Skywalking поддерживает несколько форматов, включая OpenTelemetry. Учитывая нынешнее внимание отрасли к OpenTelemetry, я рекомендую серьезно рассмотреть этот вариант.
Апач Дорис
Apache Doris – это хранилище данных, работающее в режиме реального времени.
Дорис предлагает четыре основных сценария:
- Анализ отчетов
- Специальный запрос
- Построение единого хранилища данных
- Запрос к озеру данных
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 г.
:::
Оригинал