DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Enterprise AI Trend Report: Gain insights on ethical AI, MLOps, generative AI, large language models, and much more.

2024 Cloud survey: Share your insights on microservices, containers, K8s, CI/CD, and DevOps (+ enter a $750 raffle!) for our Trend Reports.

PostgreSQL: Learn about the open-source RDBMS' advanced capabilities, core components, common commands and functions, and general DBA tasks.

AI Automation Essentials. Check out the latest Refcard on all things AI automation, including model training, data security, and more.

Related

  • Keep Your Application Secrets Secret
  • Cloud-Native Application Networking
  • Key Considerations When Implementing Virtual Kubernetes Clusters
  • Watching the Requests Go By: Reconstructing an API Spec with APIClarity

Trending

  • Test Parameterization With JUnit 5.7: A Deep Dive Into @EnumSource
  • Effective Communication Strategies Between Microservices: Techniques and Real-World Examples
  • Power BI: Transforming Banking Data
  • Implementation Best Practices: Microservice API With Spring Boot
  1. DZone
  2. Popular
  3. Open Source
  4. Five Apache Projects You Probably Didn’t Know About

Five Apache Projects You Probably Didn’t Know About

Learn more about Five Apache projects and some basic information about these five Apache projects.

By 
Nicolas Fränkel user avatar
Nicolas Fränkel
DZone Core CORE ·
Dec. 25, 23 · Analysis
Like (6)
Save
Tweet
Share
12.3K Views

Join the DZone community and get the full member experience.

Join For Free

In early 2021, I started to work on the Apache APISIX project. I have to admit that I had never heard about it before. In this post, I'd like to introduce some Apache projects that are less well-known than HTTPD or Kafka.

Apache APISIX

APISIX

APISIX is an API Gateway. It builds upon OpenResty, a Lua layer built on top of the famous Nginx reverse proxy. APISIX adds abstractions to the mix, e.g., Route, Service, Upstream, and offers a plugin-based architecture.

Lots of plugins are provided out of the box:

  • Transformation: response-rewrite, proxy-rewrite, gRPC, body-transformer, etc.
  • Authentication: JWT, OPA, Keycloak, OpenID Connect, etc.
  • Observability: metrics, logging, and traces
  • Traffic: rate limiting, request validation, canary release, etc.
  • Serverless: Azure functions, AWS Lambdas, OpenWhisk, etc.
  • Messaging: Kafka, Dubbo, and MQTT
  • Pre- and post-processing

If no plugin fits your requirements, writing your own is possible.

You can leverage APISIX on Kubernetes as an Ingress Controller. APISIX provides a Helm Chart for this.

Apache APISIX software Architecture


Apache ShardingSphere

Sharding Sphere

ShardingSphere claims to offer an ecosystem able to transform any database into a distributed database system. It acts as a proxy between your code and your database(s). It comes in two flavors:

  • ShardingSphere-JDBC: a JDBC driver that acts as a proxy to your database(s). It's only available for JVM-based applications.
  • ShardingSphere-Proxy: a technology-independent deployable component.

ShardingSphere offers several core features:

  • Data Sharding is the core feature, as the project's name implies. Most use cases focus on scaling purposes, but there are others, e.g., data residency requirements.
  • XA transactions for distributed transactions
  • Read/write splitting
  • Data encryption
  • etc.

Apache SeaTunnel

Apache Seatunnel

Apache SeaTunnel is a data integration platform that offers the three pillars of data pipelines: sources, transforms, and sinks. It offers an abstract API over three possible engines: the Zeta engine from SeaTunnel or a wrapper around Apache Spark or Apache Flink. Be careful, as each engine comes with its own set of features.

The power of SeaTunnel comes from its rich connector ecosystem. It does provide traditional SQL connectors, e.g., Oracle, PostgreSQL, and MySQL, and NoSQL ones, e.g., MongoDB, Cassandra, and Elasticsearch. However, it also comes bundled with some original ones, including Jira, Google Sheets, and Notion. I have a particular fondness for the CDC connector sources over MongoDB, MySQL, and Microsoft SQL Server.

Apache SeaTunnel workflow


SeaTunnel comes with a web UI, which provides visual management of jobs, scheduling, running, and monitoring capabilities.

Apache SkyWalking

Apache SkyWalking is an APM tool, focusing on microservices, Cloud Native apps, and Kuernetes architectures. It builds its architecture on four kinds of components:

  • Probes collect telemetry data (metrics, logs, traces, and events). They support multiple output formats, including OpenTelemetry.
  • The platform aggregates and processes data
  • The storage offers an interface over a supported backend. Supported backends include ElasticSearch, H2, MySQL, TiDB, and BanyanDB, a custom storage engine developed for SkyWalking
  • Finally, a web UI allows visualization of SkyWalking's data

SkyWalking's data


Skywalking supports a couple of formats, including OpenTelemetry. Given the industry's current focus on OpenTelemetry, I recommend seriously considering this option.

Apache Doris

Doris

Apache Doris is a real-time data warehouse.

Doris promotes four primary scenarios:

  • Reporting analysis
  • Ad-Hoc query
  • Unified data warehouse construction
  • Data lake query

Uses of Apache Doris


Doris is mostly MySQL compliant so you can use a regular MySQL client.

Discussion

The Apache Foundation hosts the projects above, but they have another thing in common: they were all incepted in China. Have a look at the Apache project list. You'll probably be amazed at the sheer number; it's close to 300!

In recent years, the number of projects incepted at the Apache Foundation has increased drastically. Look again at the list; I'm sure you only know a few of them - lots come from China. The trend is only growing; it's a great move to integrate China with the OpenSource world!

Just as I finish this post, my friend Stefano Fago has posted on another relevant project, Apache Paimon, a streaming data lake platform.

Apache Spark Java Database Connectivity API Kubernetes Open source

Published at DZone with permission of Nicolas Fränkel, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • Keep Your Application Secrets Secret
  • Cloud-Native Application Networking
  • Key Considerations When Implementing Virtual Kubernetes Clusters
  • Watching the Requests Go By: Reconstructing an API Spec with APIClarity

Partner Resources


Comments

ABOUT US

  • About DZone
  • Send feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends: