Google just open source. grpc, one based on High-performance, open-source, universal RPC for HTTP2 and protobuf Framework . Protobuf Although it provides RPC 's definition syntax itself,Google has been only open source for protobuf Serialization of the deserialized code, without the implementation of the open source RPC , so there are many different third-party RPC Implementation , but I used it in the projectWCFcollocationProtobufis a very goodRPCimplementation,GoogleThis framework is based on theHTTP2, which is where he has special features, such as two-way flow, flow control, head compression, single features such as multi-multiplexing requests on TCP connections. These features enable them to perform better on mobile devices, save power and conserve space.
from the perspective of implementation and characteristics,GrpcIt is more about the client and server communication in the case of mobile scenarios, as its self-proclaimed "General RPC Framework, that puts mobile and HTTP/2 first". HTTP2itself provides connectivity for multiplexing,Bodyand theHeadercompression and other mechanisms,Grpcbased on this, you can provide more efficient implementations. CurrentlyFirefox,Chrome,Safari,Opera,IOSversionSafari,AndroidversionChrome,Windows 8on theIE Oneare already supportedHTTP/2,Windows TenThe preview comes with a browser that also supports it. Apache,Windows Tenon theIISand theNginxHave been implemented.SPDY 3.1or4(This isHTTP/2, the rest of the job is for webmasters to upgrade the server software.
GrpcThe dependencies used are relatively new, such asProtbufneed to3.0version, C + +used ac++11, Javain the implementationNettyneed to5.0version, HTTP2was just finalized. Official support at this stageC + +,JAVA,Pythonand other three programming languages , and Cthe way to share libraries to supportnode. js, Python, Ruby, objective-c, PHPand theC #language (From this view,C + +, Javaand theGolangin theGooglehave the status of a class citizen). WhichJavathe implementation of language can also be used toAndroidClient,objective-cthe implementation is mainly forIOSclient.
look at the key.C #the implementation (Https://github.com/grpc/grpc/tree/master/src/csharp), the current code can only beMonounder operation, mainlyWindowsunder the ggrpc C core library p/invoke Packaging is not yet complete, it can be seen here that Google 's main development environment is Linux , the Mono support is also good, this is also an internet company domestic counterparts are very useful reference.
Google releases the first RPC framework based on HTTP/2 and Protobuf: Grpc