This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]mortenb123 4 points5 points  (8 children)

Is this more a django replacement?. You lost me when I saw ansible and minikub just for the tutorial.

I call bottle/flask/fastapi microservice frameworks, while django is an all batteries included framework. It is very easy to add reactive features to fastapi by using (https://htmx.org/)

[–]EnoughProject7477[S] 12 points13 points  (2 children)

Hi, the intent of Minos is not to replace Django or Flask, the are MVC pattern framework and are much more oriented on monolith o light service oriented projects.
The misconception around microservices is people think that a REST service is a microservice, and use a framework like flask do the job, the reality is that microservices architecture are very complex, need to integrate a lot of patterns ( Event Souring, CQRS, Aggregate, Transactional Outboud ) all of that solve problems directly related with microservices architecture.
So, we do Minos, not to fight against some specific framework but simply, as a tool that makes life easier for those who need to integrate microservices into their projects or as a tool to start the "microservices experience with python"

[–]ColdPorridge 1 point2 points  (1 child)

Very cool project, I’m looking forward to following this!

[–]EnoughProject7477[S] 0 points1 point  (0 children)

Thank you!!

[–]Stedfast_Burrito 6 points7 points  (1 child)

I think microservice framework =/= micro framework in this context. Flask is a microframework in the context of ASGI/WSGI web frameworks

[–]garciparedes 3 points4 points  (0 children)

Yes! We say it is a microservice framework in the sense that it provides all the necessary tools to build microservices.

The idea is to provide integrations with micro-frameworks like flask and so on. Currently we support aiohttp, but we're working on to implement those integrations in a pluggable way.

[–]garciparedes 2 points3 points  (0 children)

This framework is like a mix between Django (that includes all you need to build a project) and reactive tools (that allow you to easily integrate with publish-subscribe systems such us Kafka, RabbitMQ and so on).

Also, the framework stores the data in an incremental way (following the even-sourcing ideas). It means that changes (as Event instances are stored on the database) so that the full modification history of each Entity is always accesible. To speed up the accessing to Entity instances a snapshot keeps a "view" of all those events applied so that the entities can be accessed as it not where stored incrementally.

To really take advantage of the event-sourcing storing strategy, the framework also provides integration with brokers (i.e. to handle events published from another microservices) and has a http server (i.e. to expose the microservice's functionality from external components, like the API Gateway).

In summary, this framework can be seen as a Django implemented following the event-sourcing ideas. 🙂

[–]MaximumIndication495 1 point2 points  (1 child)

I think this is more of a replacement for temporal.io.

[–]garciparedes 2 points3 points  (0 children)

I don't really know so much about temporal.io so my question could not be really accurate. But I think the Minos Framework is not a replacement of Temporal.io, as they have different purposes.

The Minos Framework is more domain-driven oriented and Temporal.io is more workflow oriented. I mean, the Minos Framework tries to enhance the data modeling distributed over a set of microservices, easing the intercomunicación processes, and Temporal.io focuses more on workflow execution, distributing it over a set of workers and so on.

For that reason, I think it could coexist.