Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Oskar Dudycz
    @oskardudycz
    Regarding the async commands - I mean published with some delay by background process e.g. using the Outbox Pattern (https://event-driven.io/en/outbox_inbox_patterns_and_delivery_guarantees_explained/)
    or through e.g. some external message bus as Kafka, RabbitMQ etc.
    In general command send with pub/sub semantic - so you're publishing command and expecting to get event at some point with success or failure.
    I'm not sure about your particular business case, so it's hard to suggest you which would be the best for you. But imho starting with proper boundaries, load analysis etc. is always good starting point ;)
    I appologize for a lecture :P
    Feel free to ask more questions if that wasn't clear answer ;)
    ErenForce
    @ErenForce
    No, no need to apologize this has been wonderful and I appreciate your time spent on me. I feel like I've become a struggling student that sat down with a professor :p
    I was not even aware that a microservice lives in its own process and spun up with docker or even systemd
    Oskar Dudycz
    @oskardudycz
    I got few scars on that by myself :D
    I think that microservice doesn't have to be on docker
    it could be a set of VMs
    But the common practice is use docker or kubernetes
    as it allows easier orchestration
    ErenForce
    @ErenForce
    I feel more comfortable with systemd however, is that useable
    Oskar Dudycz
    @oskardudycz
    :+1:
    I'm not sure if you're planning to use AWS but Aurora DB is an interesting concept
    It allows different engines - e.g. Postgres, MySQL
    and provides scallability around that
    ErenForce
    @ErenForce
    Cool, however I feel like starting with a microservice project is like hitting the ground running, and also traveling 30 miles and hour while doing so. My question is, is your GoldenEye bootstrap monolithic? Because I might actually use that so I don't shoot my foot aiming for the ground
    Oskar Dudycz
    @oskardudycz
    Yes, it's more monolithic
    or more per module
    it focuses on the module experience
    ErenForce
    @ErenForce
    Angular can happily live on top of this in the same process, correct?
    Oskar Dudycz
    @oskardudycz
    You can also look at @jeremydmiller Jasper https://jasperfx.github.io/documentation/durability/marten/
    ErenForce
    @ErenForce
    Maybe in a different project and dll though
    Oskar Dudycz
    @oskardudycz
    I personally were compiling the Angular to html/js
    and just host on web serwer
    It was a long time where I was using the Asp.NET for hosting the web framework ;)
    But I think that's doable as ASP.NET is just a wrapper for http server
    I think that MS has even some project templates around that
    ErenForce
    @ErenForce
    This is more of a question for Marten but how long are the transactions, are they per http request or per command/query?
    Oskar Dudycz
    @oskardudycz
    They're only wrapping the savechanges method
    ErenForce
    @ErenForce
    Oof so if the service goes down between message handling the event store could have events stored but unhandled by other parts of the application
    Oskar Dudycz
    @oskardudycz
    yes
    ErenForce
    @ErenForce
    Is there a recovery process in the template?
    Oskar Dudycz
    @oskardudycz
    nope, I'm planning to write my own outbox pattern implementation but I don't have it yet
    You can use Jasper - it has Marten outbox based
    Or implement own - http://www.kamilgrzybek.com/design/the-outbox-pattern/ - good article
    However, it all depends on the consequences of missing event and how stable is your deplyoment environment
    It's also good to have business compensation operation for such cases
    ErenForce
    @ErenForce
    So I thought long and hard, I want to use internal message handling to cut on development time. But as a backup in case of server crashes, well I want to be able to backup the database. Does your template have any support for that? Is this something that should be handled outside the application?
    Oskar Dudycz
    @oskardudycz
    @ErenForce underneath it's just Postgres so you can use Postgres backup
    ErenForce
    @ErenForce
    :+1: Cool