Skip to content

captainjono/rxns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1. Reactions

What?

  • Multi-Cloud Native
  • Elastically scalable
  • Reactive building blocks
  • For Reliable & Maintainable
  • Self-documenting, Cross-platform
  • Micro Apps!

And that means?

Reactions makes building, maintaining and taming Reactive Apps a pleasure.

How?

Use the familiar Rx API to create reactive micro apps, that can scale horiztonally or vertically by implementing the Reactions building blocks & patterns.

In Short!

  • Reactions are designed to grow with your app. Reactors move seemlessly from 0InProsss, to OutOfProcess, to Cloud with zero-downtime in seconds

  • Reactions are a way of seperating concerns in your app, de-coupling your buisness logic from your service logic from your scaling logic. The micro-arcitecture reimagines all facets of your app with a micro-service lense.

  • Reactions gives you insight into your app, exposing a rich set of a real-time diagnostics via its appstatus interface that can be accessed localy or remotely

  • Reactions is cloud native, without the cloud lock-in. Migrate from in-process to Cloud based Queues, ServiceBuses, Functions with basic code changes.

  • Reactions support partially or fully event sourced architectures while providing deep insight into the event flow and bottlenecks in your App.

Core motivations include:

  • IObservbale<T> everything
  • All features wrapped in domain interfaces
  • Testability and maintainability are a first order concern, along with speed and ergonomics
  • Sensible defaults that are resillisant to failures in occasionally connected environments
  • Take it as you come. Each building block can be taken in isolation or as a whole Module.
    • Allows you dip your toes in the water before drinking the cool-aid and going all in.
  • Without the cruft - dependency free on .NET5
    • Has been PCL complient since 2013
    • Will always work on any platform that .net supports
      • .NET5+ .netCore / Full framework 4.6.1+ / Mono / Xamarin / etc
  • Modern IDE friendly with an API that is discoverable via intellisense. Just start typing IRxn.. or Rxn.. and your on your way...

....Philisophy?

  • Reactions belives some services shouldnt be outsourced and provides a base-layer of functionality critical to any reactive app. Made up of intelligently choosen patterns and practices that dont lock you in... The idea being, as your apps hockey-stick kicks' in, you can replace any of these core functions with Cloud managed services in a cost-effective, piecemeal way.

What capabilities does Reactions provide?

Where or How should I apply Reactions to my code?

  • Creating app pipelines that are decoupled and well structured
  • Creating micro-services that are highly elastic
  • Creating decoupled micro-frontends with redux style, one-way data->flows
  • Creating high performance event sourced apps that run on commodity infrastructure
  • Useful for transitional architectures, adding event driven components to legacy systems in a peice-meal fashion
  • Remove bottlenecks in existing apps without going all in on cloud native concepts
  • Offloading tasks from expensive monoliths / database centeric systems
  • Sheilding your your domain modal / app from cloud lock-in