top | item 39651243

(no title)

DrDeadCrash | 2 years ago

I once wrote a system for distributed data processing (8-10 years ago). There was a base class that when inherited from would, via Interception reroute a call to any virtual method to a server with the same interface loaded (plug-in architecture). The server would then delegate the method to one of its worker clients, which had the (same) required plugin(s) loaded. It worked over TCP on a local intranet. Once the admin-server-worker plugin system was figured out, projecting a virtual method was fairly transparent. There's always going to be some boiler-plate!

discuss

order

calebpeterson|2 years ago

I suspect parent was referring more to the runtime characteristics of latency, error handling, retries, load balancing, etc… more than the syntax.

Nonetheless, what you built sounds quite interesting: can you say anything more about the language, tech stack, etc…?

photonthug|2 years ago

Not OP but I too have built this, basically a few hundred lines of python to implement something like json rpc (plus introspection to answer help requests / publish typed api info) on top of AWS lambda.

osigurdson|2 years ago

I had to replace a .NET remoting based system with thousands of individual calls, with all manner of in process like conventions, with an http layer without changing client code at all in a few weeks.

The result was good but I still don't like transparent rpc (on large dev teams anyway).