Einführung in gRPC: Das moderne Toolkit für Microservices-Kommunikation

Einführung in gRPC: Das moderne Toolkit für Microservices-Kommunikation

gRPC ist ein modernes, leistungsstarkes Open Source RPC (Remote Procedure Call) Framework, das auf jeder Plattform eingesetzt werden kann. Es verbindet effizient Services in und zwischen Rechenzentren und bietet Erweiterungen für Load Balancing, Tracing, Health Checking und Authentifizierung. Diese Session ist eine Einführung in gRPC, die Ihnen die Werkzeuge an die Hand gibt, um Ihre Anwendungen mit gRPC für die Zukunft bereit zu machen. Sie erfahren, wie gRPC funktioniert, wozu es in der Lage ist, und lernen, wie es in Produktionssystemen eingesetzt werden kann.

76966895a5d7d2f0aeab2aad7b64ae83?s=128

Thomas Bandixen

September 25, 2019
Tweet

Transcript

  1. 3.

    Agenda • Initial situation • Introduction to gRPC • gRPC

    live in action • Why gRPC • Conclusion.
  2. 5.

    Initial situation • ~1’000 ACUs • 4 Communication Servers (load

    balanced) • A lot of traffic • High CPU usage. Source: SecuriGate
  3. 6.
  4. 7.

    Introduction to gRPC • Pronounced as “Jee-Arr-Pee-See” • Is a

    high performance, open source RPC framework • It helps in eliminating boilerplate code • It helps in connecting polyglot services.
  5. 9.

    Protocol Buffers • Structure the data in .proto files •

    Methods are structured as services • Protocol buffer data is structured as messages • “protoc” generates your code to: • Populating • Serializing • retrieving message types • Java, C++, Python, Objective-C, C#, Android Java, Ruby, JavaScript and Go.
  6. 10.

    gRPC Concepts • gRPC has four kinds of service method

    • Unary RPC • Server streaming RPC • Client streaming RPC • Bidirectional streaming RPC.
  7. 13.

    Why gRPC REST • Since about 2000 • Design concept

    • JSON (text) • HTTP 1.1 gRPC • Since about 2015 • Contract-based communication • Protobuf (binary) • HTTP/2
  8. 15.

    Thank you for your attention and enjoy the Basta! Thomas

    Bandixen thomas.bandixen@trivadis.com