I want to schedule a message. Amazon SQS provides a delay of 15 minutes, but I want it in some hours.
Example: Let's say a Message1 is consumed by a consumer A but somehow it failed inside the consumer. I would want to put it in a queue and retry after 4hrs. Can I do this in Amazon MQ? I have seen in some Amazon MQ videos saying scheduling messages can be done. But, I'm not sure how.
I am in the process of building a mobile application and releasing it to the AppStore. Currently, we're in a TestFlight Beta with ~ 1500 users with a front-end only native iOS app. Before releasing it to production, we would like to add the following functionalities:
User email authentication
Being able to store and synchronise individual user's data ( generated while interacting with the app each day -> "user session" ) between various devices
Having user session data ( anonymized ) available for an admin via a visual interface for querying, generating insights
Simple crud interface for remote configs
GDPR requirements ( e.g. workflows for removing or exporting user data, ideally a way to keep the anonymized data too )
Integration with 3rd party services like Mailchimp or Mixpanel ( which we already use, data is sent directly from the app )
Would appreciate any help with finding the right solution for this case given:
Costs (we don't expect large media files storage)
Flexibility to add new features related to the backend in the future
Infra setup and maintenance
What I've been thinking so far was one of: 1. BaaS AWS/Firebase 2. Custom backend with PostgreSQL 3. PaaS of a Realm type (mobile app already uses Realm for local persistence)
We use GraphQL for the communication between our Minecraft-Proxies/Load-Balancers and our global Minecraft-Orchestration-Service JCOverseer.
This connection proved to be especially challenging, as there were so many available options and very specific requirements and we tried our hardest to put as little complexity into this interface as possible.
Initially we considered designing our very own Netty based Packet-Protocol. While the performance of this approach probably would've been noteworthy, we would have had to write a lot of packets as the individual payloads would differ a lot and for the protocol specification a new project would've been needed, so we scrapped that idea.
Our second idea was to use a combination of Redis Key/Value store (in particular the ability to write whole, complex sets as the values of keys) for existing data, Redis Pub-Sub for the synchronization of new/changed/deleted data and a Vert.x based REST API for the mutation requests of the clients. While this would certainly have been possible, we decided against it, as redis offers no real other data types than strings and typing was important to us.
So we finally settled for GraphQL as it would allow us to define dynamic queries and mutations and additionally has subscriptions in store, so we would only need one component instead of three separate. The proxies register as subscribers to the server changes channel and fetch the current data set in advance. If they need to request changes, this is done through a mutation in GraphQL aswell.
The status of the invidiual servers is fetched through Docker healthchecks and a Docker client in the orchestration service, that subscribes to changed HEALTHINESS values in docker. If a service becomes unhealthy it is unregistered and synchronized through GraphQL. The healthcheck is comparable to a ping packet that expects a response in a given time frame.
My team is divided on using Centreon or Zabbix for enterprise monitoring and alert automation. Can someone let us know which one is better? There is one more tool called Datadog that we are using for cloud assets. Of course, Datadog presents us with huge bills. So we want to have a comparative study. Suggestions and advice are welcome. Thanks!
So my question is, to future-proof reusable components, which will be best React or Web Components? And which will be more reliable to use with 3rd party libraries?