An open API service indexing awesome lists of open source software.

https://github.com/josephgoksu/reactive-microservices

This project epitome of reactive microservice architecture. Protocols, transports, unit/e2e tests and implementations are all in the same place.
https://github.com/josephgoksu/reactive-microservices

functional-programming functional-reactive-programming microservice microservices microservices-architecture nestjs rxjs

Last synced: 9 months ago
JSON representation

This project epitome of reactive microservice architecture. Protocols, transports, unit/e2e tests and implementations are all in the same place.

Awesome Lists containing this project

README

          

# Reactive MicroServices (w/ Functional Programming)

(UNDER DEVELOPMENT!)

**This project epitome of reactive microservice architecture. Protocols, transports, unit/e2e tests and implementations are all in the same place.**

## Key elements of FRP (Functional Reactive Programming)

Functional reactive programming (FRP) is a programming paradigm for reactive programming (asynchronous dataflow programming) using the building blocks of functional programming (e.g. map, reduce, filter).

- **Responsive**: "The system is responsive whenever possible. Being responsive is the cornerstone of usability and practicality. More importantly, being responsive enables you to quickly detect and effectively handle problems."
- **Resilient**: "The system can remain responsive even when a failure occurs. This feature is not only necessary for highly available and mission-critical systems. Any system that lacks resilience will become unresponsive when a failure occurs. Resilience is implemented through replication, suppression, isolation, and delegation."
- **Scalable (Elastic)**: "The system can remain responsive as its workloads constantly change. A Reactive system can react to rate changes in input workloads by increasing or reducing the resources allocated to serve these input workloads."
- **Event-Driven (Message-Driven)**: "Reactive systems depend on asynchronous messaging, which ensures clear boundaries between loosely coupled, isolated, and transparently positioned components. The boundaries also provide a means to delegate a failure as a message."

---

## Services in the MonoRepo

- _API Gateway_: **That can be used as a client to call another microservice.**
- _Service-X_:
- _Service-Y_:
- _Service-Z_:

---

References:

- FP definition: en.wikipedia.org/wiki/Functional_reactive_programming

- FP Elements: alibabacloud.com/blog/reactive-programming-is-the-architecture-of-the-future_597251