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 Slide

  2. XIPBNJ
    5BSP"PLJ LUS

    !LUS
    !LUS@
    "VOJWFSTJUZTUVEFOUJO
    !

    View Slide

  3. gRPC
    "IJHIQFSGPSNBODF PQFOTPVSDF

    VOJWFSTBM31$GSBNFXPSL
    https://grpc.io

    View Slide

  4. Easy to build & 

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

    UIFJOUFSGBDFTBHBJO

    View Slide

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

    View Slide

  6. %J⒏DVMUUPEFCVHBO
    BQQMJDBUJPO

    View Slide

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

    1SPUPDPM#V⒎FST OPUUFYUCBTFE

    View Slide

  8. Testing a REST API is easy
    w

    View Slide

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

    1SPUPDPM#V⒎FST OPUUFYUCBTFE
    w$BOOPUVTFDVSMPS8HFUBTBEFCVHHJOHUPPM
    w8FOFFETQFDJBMEFCVHHJOHUPPMT

    View Slide

  10. gRPC debugging tools
    wOKQBUFMHSQDD
    wGVMMTUPSZEFWHSQDVSM
    wFUD

    View Slide

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

    View Slide

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

    View Slide

  13. fullstorydev / grpcurl

    View Slide

  14. 5IFTFBSFTPVTFGVM 

    CVU

    *DPVMEOUSFNFNCFS

    UIFTFVTBHFTBOEQSPUPCVGEFpOJUJPOT

    View Slide

  15. *XBOUBH31$DMJFOU

    XIJDIDBOEFCVHNPSFFBTJMZ

    View Slide

  16. -FU`TXSJUFOFXPOF

    View Slide

  17. LUSFWBOT

    View Slide

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

    View Slide

  19. EFNP
    LUSHPQIFSDPOMUEFNP

    View Slide

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

    View Slide

  21. View Slide

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

    View Slide

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

    View Slide