It's frustrating. Many people want an interprocess subroutine call, and few OSs have the right primitives for it. (QNX does, and Windows sort of does, but the Linux/Unix world does not.) There's an endless collection of kludges so program A can call program B implemented on top of pipe/socket like mechanisms. OpenRPC and CORBA are out of fashion. Google protocol buffers help, but don't come with a standard RPC mechan…
Do you have a link for description of how it works in QNX?
The Future of Asynchronous IO in Python
41–50 of 51 posts
Re: The Future of Asynchronous IO in Python
#42I'm sorry to be negative but the grammar mistakes in this article were glaring.
Re: The Future of Asynchronous IO in Python
#43Do we really need to reinvent the wheels? Microservice, the async craze feels like, we now need to create a single wheel that is made up of many wheels, and spend an enormous time making it look and feel like a single wheel that was working fine, never mind that it serves absolutely no difference to the end user, it will make our next few years interesting because the old way of creating the wheel is boring and unexc…
Well, here is a good article: https://plus.google.com/+RipRowan/posts/eVeouesvaVX It seems that Amazon started using microservices in 2002. Do you think 12 years is not enough to learn on mistakes?
Re: The Future of Asynchronous IO in Python
#44> (The GIL) is there for other scripting languages too (Ruby, Perl, Node.js, to name a few) I don't know about Node, but I know it's perfectly possible to write "proper" multi threaded programs in Perl (and has always been since the version string started reporting support for threads, which should be a good 15 years ago). It's not terribly relevant to the article (because you normally don't write multi threaded prog…
Re: The Future of Asynchronous IO in Python
#45It's frustrating. Many people want an interprocess subroutine call, and few OSs have the right primitives for it. (QNX does, and Windows sort of does, but the Linux/Unix world does not.) There's an endless collection of kludges so program A can call program B implemented on top of pipe/socket like mechanisms. OpenRPC and CORBA are out of fashion. Google protocol buffers help, but don't come with a standard RPC mechan…
Re: The Future of Asynchronous IO in Python
#46Earlier quoted context omitted.
> Many people want an interprocess subroutine call, and few OSs have the right primitives for it. (QNX does, and Windows sort of does, but the Linux/Unix world does not.) Could you please elaborate on Windows part of your statement? What particularly are you referring to?
COM/DCOM have offered a relatively usable solution for interprocess and cross-machine RPC for... quite a while. I used it to do interprocess communication back in the VB6 era (it was built-in), and in fact I did it by accident . I picked the wrong checkbox in the project options, so I ended up with the user interface of my application and the backend literally running in separate processes. Other than the performance…
You accidentally summarized my experience with development on Windows in the nineties :-)
It's funny that what was designed as a feature of the ecosystem (tooling that abstracts complexity), completely turned me away from Windows development and into Linux development. Development on linux was, at the time, much cruder and closer to the metal. The positive note was that everyone was on the same boat, so documentation of low level routines, as well as community support, were flawless.
(not that I can, to this day, understand documentation created by kernel hackers, such as the documentation of nftables, tc or the ifb module, but I digress)
Re: The Future of Asynchronous IO in Python
#47Earlier quoted context omitted.
Maybe I'm dumb, but doesn't splitting up a web application into micro services have many other benefits such as modularity, constraining complexity, code reuse etc.?
Modularity: No. Your headache in creating a system of micro services will just be that much greater if you don't have modular code. I wouldn't call that a benefit even if it does end up with you writing more modular code. Constraining complexity: It actually makes complexity worse (what do you do when microservice A goes down? times out? returns data you can't deserialize? takes too long?). These things you do not ha…
Re: The Future of Asynchronous IO in Python
#48It's frustrating. Many people want an interprocess subroutine call, and few OSs have the right primitives for it. (QNX does, and Windows sort of does, but the Linux/Unix world does not.) There's an endless collection of kludges so program A can call program B implemented on top of pipe/socket like mechanisms. OpenRPC and CORBA are out of fashion. Google protocol buffers help, but don't come with a standard RPC mechan…
it’s not an OS primitive (yet: kdbus), but why does it need to?
Re: The Future of Asynchronous IO in Python
#49Earlier quoted context omitted.
>A system which serves millions of users spans multiple machines. It's much easier to scale and evolve your stack if you're keeping it decoupled. It can be much harder. Let's say that you have a zipcode address conversion library and you're deciding whether to use it within the web stack (option A) or to create an additional service with a REST API on a separate machine (option B). Microservices! Option A means that…
I don't see why would you need to have a load balancer for the zipcode service; if the service truly scales linearly with the number of application servers, you can simply tie them together 1-on-1 with simple configuration.
Re: The Future of Asynchronous IO in Python
#50Earlier quoted context omitted.
I don't see why would you need to have a load balancer for the zipcode service; if the service truly scales linearly with the number of application servers, you can simply tie them together 1-on-1 with simple configuration.
What, so one extra zipcode server for every application server?