Giter Site home page Giter Site logo

Any roadmap? about php-engine HOT 3 CLOSED

event-engine avatar event-engine commented on July 28, 2024
Any roadmap?

from php-engine.

Comments (3)

codeliner avatar codeliner commented on July 28, 2024 11

You're right, event-engine becomes event-machine 2.0. Unfortunately, we had to change the name due to naming conflicts with other existing projects and services. Other than that, event-engine is very similar to the concepts used in event-machine. We've added new features and refactored the core.

Highlights

  • prooph/service-bus is gone, event-engine takes over message routing as it holds the config for it anyway
  • prooph/event-sourcing is gone, was used internally and is now replaced with an engine specific aggregate root + repository. Both are important for the new MultiModelStore-Feature
  • Project-specific event store interface: prooph/event-store v7 is still the work horse behind the scenes but an event-engine specific interface makes sure that either event-store v8 or custom store implementations can easily be used together with event-engine. We only require a small feature set and give the event store implementation a lot of freedom to satisfy the contract
  • Multi-Model-Store: event-machine already ships with a document store interface + a postgres, mongodb and in-memory implementation. An "aggregate-projection" can be used together with the document store to make permanent snapshots of aggregate state. We took this idea a step further in event-engine. It is now possible (and it's the default) to store recorded events + the state snapshot of an aggregate in one go if both are stored in the same database and the database supports transactions. This gives you a strong consistency of aggregate state similar to an ORM. But domain events are still the driving factor and you can switch to async snapshots or events only at any time.

There are some more new features, but they are subject for a detailed blog post.

Roadmap

Event-Engine is in an experimental state. We still point users to event machine. We try to keep the public API of event engine as close to event machine as possible, so that an upgrade is possible without too much effort. However, the namespace change alone requires effort. We're sorry for that but it's the only possible way to move forward.

We got the chance to use the new event engine in an existing project wich was built on top of prooph v6 initially. Switching to EE was a smooth process and we could shutdown some projections by replacing them with the new permanent snapshot feature of EE. The system handles > 100.000 aggregates with > 10.000.000 events. A good first proof that EE works as expected.

Event Machine v1.0

Last tests are running this week then it's time to tag a first event engine dev version: v0.1
This is also the trigger for a final Event Machine release: Event Machine v1.0. Along with the release I'll publish an official roadmap.

EE Split

Aftet event engine v0.1 we start splitting the package. You might already noticed that the current package is more or less a mono repo containing multiple namespaces. We put them together for initial development, but the plan is to split them into smaller packages for better re-usability and easier exchange.

EE Docs

Next step is to move the docs + tutorial from Event Machine to EE and complete them.

EE Hardening

Last step before a EE v1.0 is a rock solid test suite. Many new features don't have extensive tests yet. We add then and test them in the wild due to time constraints. Not a solid foundation for a stable package but acceptable for an experimental one.

EE PaaS

This roadmap goes hand in hand with work not visible on Github ;) EE will be available as a PaaS offer, too. The PaaS will include features that go beyond plain software development. An official announcement can hopefully be made in two or three months.

I hope this answers your question for now. Thank you for your interest in Event Machine and Event Engine!

from php-engine.

devmsh avatar devmsh commented on July 28, 2024 1

@codeliner THANKS A LOT for the detailed reply, hope everything goes smoothly as planned.

Can't wait to test v0.1 and give you our feedback.

from php-engine.

codeliner avatar codeliner commented on July 28, 2024

Here we go: https://github.com/event-engine/php-engine/releases/tag/v0.1.0

from php-engine.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.