Comments (10)
My apologies on the continuing lack of docs.
It is high on my priority list but other things continue to get in the way.
Orbit 2 is actually quite different to Orbit 1.
- It's a standalone application - Like a database or similar, you deploy instances of Orbit 2 (or use a managed service in theory)
- More generic - Orbit 2 is not specifically an actor framework but is a more generic routing, placement and messaging platform
- Model what you want - With the above, you can model different kinds of behaviors, from basic RPC to actors and streams. We provide default impls (such as virtual actors) in our client sdks to help you get started
- Standards are good - We've made the tech less custom by leveraging technology such as gRPC under the hood
- Polyglot - Because Orbit 2 is using industry accepted protocols etc, in theory it can work across languages by way of client SDKs. Currently we only have the Kotlin/JVM SDK but there is no reason we couldn't provide Go, NodeJS etc in future
- Modern - For the server side of things we've adopted Kotlin and in general the approach is more modern. We learned a lot of lessons from Orbit 1 and now we have a chance to address them in the core design
There is so much more it is hard to cover, how it does all of the above is quite interesting and I hope to be able to dive deep in the docs to describe it all.
In general, the takeaways are:
- Orbit is effectively a server/service that you access via a client sdk
- It's meant to help you with the problems inherent in how you place instances of objects, load balance between them and route messages to them in a distributed system
- We've pre-modelled some common use cases (such as virtual actors) to make it as friendly as possible.
One other small note I wanted to add, it is in a working state at this point, and internally we have early adopter customers starting to shake it down. I realize without docs it is quite painful, but it is possible to use.
Most of our future effort will be into:
- Handling shutdown etc more gracefully (with the goal of supporting zero downtime updates and similar)
- Some features that were present in Orbit 1 are not yet modelled in Orbit 2 (streams being the major one)
- Documentation
- Logging & metrics
- etc
from orbit.
Thanks for your interest. Unfortunately Orbit 2 is not yet in a working state, we're working hard to get it there and expect to have an early release in the next few weeks.
Documentation will accompany the release.
from orbit.
Hi folks. We've done an initial round of documentation to help with the concepts and onboarding.
Orbit Docs
There is also a sample app which can help fill in some blanks and get you going.
Orbit Sample
Hope that's helpful and we can get some time to beef up the docs in the future. We welcome any feedback and we also take contributions, including documentation, if you have them.
from orbit.
Hoping to learn more about the internal design and decisions made in the near future.
from orbit.
Thanks. I'm looking forward to it!
Keep the good work up 🙂
from orbit.
Orbit is really interesting, Any design concept ?
from orbit.
Since this is relative to the lack of documentation, what can we expect from Orbit 2.0?
Will it introduce some fundamental changes or is it just a rewrite in Kotlin to take advantage of features like suspending functions?
Sorry for the hijack.
from orbit.
If understood explanation correctly Orbit 2 is somewhat similar to Microsoft's new project called Dapr? Dapr uses sidecar app made with Go language that is running side by side with your client app you can write in any programming language and sidecar handles cluster management, virtual actor routing and storage etc. https://github.com/dapr/dapr
from orbit.
Looks great!
from orbit.
If understood explanation correctly Orbit 2 is somewhat similar to Microsoft's new project called Dapr? Dapr uses sidecar app made with Go language that is running side by side with your client app you can write in any programming language and sidecar handles cluster management, virtual actor routing and storage etc. https://github.com/dapr/dapr
There are definitely similarities, which is interesting!
from orbit.
Related Issues (20)
- DSL - Maven Plugin HOT 1
- Addressable Reference Boxing
- Memory Leak in ResponseTracking
- Basic Benchmarks
- Serialization System
- Gradle plugin - add dependency expression mechanism HOT 2
- Pipeline Error Propagation, Handling & Suppression
- OneWay messages
- Weak Referenced Addressables
- Clarify in documentation that `Actor.deactivate` is best effort, not guaranteed
- java.lang.IllegalStateException: Timer already cancelled. HOT 1
- Have you considered apache ignite. HOT 1
- Orbit 2 client exceptions should be able to be thrown as original HOT 2
- Orbit 2 - Improved diagnostics for silent actor routing failure HOT 2
- Documentation on the principles of virtual actors & comparison to Akka HOT 1
- Observable/stream support?
- Checked disabled radio have an hover effect HOT 1
- Installing orbit-ml with pip on Windows 10 HOT 1
- It looks like orbit is stale. Is the project still being worked on, just with no public releases? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from orbit.