Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Evans: more expressive gRPC client

ktr
September 02, 2018

Evans: more expressive gRPC client

The presentation for GopherCon 2018 Lightning Talks.

ktr

September 02, 2018
Tweet

More Decks by ktr

Other Decks in Programming

Transcript

  1. at GopherCon 2018 LT
    more expressive gRPC client
    Evans

    View full-size slide

  2. XIPBNJ
    5BSP"PLJ LUS

    !LUS
    !LUS@
    "VOJWFSTJUZTUVEFOUJO
    !

    View full-size slide

  3. gRPC
    "IJHIQFSGPSNBODF PQFOTPVSDF

    VOJWFSTBM31$GSBNFXPSL
    https://grpc.io

    View full-size slide

  4. Easy to build & 

    maintain the API spec
    w 5IF"1*JOUFSGBDFTCFUXFFOUXPBQQMJDBUJPOT
    BSFHFOFSBUFEGSPN1SPUPDPM#V⒎FST
    w *GUIF"1*TQFDJTDIBOHFE ZPVDBOHFOFSBUF

    UIFJOUFSGBDFTBHBJO

    View full-size slide

  5. Easy to use streams
    w $MJFOUTJEFTUSFBNJOH
    w 4FSWFSTJEFTUSFBNJOH
    w #JEJSFDUJPOBMTUSFBNJOH

    View full-size slide

  6. %J⒏DVMUUPEFCVHBO
    BQQMJDBUJPO

    View full-size slide

  7. Difficult to debug an
    application
    wH31$PGUFOVTFTBCJOBSZTFSJBMJ[FSMJLF

    1SPUPDPM#V⒎FST OPUUFYUCBTFE

    View full-size slide

  8. Testing a REST API is easy
    w

    View full-size slide

  9. Difficult to debug an
    application
    wH31$PGUFOVTFTBCJOBSZTFSJBMJ[FSMJLF

    1SPUPDPM#V⒎FST OPUUFYUCBTFE
    w$BOOPUVTFDVSMPS8HFUBTBEFCVHHJOHUPPM
    w8FOFFETQFDJBMEFCVHHJOHUPPMT

    View full-size slide

  10. gRPC debugging tools
    wOKQBUFMHSQDD
    wGVMMTUPSZEFWHSQDVSM
    wFUD

    View full-size slide

  11. njpatel / grpcc
    %FCVHHJOHBH31$TFSWFSXJUIJOUFSBDUJWFMZ
    :PVOFFEUPXSJUF+BWB4DSJQUPO3&1-NPEF
    *UIBTOPDPNQMFUJPOT

    View full-size slide

  12. fullstorydev / grpcurl
    4JNQMF CVUWFSZQPXFSGVM
    w +VTUMJLFDVSM
    8FOFFEUPSFNFNCFSUIFSFRVFTUpFMET

    View full-size slide

  13. fullstorydev / grpcurl

    View full-size slide

  14. 5IFTFBSFTPVTFGVM 

    CVU

    *DPVMEOUSFNFNCFS

    UIFTFVTBHFTBOEQSPUPCVGEFpOJUJPOT

    View full-size slide

  15. *XBOUBH31$DMJFOU

    XIJDIDBOEFCVHNPSFFBTJMZ

    View full-size slide

  16. -FU`TXSJUFOFXPOF

    View full-size slide

  17. ktr0731 / evans
    w8SJUUFOJO(P PGDPVSTF
    w&YUSFNFMZFBTZUPVTF
    w8PSLTXJUIH31$1SPUPDPM#V⒎FST

    View full-size slide

  18. EFNP
    LUSHPQIFSDPOMUEFNP

    View full-size slide

  19. Services in the demo
    w6TFS4FSWJDF
    w$36%TFSWJDFGPSVTFST
    w(SFFUFS4FSWJDF
    w(SFFUTUPUIFSFRVFTUFEVTFS
    w6OBSZBOE4USFBN"1*T

    View full-size slide

  20. Other cool features
    w3FqFDUJPOTVQQPSU⚡
    wH31$8FCTVQQPSU
    w"VUPVQEBUJOH

    View full-size slide

  21. $POUSJCVUJPO8FMDPNF
    https://github.com/ktr0731/evans

    View full-size slide