Workshop: Fast & Efficient Microservices w/ gRPC

Level: 
Intermediate

When:

9:00am - 12:00pm

Prerequisites

  • A good Java IDE (IntelliJ or Eclipse is fine)
  • Maven installed on the system

gRPC is a high performance, open source, general RPC framework that puts mobile and HTTP/2 first. gRPC is designed to be low latency, low bandwidth & CPU efficient that can be used for to build backends, and consumed from mobile apps and IoT devices. It's also interoperable between multiple languages. Furthermore, gRPC supports both synchronous & asynchronous calls as well as multiple streaming options to allows you to build sophisticated real-time apps.

Join this workshop to learn how to implement a few microservices with gRPC and integrating them with important facilities such as tracing and monitoring. We will:

  • Create the service definitions using Protobuffer 3
  • Generate stubs with Maven
  • Implementing stubs for both one off requests and streaming calls
  • Propagate context information across threads
  • Propagate metadata across network boundaries using headers
  • Set timeouts/deadlines to service calls
  • Distributed tracing with Zipkin
  • Metrics collection w/ Prometheus

If we have time, integration w/ Spring ecosystem such as using Eureka for service discovery and perform client-side load balancing.

Speaker: Ryan Knight

Principal Software Architect @GrandCloud

Ryan Knight has 15 years of experience with building large scale distributed systems and cloud native applications with wide variety of technologies such as Scala, Kafka, Cassandra and Kubernetes. He first started Java Consulting in 1999 at the Sun Java Center and has since worked at a wide variety of companies such as DataStax, LightBend, Oracle, IBM, Intel, Tomax, Family Search and Riot Games. He now works as an Enterprise Architect for Starbucks.

Find Ryan Knight at

.

Tracks - 2017

  • 21st Century Languages

    Compile to Native, Microservices, Machine learning... tailor-made languages solving modern challenges

  • Architectures You've Always Wondered About

    Architectural practices from the world's most well known properties.

  • Beyond Being an Individual Contributor

    Beyond being an individual contributor. Building and Evolving managers and tech leadership.

  • Building Great Engineering Cultures

    Why engineering culture matters.

  • DevOps: You Build It, You Run It

    Pushing DevOps beyond adoption into cultural change.

  • Evolving Java

    At well over 20 years old, Java continues to evolve & change. Learn more on JDK9, Jigsaw, Event Sourcing, & G1GC.

  • Going Serverless

    Learn about the state of Serverless & how to successfully leverage it!

  • Hardware Frontiers: Hardware Changes Affecting Software Developers Today

    Quantum computing, NVRAM, SMR, GPU, Augmented Reality.

  • Microservices: Patterns and Practices

    Stories of success and failure building modern Microservices, including event sourcing, reactive, decomposition, & more.

  • Modern CS in the Real World

    Applied trends in Computer Science that are likely to affect Software Engineers today.

  • Performance Mythbusting

    Real world, applied performance proofs.

  • Security: Attacking and Defending

    Talks focused on Red and Blue teaming.

  • Stream Processing In The Modern Age

    Compelling applications of stream processing & recent advances in the field

  • The Art of Chaos Engineering

    Failure is going to happen - Are you ready? Chaos engineering is an emerging discipline - What is the state of the art?

  • The Practice & Frontiers of AI

    Learn about machine learning in practice and on the horizon

  • The Whole Engineer

    Success as an engineer is more than writing code.

  • Tools and culture: what's beyond a stack of containers?

    Containers are not just a techology. It's a platform. Push your knowledge.

  • Web as Platform

    All things Browser, from JavaScript Frameworks to Web Assembly.