Muon is a young project, and is open for you to get involved.
We want Muon to be the best way to make distributed systems, Microservices, reseearch projects. The world is your oyster.
Depending on your skillset, there are different things we can work with you on.
We do much of our discussion on the Slack Group Also, sign up for our mailing list - https://groups.google.com/a/muoncore.io/forum/#!forum/muon-users
If you’re a developer who wants to work on Microservices technology, Muon is for you.
Right now, we’re working on
Muon core libraries (Java, Node, libMuon/Native)
Language bindings from libMuon to as many languages as we can cover
Re-usable Microservices giving general solutions to common problems. Our Software Lego.
If you have any experience in Java and Node, then expanding the capabilities of those existing libraries would be a great start.
If you have experience in Rust, we want to talk to you now about libMuon, the Native Muon library.
If you have experience in other languages, our intention is to provide those via a binding to libMuon.
We can start defining APIs and extensions now for those, with your help.
Protocols are message based interactions between services. We have a set of simple ones already
Event emit and streaming (backed by Photon)
We are working on more complex ones for advanced usage
Pipeline (stream oriented orchestration)
Transactional Events (full DDD style)
Various Agent Systems (FIPA, eg ContractNet)
We are looking to implement these in a cross platform way, using a common Protocol Language
This is being defined and worked on in the open, join the Muon slack channel #protocols to get involved.
The Muon ethos is based on systems that improve at the system level with services you add. Through composing services together, and integrating them via protocols.
With many Protocols, we need to implement services to provide functionality they may required (many protocols don’t)
Photon - event store implemented in Clojure. Backs the Event protocol
Molecule - enables UI composition for management
Future plans include
Security, via Protocols and the Aether service.
These will be able to be implemented in any language that has a working Muon library adn then be consumed by any of the others. Muon based services are language agnostic by design.
Muon is currently tested at the component level. We have some testing involving multiple components, mainly using docker compose for orchestration.
We need better multi component testing across the board.
With the new Protocol Language, we will gain some cross platform benefits, but we don’t yet have a testing story for the language yet.
Get in touch!
Muon has been built with a strong influence from academic and research topics. Much of the more advanced areas of Muon, around Protocol definition, are drawn directly from Agent based systems. If you are working in any of these areas, we would love to hear from you.
Specifically, Muon is suitable for
Implementing Agent systems
Researching and implementing Distributed Protocols
Providing a backbone for polyglot systems in a research setting
Apart from the above, our primary focus right now is community building. So if you have experience in that, and are willing to help the project, please get in contact and let us know your ideas.