Skip to content

twilson63/palmettoflow

Repository files navigation

palmetto

Palmetto Flow

Join the chat at https://gitter.im/twilson63/palmettoflow

ScreenShot

Palmetto Flow is a concept for building distributed first applications.

Palmetto Flow has a set of principles that enable you the developer to implement in technologies of your choice.

While each part of the system can be implemented in any technology, most of the current implementations are in nodejs and javascript. If you are interested in implmenting in other techologies and would like to share your implementations, please post an issue

With Palmetto Flow developers can create applications made up of components and services that can be exchanged or modified overtime with different technologies and patterns and approaches.

The core concept is to separate your application using loosely coupled processes that all subscribe to a publish/subscribe system, then components can publish requests and services can subscribe to topics and process the requests.

Features

Easy to understand

By structuring the application into components and services, it is easy for developers to understand and work together on features of the application. Services live near and own the data, components live near and own the presentation.

Re-Usability

By leveraging a publish/subscribe system services can serve many applications and components can be re-used in different applications.

Developer Flexibility

Building Componenents or Services in any technology of choice create flexibility to empower developers to work in the best technology for the task and not worry about having to modify or infect other parts of the application.

Benefits

Scalability

Since publish/subscribe is one to many, you can have many subscribers for the same service over several different locations, or you can use a push/pull pattern to have several workers and balance the load of requests amongst all of the workers. You can implement all of the common messaging patterns on top of publish/subscribe

Reliability

One of the key features of Palmetto Flow is the commit-log and the ability to replay the log to rebuild data sources from the beginning, creates a very reliable and stable data log, so if your service needs its data store rebuilt it is a very simple process.

Feature Consistency

By separating the concerns of the application features Palmetto Flow can continue to keep timeline of adding a new feature consistent regardless of versions or iterations.

Concepts

Discussion

https://gitter.im/twilson63/palmettoflow

or submit an Issue

Videos

Contribution

see contribution.md

License

see LICENSE

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published