zoukankan      html  css  js  c++  java
  • grpc的demo

    一 grpc的为什么比http快?

    1- 用Proto Buffer 作为序列化工具

    2- 采用http2协议,头部压缩,多路复用

    3- 基于netty的IO框架

    二 grpc的demo

    A lib工程

    作用:

    1- 编译protocol buffer定义的接口语言文件(***.proto)

    2- 提供grpc的JAVA语言jar包

    附录: 

    a: os-maven-plugin插件:            编当前操作系统和体系结构自动生成器

    b: protobuf-maven-plugin插件:  编译***.proto文件需要(它会自动下载编译需要的所有组件),以及设置存放路径

    c: idea插件 Protobuf Support 支持***.proto文件的高亮显示

    所需jar包

    <dependencies>
            <dependency>
                <groupId>io.grpc</groupId>
                <artifactId>grpc-netty</artifactId>
                <version>${grpc.version}</version>
            </dependency>
            <dependency>
                <groupId>io.grpc</groupId>
                <artifactId>grpc-protobuf</artifactId>
                <version>${grpc.version}</version>
            </dependency>
            <dependency>
                <groupId>io.grpc</groupId>
                <artifactId>grpc-stub</artifactId>
                <version>${grpc.version}</version>
            </dependency>
            <dependency>
                <groupId>io.netty</groupId>
                <artifactId>netty-common</artifactId>
                <version>${netty.common}</version>
            </dependency>
        </dependencies>

    ***.proto需要包含核心要素:

    1- 服务方法以及grpc的调用类型

    2- 入参类型的定义

    3- 返回值类型的定义

    B 服务端

    1- 引入lib工程的jar包

    2- 定义服务方法的业务逻辑

    3- 启动服务(指定端口)

    C 客户端

    1- 引入lib工程的jar包

    2- 通过服务端的开放端口创建连接开启channal通道

  • 相关阅读:
    Java运行环境(win10)
    maven封装jar包遇到的问题
    eclipse安装STS遇到的问题
    Redis IO多路复用的理解
    操作系统文章推荐
    jdk1.8新特性
    Maven笔记
    博主推荐
    MySQL文章推荐
    多线程文章推荐
  • 原文地址:https://www.cnblogs.com/domi22/p/10838704.html
Copyright © 2011-2022 走看看