Thread: Multi node server design, thoughts?

Page 2 of 2 FirstFirst 12
Results 11 to 13 of 13
  1. #11  
    Javascript junkie

    Join Date
    Oct 2017
    Posts
    49
    Thanks given
    8
    Thanks received
    9
    Rep Power
    21
    I haven't gone through all the replies, but I would definitely suggest use a messaging microservice like Kafka. You can set Kafka to never delete the messages, if a node goes down, it'll remain in queue and continue reading from where it left off.
    Reply With Quote  
     

  2. #12  
    Registered Member
    Join Date
    Dec 2013
    Posts
    419
    Thanks given
    127
    Thanks received
    85
    Rep Power
    349
    Quote Originally Posted by Galkon View Post
    A good practice is for the client to do as little as possible. If you depend on the client correctly pinging and choosing which server to connect to, you cannot control any of that logic until you update the client again and anyone using it updates. Maybe this is fine for a website, but if you put it behind a load balancer and the load balancer can be configured regardless of client version, you'd have more control.

    If you main DB goes down (let's say it's where you execute writes) and you have 2-3 read replicas, your site would still function 100% normally at a read-only level. Only when writes needed to go through would users experience issues.

    While I understand optimizing for being able to continuously serve your users during downtime, I would be curious why you are optimizing so much for downtime and ability to spin up new nodes and for databases to be regularly failing? It's important to know how to mitigate downtime, but not what you should be designing for imo, you've described a fairly simple service (clients connecting to REST APIs).
    In regards to my proposed design:

    I agree with the most part though it's not uncommon for clients to select their best servers. Games do this all the time. But yes, you're right on the most part though in this case it's perfectly fine.
    In my current sys setup, there's a load balancer for each region so US will have a load balancer between US nodes as you wouldn't want them connecting to Asia (assume multiple running instances of the same node).

    Read-only availability is fine actually and for my real world application actually sounds like less of hassle so I might personally go with that approach as you stated if approved.


    Quote Originally Posted by Galkon View Post
    While I understand optimizing for being able to continuously serve your users during downtime, I would be curious why you are optimizing so much for downtime and ability to spin up new nodes and for databases to be regularly failing? It's important to know how to mitigate downtime, but not what you should be designing for imo, you've described a fairly simple service (clients connecting to REST APIs).
    This was actually out of interest on Netflix's chaos programming principles. It's a really interesting topic and the OP is based off their implementation. Though, trying to be a bit more fancier with the whole ad-hoc implementation

    I have a business requirements of needing 100% availability as the company I work for is EU's defence and security. Supposedly, even a the shortest downtime could cost them 1000s. This isn't my proposed solution as of yet but just collecting some opinions first.




    Quote Originally Posted by Bossin View Post
    I haven't gone through all the replies, but I would definitely suggest use a messaging microservice like Kafka. You can set Kafka to never delete the messages, if a node goes down, it'll remain in queue and continue reading from where it left off.
    That's most likely the way to go while at the moment I am using Vertx's EventBus to communicate between microservices (they can integrate together afaik). A node is not a microservice in the OP though but an entire instance of the program that can operate standalone. The key for this is availability to the end user.
    Reply With Quote  
     

  3. #13  
    Javascript junkie

    Join Date
    Oct 2017
    Posts
    49
    Thanks given
    8
    Thanks received
    9
    Rep Power
    21
    Quote Originally Posted by Kiissmyswagb View Post
    I have a business requirements of needing 100% availability as the company I work for is EU's defence and security. Supposedly, even a the shortest downtime could cost them 1000s. This isn't my proposed solution as of yet but just collecting some opinions first.
    I know how that song goes... Our agency does work for the Australian Defence Force, they're our strictest client in terms of requirements. Hey, I rather they provide requirements, than us.
    Reply With Quote  
     

Page 2 of 2 FirstFirst 12

Thread Information
Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)


User Tag List

Similar Threads

  1. Replies: 30
    Last Post: 12-04-2010, 05:49 PM
  2. MTP - Multi World Server 24/7
    By marcbob in forum Advertise
    Replies: 23
    Last Post: 05-03-2010, 06:58 AM
  3. First step towards my multi-client server.
    By Darryl in forum Show-off
    Replies: 16
    Last Post: 01-09-2010, 02:09 AM
  4. server designer
    By wizzyt21 in forum Tools
    Replies: 2
    Last Post: 12-14-2009, 03:26 AM
  5. ProgressScape - A Multi-World Server
    By Eleclion in forum Downloads
    Replies: 20
    Last Post: 10-20-2007, 03:07 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •