- Memudahkan pembangunan program konkuren dengan elemen-elemen sederhana dan dapat digunakan ulang
- Mengurangi boilerplate sambil mempertahankan model berbasis channel yang alami di Go
Fitur dan tujuan utama
- Menyederhanakan tugas concurrency yang umum
- Menyediakan cara yang aman dan rapi untuk eksekusi pekerjaan paralel, pemrosesan event real-time, dan lainnya.
- Mengabstraksikan kompleksitas goroutine, channel, dan pengelolaan error.
- Tetap memberikan kontrol penuh atas tingkat concurrency kepada developer.
- Mendukung penulisan kode yang modular
- Fungsi bekerja dengan menerima channel Go sebagai input dan mengembalikan channel hasil transformasi.
- Beberapa pekerjaan dapat dirangkai seperti chain, mirip dengan Unix pipe.
- Memusatkan penanganan error
- Error yang terjadi di pipeline dapat ditangani dari satu titik.
- Untuk kasus yang lebih kompleks, juga tersedia alat untuk mencegat atau menangani error di titik tertentu.
- Menyederhanakan pemrosesan stream
- Dapat memproses stream tak terbatas.
- Cocok untuk data berskala besar yang tidak muat di memori atau untuk pemrosesan real-time.
- Mendukung pekerjaan tingkat lanjut
- Menyediakan fitur lanjutan seperti batch processing, Map-Reduce, pemisahan stream, dan penggabungan.
- Mendukung pipeline tidak hanya linear tetapi juga berbentuk DAG (Directed Acyclic Graph).
- Mendukung ekstensi kustom
- Kompatibel dengan channel Go standar, dan mudah menambahkan fungsi buatan pengguna.
- Ringan dan tanpa dependensi
- API kecil dan zero-dependency sehingga mudah diintegrasikan ke proyek yang sudah ada.
- Meminimalkan penggunaan resource.
Belum ada komentar.