nus-cs3281 / 2022

http://nus-cs3281.github.io/2022/
2 stars 1 forks source link

Lightning Talk: Supercharge Your Services With Protocol Buffers #30

Open ryoarmanda opened 2 years ago

ryoarmanda commented 2 years ago

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:

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:

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