Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lightning Talk: Supercharge Your Services With Protocol Buffers #30

Open
ryoarmanda opened this issue Feb 28, 2022 · 0 comments
Open

Lightning Talk: Supercharge Your Services With Protocol Buffers #30

ryoarmanda opened this issue Feb 28, 2022 · 0 comments

Comments

@ryoarmanda
Copy link
Contributor

ryoarmanda commented Feb 28, 2022

Often seen on projects with multiple services in mind, many issues arise around communication data. The client's schema is often painstakingly maintained to be up-to-date to the server's to avoid unintended outcomes. Requests that require joint effort from multiple services suffer from latency because the transmission itself takes time. Such problems happen across the board, from personal projects to industry services. However, there is one thing that many players in the industry - like Stripe, Shopee, and Gojek - adopt to deal with this: Protocol Buffers.

Protocol Buffers (frequently known as Protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data. Developers define message structures in .proto files using Protobuf's syntax, Protobuf compilers generate structure codes in the language of choice, and application code uses it to be referenced and or (de)serialized. Not just simple, Protobuf is cross-compatible, type-safe, and efficient, making it a great choice not just for the industry, but for all projects.

Round C:

Topic:
Adopt Protocol Buffers to Upgrade Projects with Multiple Services

WIIFY:

  • Learn the industry approach on a problem you know well.
  • Stand yourself out on the internship/work search by understanding and adopting this early on in your career.
  • Get a starting step to even more interesting stack in the industry, like Remote Procedure Calls with gRPC.

Key Points:

  1. Protobuf is a language-neutral data serialization and representation format.
  2. Protobuf is easy to set up and integrate, in just three steps.
  3. Protobuf can be compiled into many languages, making it a choice for cross-compatible schema.
  4. Protobuf is type-safe, so developers need not to worry about payload being in the right format.
  5. Protobuf is efficient, beating JSON at time and space even in its own home, JavaScript.

Impact:

  1. Know: What are Protocol Buffers and its benefits
  2. Believe: Projects can be easily maintainable and efficient with Protocol Buffers
  3. Do: Adopt Protocol Buffers in projects

Slides:
Round C: https://docs.google.com/presentation/d/1cf0zvhmd-B5AG9d8E0i_JQp4y7d_iqzsj4Ws4xblJMs/edit?usp=sharing

Round B:

Topic:
Adopt Protocol Buffers to Upgrade Projects with Multiple Services

WIIFY:

  • Be acquainted with the popularly known Google's Protocol Buffers
  • Learn how some of the big companies in the industry deals with the same problem
  • Learn how to prepare your service to scale well

Key Points:

  1. Protobuf can be generated into many popular languages, making it a good choice to act as a shared definition across services (cross-compatible).
  2. Protobuf provides type-safety on languages that supports it, ensuring payload is sent/received of a certain type.
  3. Protobuf is efficient, beating common data representations like JSON in time and space.

Impact:

  1. Know: What are Protocol Buffers and its benefits
  2. Believe: Projects can be easily maintainable and efficient with Protocol Buffers
  3. Do: Adopt Protocol Buffers in projects

Slides:
Round B: https://docs.google.com/presentation/d/1IVHTDl72EyG5SWH2A4MevZVoaGEQhFWnF2YVcil0sv0/edit?usp=sharing

@ryoarmanda ryoarmanda changed the title Lightning Talk: Soup Up Microservices With Protocol Buffers Lightning Talk: Supercharge Your Services With Protocol Buffers Mar 3, 2022
@ryoarmanda ryoarmanda self-assigned this Mar 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants