Git Product home page Git Product logo

Comments (4)

frankdejonge avatar frankdejonge commented on July 24, 2024

Hi @jeffagostinho,

This means you have a concurrency issue. Such issues are out of scope for EventSauce itself but I can help you deal with them if you like. What kind of service layer does you application have? Do you have service classes or a command handling setup? Additionally, what kind of database are you using?

from eventsauce.

jeffagostinho avatar jeffagostinho commented on July 24, 2024

Eae @frankdejonge, all right?

This is real, we have the concurrency problem. I ended up identifying when I ran tests on a microservice that we are developing in PHP Swoole using Hyperf, at first I thought it was some detail of this new way to build PHP apps, but I ran some tests on another microservice in Lumen and noticed that we have the same problem

These Lumen microservices run on infra k8s and we are using MongoDB

Thanks for helping

from eventsauce.

frankdejonge avatar frankdejonge commented on July 24, 2024

I didn't understand the first sentence. What does eae mean?

For concurrency problems you need some kind of concurrency control. Normally in SQL databases you can do a couple of things, like forcing a row lock using SELECT x FOR UPDATE or the GET_LOCK/RELEASE_LOCK functions. You can also use a general purpose mutex on a shared piece of infra like a redlock. The "problem" with the redlock is that your operation could exceed the lock time for long background jobs.

I'm not overly familiar with MongoDB, but from what I remember it does not have locking capabilities that allow you to explicitly lock documents like SQL databases do. So in your case, probably best to implement a general purpose mutex. When you have this in place, you can decorate your service layer or command bus with the locking mechanism to prevent concurrent access to the underlying document.

from eventsauce.

jeffagostinho avatar jeffagostinho commented on July 24, 2024

Sorry @frankdejonge, eae would be hey kkk

I understand what you said, I will research more about it. Thank you very much for your availability and congratulations on the project

from eventsauce.

Related Issues (20)

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.