grpc学习笔记--Java版

本文介绍了如何使用gRPC进行Java环境下的远程调用。首先,对比了gRPC与Thrift,然后详细阐述了从安装protoc编译器,编写proto文件,配置pom.xml,到生成Java代码,最后实现服务端和客户端的全过程。通过实例展示了gRPC的简单高效,并提供了使用连接池优化长连接的方法。
摘要由CSDN通过智能技术生成

这几天由于工作的原因,涉及到系统之间的通信,rpc调用方式不失为内部系统之间的一种高效简单的方式,至于rpc是什么,这里不多说,自行Google去。
在比较了Thrift(Apache开源项目)和grpc(谷歌去年开源的一个项目)后,选择了grpc,这里不想多说它们两个之间的区别。
在阅读下面代码之前你先要去了解一下protocol buffer
本文涉及的程序,用的开发工具是idea2016.2.5,java环境是jdk1.8。
用idea新建一个maven项目,Id信息如下

<groupId>com.mingluck.test</groupId>
<artifactId>grpc</artifactId>

创建如下的目录结构(包括文件)
grpc
看下面的test.proto的内容:

syntax = "proto3";
package grpc;
option java_package = "com.mingluck.grpc";
option java_outer_classname = "HelloWorldServiceProto";
option java_multiple_files = true;

//服务端接口类
service Greeter {
  //服务端接口方法
  rpc SayHello (HelloRequest) returns (HelloReply) {}
}

//请求参数
message HelloRequest {
  string name = 1;
  string sex = 2;
}

//响应参数
message HelloReply {
  string message = 1;
}

其中java_package 指定了生成的类的包名
pom.xml如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.mingluck.test</groupId>
    <artifactId>grpc</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-all</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>3.0.0</version>
        </dependency>

        <dependency>
            <groupId>org.apache.commons<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值