Skip to content

Commit 0a3c8bb

Browse files
authored
Merge pull request #310 from devstress/copilot/remove-old-wikis-and-update-readme
Reorganize documentation: Remove outdated wiki, add comprehensive user instruction guides
2 parents 36b533b + 1023f3b commit 0a3c8bb

38 files changed

+2569
-756
lines changed

LearningCourse/Day04-Production-Backpressure/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1210,7 +1210,7 @@ These exercises implement the **specific distributed rate limiting concepts** co
12101210
- **[Uber's Rate Limiting at Scale](https://eng.uber.com/scaling-api-with-rate-limiter/)** - Regional budget bank patterns
12111211

12121212
### 🏛️ Internal References
1213-
- **[Getting Started Guide](../../docs/wiki/Getting-Started.md)** - Basic setup and quick start
1213+
- **[Getting Started Guide](../../docs/getting-started.md)** - Basic setup and quick start
12141214
- **[Local Testing Setup](../../docs/local-testing-setup.md)** - Development environment
12151215

12161216
### 🔬 Academic References

README.md

Lines changed: 30 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -197,136 +197,35 @@ Traditional solutions require Java expertise or vendor lock-in. FlinkDotNet brin
197197
3. Submit to Flink cluster via Gateway - prebuilt Java runner interprets IR
198198
4. Jobs run at full Flink performance on production clusters
199199

200-
## Key Features
201-
202-
| Feature | Description |
203-
|---------|-------------|
204-
| **DataStream API** | Complete Apache Flink 2.1 API: map, filter, flatMap, window, aggregate, join |
205-
| **Kafka Integration** | First-class support for Kafka sources and sinks |
206-
| **Event-Time Processing** | Watermarks, late data handling, time windows (tumbling/sliding/session) |
207-
| **Exactly-Once** | Checkpointing and savepoints for fault tolerance |
208-
| **Dynamic Scaling** | Flink 2.1 adaptive scheduler, reactive mode, savepoint-based scaling |
209-
| **Workflow Integration** | Temporal.io platform integration for complex orchestration |
210-
| **Local Development** | .NET Aspire integration - start full stack with one command |
211-
| **Enterprise Observability** | Full PGL stack (Prometheus, Grafana, Loki) + OpenTelemetry |
212-
213-
## Proven at Scale
214-
215-
**10 Integration Tests Passing** - Complete pipeline validated on every commit
216-
217-
🔗 [**View Live Test Results**](https://github.com/devstress/FlinkDotnet/actions/workflows/localtesting-integration-tests.yml)
218-
219-
**What's validated:**
220-
- ✅ Kafka producer/consumer with Flink processing
221-
- ✅ Basic transformations (map, filter, flatMap)
222-
- ✅ Stateful processing (timers, event-time windows)
223-
- ✅ Flink SQL via TableEnvironment and SQL Gateway
224-
- ✅ Complex multi-step pipelines
225-
- ✅ Aspire orchestration and service discovery
226-
- ✅ Temporal workflow integration
227-
228-
## Real-World Use Cases
229-
230-
**Financial Services** - Real-time fraud detection, risk calculation, regulatory reporting
231-
**E-commerce** - Order processing, inventory management, personalization
232-
**IoT/Manufacturing** - Sensor data processing, predictive maintenance, quality control
233-
**Healthcare** - Patient monitoring, care coordination, compliance tracking
234-
235-
See [**Architecture & Use Cases**](docs/architecture-and-usecases.md) for detailed implementations.
236-
237-
## Project Structure
238-
239-
```
240-
FlinkDotNet/
241-
├── FlinkDotNet.DataStream/ # Core FlinkDotnet unified package (DataStream API, Common, JobBuilder)
242-
├── FlinkDotNet.JobGateway/ # Job submission service
243-
└── Test Projects/ # Unit and integration tests
244-
245-
LocalTesting/ # Complete local dev environment
246-
├── LocalTesting.FlinkSqlAppHost/ # .NET Aspire orchestration
247-
└── LocalTesting.IntegrationTests/ # End-to-end validation tests
248-
249-
LearningCourse/ # 15-day learning path
250-
├── IntegrationTests.sln/ # Dedicated solution for course tests
251-
└── Day01-Day15/ # 15 days of hands-on exercises
252-
```
253-
254200
## Documentation
255201

256-
| Guide | Description |
257-
|-------|-------------|
258-
| [**Getting Started**](docs/wiki/Getting-Started.md) | Complete setup and first job |
259-
| [**Architecture & Use Cases**](docs/architecture-and-usecases.md) | System design, scaling strategies, real-world examples |
260-
| [**API Reference**](docs/api-reference.md) | Complete DataStream API documentation |
261-
| [**Flink vs Kafka Streams vs Temporal**](docs/flink-vs-temporal-decision-guide.md) | When to use each technology |
262-
| [**Learning Course**](LearningCourse/README.md) | 15-day hands-on exercises |
263-
| [**Contributing**](CONTRIBUTING.md) | Development guidelines |
264-
265-
### Quick Links
266-
267-
- 📖 [Quickstart Guide](docs/quickstart.md)
268-
- 🔧 [Local Development Setup](docs/local-testing-setup.md)
269-
- 📊 [Observability & Monitoring](docs/observability.md)
270-
- 🚨 [Troubleshooting](docs/troubleshooting.md)
271-
- 🔄 [CI/CD Integration](docs/ci-cd-integration.md)
272-
273-
## Learning Path
202+
📚 **Complete guides and references for all aspects of FlinkDotNet:**
274203

275-
New to FlinkDotNet? Follow our [**15-Day Learning Course**](LearningCourse/README.md):
204+
### Getting Started
205+
- **[Getting Started Guide](docs/getting-started.md)** - Complete setup, first job, and local development
206+
- **[Quickstart](docs/quickstart.md)** - 5-minute minimal example
207+
- **[Installation Options](docs/getting-started.md#installation-options)** - NuGet, Docker, and source installation
208+
- **[User Instructions Wiki](docs/wiki/)** - Detailed guides for Client, Gateway, and Docker deployment
276209

277-
- **Days 1-2:** Kafka + Flink fundamentals, stream processing basics
278-
- **Days 3-4:** Event-time windowing, backpressure handling
279-
- **Days 5-6:** Temporal workflows, enterprise observability
280-
- **Days 7-8:** Stress testing, exactly-once semantics
281-
- **Days 9-10:** Performance tuning, security patterns
282-
- **Days 11-14:** Disaster recovery, chaos engineering
283-
- **Day 15:** Capstone project
210+
### Core Documentation
211+
- **[Features](docs/features.md)** - Complete feature list with Apache Flink 2.1 capabilities
212+
- **[API Reference](docs/api-reference.md)** - Complete DataStream API documentation
213+
- **[Architecture & Use Cases](docs/architecture-and-usecases.md)** - System design and real-world examples
284214

285-
Each day includes working code examples and integration tests.
215+
### Advanced Topics
216+
- **[Performance Benchmarks](docs/performance-benchmarks.md)** - Throughput metrics and optimization
217+
- **[Observability & Monitoring](docs/observability.md)** - Metrics, logging, and tracing
218+
- **[Deployment](docs/deployment.md)** - Production deployment strategies
219+
- **[Troubleshooting](docs/troubleshooting.md)** - Common issues and solutions
286220

287-
## Apache Flink 2.1 Support
221+
### Technology Decisions
222+
- **[Flink vs Temporal Decision Guide](docs/flink-vs-temporal-decision-guide.md)** - When to use each technology
223+
- **[Apache Flink 2.1 Features](docs/flink-21-features.md)** - Complete API mapping
288224

289-
FlinkDotNet implements extensive Apache Flink 2.1 features:
290-
291-
- **Adaptive Scheduler** - Automatic parallelism optimization
292-
- **Reactive Mode** - Elastic scaling based on cluster resources
293-
- **Dynamic Scaling** - Change parallelism without job restart
294-
- **Advanced Partitioning** - Rebalance, rescale, forward, shuffle, broadcast, custom
295-
- **Savepoint Operations** - Create, restore, scale from savepoints
296-
- **Fine-grained Resource Management** - Slot sharing groups, resource profiles
297-
298-
See [**Apache Flink 2.1 Features**](docs/flink-21-features.md) for complete API mapping.
299-
300-
## Performance
301-
302-
**Validated throughput** (LocalTesting environment):
303-
- 📈 **800K+ messages/sec** through complete Kafka → Flink → Output pipeline
304-
- 📈 **80K+ msg/sec per Kafka partition** (20 partitions tested)
305-
- 📈 **10% Temporal workflow processing** (80K workflows/sec) with full orchestration
306-
- 📈 **3 TaskManagers, 8 slots each** = 24 parallel task capacity
307-
308-
See [**Performance Benchmarks**](docs/performance-benchmarks.md) for detailed metrics.
309-
310-
## Community & Support
311-
312-
- 💬 **GitHub Issues** - Bug reports and feature requests
313-
- 📧 **Discussions** - Architecture questions and best practices
314-
- 🌟 **Star the repo** - Stay updated on releases
315-
- 🤝 **Contribute** - See [CONTRIBUTING.md](CONTRIBUTING.md)
316-
317-
## Comparison
318-
319-
| Feature | FlinkDotNet | Kafka Streams | AWS Kinesis | Azure Stream Analytics |
320-
|---------|-------------|---------------|-------------|------------------------|
321-
| Language | **C# native** | Java/Scala | Multiple | SQL/JavaScript |
322-
| Scale | Millions/sec | < 100K/sec | Thousands/sec | Cloud-dependent |
323-
| Exactly-Once | ✅ External systems | ✅ Kafka only |||
324-
| Complex CEP |||| Limited |
325-
| Multi-Cloud ||| AWS only | Azure only |
326-
| Local Dev | ✅ Aspire ||||
327-
| Cost | Infrastructure | Infrastructure | Per shard | Per job |
328-
329-
See [**Technology Decision Guide**](docs/flink-vs-temporal-decision-guide.md) for detailed comparison.
225+
### Learning Resources
226+
- **[15-Day Learning Course](LearningCourse/README.md)** - Comprehensive hands-on training
227+
- **[Local Testing Setup](docs/local-testing-setup.md)** - Development environment details
228+
- **[Contributing Guide](CONTRIBUTING.md)** - Development guidelines
330229

331230
## Requirements
332231

@@ -335,6 +234,13 @@ See [**Technology Decision Guide**](docs/flink-vs-temporal-decision-guide.md) fo
335234
- **Apache Flink 2.1 cluster** - Production deployments
336235
- **Apache Kafka** - For stream sources/sinks (optional)
337236

237+
## Community & Support
238+
239+
- 💬 **[GitHub Issues](https://github.com/devstress/FlinkDotnet/issues)** - Bug reports and feature requests
240+
- 📧 **[Discussions](https://github.com/devstress/FlinkDotnet/discussions)** - Architecture questions and best practices
241+
- 🌟 **Star the repo** - Stay updated on releases
242+
- 🤝 **[Contribute](CONTRIBUTING.md)** - Development guidelines
243+
338244
## License
339245

340246
MIT License - see [LICENSE](LICENSE) for details.
@@ -349,6 +255,6 @@ Built on top of:
349255

350256
---
351257

352-
**Ready to process billions of events?** Start with the [Quick Start](#quick-start) or explore the [Learning Course](LearningCourse/README.md).
258+
**Ready to process billions of events?** Start with the [Getting Started Guide](docs/getting-started.md) or explore the [15-Day Learning Course](LearningCourse/README.md).
353259

354260
🌟 **Star this repo** to stay updated on new features and releases.

docs/api-reference.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -576,5 +576,5 @@ env.GetCheckpointConfig()
576576

577577
- [Architecture Guide](architecture-and-usecases.md) - System design and scaling
578578
- [Flink 2.1 Features](flink-21-features.md) - Apache Flink 2.1 compatibility
579-
- [Getting Started](wiki/Getting-Started.md) - Setup and first job
579+
- [Getting Started](getting-started.md) - Setup and first job
580580
- [Examples](../LearningCourse/README.md) - Hands-on learning course

0 commit comments

Comments
 (0)