Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3273870
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 17, 20262026-05-17T18:58:39+00:00 2026-05-17T18:58:39+00:00

I wonder if it’s a good idea letting local applications (in the same server)

  • 0

I wonder if it’s a good idea letting local applications (in the same server) communicate with each other entirely through Restful API?

I know this is not an uncommon thing, cause we already have applications like CouchDB that is using HTTP REST for communication, even with local applications.

But I want to take it to a higher level by creating applications that act like modules for a bigger application, which could also be a module for another application and so on. In other words, there will be a lot of local applications/modules that are communicating with Restful API.

In this way these applications/modules could be in any language and they could communicate over the wire between servers.

But I have some questions:

  • Is this a good idea?
  • Will the data transfer between them be slow?
  • If I do this, then each application/module have to be a HTTP server right? So if my application uses 100 applications/modules then each one of these have to be a local HTTP web server each running on a different port (http://localhost:81, http://localhost:82, http://localhost:83 and so on) right?
  • Any best practices/gotchas that I should know of?
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-17T18:58:40+00:00Added an answer on May 17, 2026 at 6:58 pm
    • Is this a good idea?

    Sure, perhaps.

    • Will the data
      transfer between them be slow?

    Yup! But compared to what? Compared to native, internal calls, absolutely — it’ll be glacial. Compared to some other network API, eh, not necessarily slower.

    • If I
      do this, then each application/module
      have to be a HTTP server right? So if
      my application uses 100
      applications/modules I have to have
      100 local HTTP web servers up and
      running each with different port
      (http://localhost:81,
      http://localhost:82,
      http://localhost:83 and so on)?

    Nah, no reason to allocate a port per module. All sorts of ways to do this.

    • Any
      best practices/gotchas that I should
      know of?

    The only way this will succeed is if the services you are talking about are coarse enough. These have to be big, black boxy kinds of services that make the expense of calling them worthwhile. You will be incurring connection costs, data transfer costs, and data marshaling cost on each transaction. So, you want those transactions to be as rare as possible, and you want the payloads to be as large as possible to get the best benefit.

    Are you talking actually using the REST architecture or just sending stuff back and forth via HTTP? (These are different things) REST incurs its own costs, include embedded linkages, ubiquitous and common data types, etc.

    Finally, you simply may not need to do this. It might well be “kinda cool”, a “nice to have”, “looks good on the white board”, but if, really, don’t need it, then don’t do it. Simply follow good practices of isolating your internal services so that should you decide later to do something like this, you can just insert the glue layer necessary to manage the communication, etc. Adding remote distribution will increase risk, complexity and lower performance, (scaling != performance) so there should be a Good Reason to do it at all.

    That, arguably, is the “best practice” of them all.

    Edit — Response to comment:

    So you mean I run ONE web server that
    handle all incoming requests? But then
    the modules won’t be stand-alone
    applications, which defeats the whole
    purpose. I want each one of the
    modules to be able to run by itself.

    No, it doesn’t defeat the purpose.

    Here’s the deal.

    Let’s say you have 3 services.

    • http://store.example.com/service1

    • http://blog.example.com/service2

    • http://forum.example.com/service3

    At a glance, it would be fair to say that these are three different services, on 3 different machines, running in 3 different web servers.

    But the truth is that these can all be running on the SAME machine, on the SAME web server, even down to (to take this to the extreme) running the exact same logic.

    HTTP allows you to map all sorts of things. HTTP itself is mechanism of abstraction.

    As a client all you care about is the URL to use and the payload to send. What machine it ends up talking to, or what actual code it executes it not the clients problem.

    At an architecture level, you have achieved a manner of abstraction and modularization. The URLs let you organize you system is whatever LOGICAL layout you want. The PHYSICAL implementation is distinct from the logical view.

    Those 3 services can be running on a single machine served by a single process. On the other hand, they can represent 1000 machines. How many machines do you think respond to “www.google.com”?

    You can easily host all 3 services on a single machine, without sharing any code save the web server itself. Making it easy to move a service from its original machine to some other machine.

    The host name is the simplest way to map a service to a machine. Any modern web server can service any number of different hosts. Each “virtual host” can service any number of individual service endpoints within the name space of that host. At the “host” level its trivial to relocate code from one machine to another if and when you have to.

    You should explore more the capabilities of a modern web server to direct arbitrary requests to actual logic on the server. You’ll find them very flexible.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Wonder what the difference between: static PROCESSWALK pProcess32First=(PROCESSWALK)GetProcAddress(hKernel,Process32First); ... pProcess32First(...); what is hKernel? Look
I wonder if someone knows if there is a pre-made solution for this: I
I wonder how you guys manage deployment of a database between 2 SQL Servers,
I wonder if anyone uses commercial/free java obfuscators on his own commercial product. I
I wonder why would a C++, C#, Java developer want to learn a dynamic
I wonder how long it would usually take for: Professional Average Beginner to setup
I wonder if They can work perfectly together...
I wonder if this would be doable ? To insert an array into one
I wonder if there is a way to either programatically or using a third
I wonder what the time complexity of the pop method of list objects is

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.