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通道

  • 相关阅读:
    [转]项目需求范围管理
    JavaScript 王者归来
    [转]大文件上传组件
    [转]使用vs2005自带的sql2005 express
    JS判断Caps Lock
    [转]Web项目管理思考
    [转]JS严格验证身份证
    两分钟用C#搭建IE BHO勾子, 窃取密码
    asp.net性能提升十个方法(Microsoft)
    [转]Asp.net 将js文件打包进dll 方法
  • 原文地址:https://www.cnblogs.com/domi22/p/10838704.html
Copyright © 2011-2022 走看看