#Protobuf

2025-12-18

Пишем свою in-memory базу на Go, ускоряем поиск отелей в десятки раз

Если вы когда-либо строили высоконагруженные системы поиска, то знаете, что в какой-то момент узким местом становится не код, а сама архитектура. Поиск доступных отелей — как раз тот случай: миллиарды «ночей», десятки тысяч RPS, постоянные обновления календарей, строгая консистентность и высокая цена любой ошибки. Старый стек на Python + Postgres + Redis долго тянул, но однажды стал «тормозить» настолько, что оптимизировать дальше было невозможно — SQL-запросы разрастались, реплики множились, latency прыгала до 60 секунд, а кэширование превращалось в источник инцидентов. Так мы пришли к идее построить

habr.com/ru/companies/ostrovok

#golang #inmemory #database #postgresql #highload #Flatbuffers #Protobuf #кэширование #микросервисы

2025-12-14

JSON is convenient, but not exactly efficient.
I wrote a hands-on guide showing how to use Protobuf in Quarkus REST APIs without touching gRPC.

Smaller payloads, faster serialization, real schemas—same REST endpoints.

Read here:
the-main-thread.com/p/protobuf

#Java #Quarkus #Protobuf #REST

2025-12-07

Protobuf как контракт: spec‑first валидация с protoc‑gen‑validate

Protobuf как контракт: spec‑first валидация с protoc‑gen‑validate Первая статья из мини‑серии про валидацию на базе Protobuf. В этой части — концепция spec‑first и protoc‑gen‑validate. В следующей поговорим про protovalidate и то, почему его вообще имеет смысл рассматривать как «следующее поколение» (или же как очередная эволюция в обратную сторону?) Также, чтобы не пропустить следующую часть, очень рекомендую подписаться на мой телеграмм канал :)

habr.com/ru/articles/974072/

#go #golang #grpc #validate #testing #easyp #buf #protobuf #grpcgo #grpcсервисы

2025-12-05

[Перевод] Лучше, чем JSON: почему я перешёл на Protobuf

Команда Go for Devs подготовила перевод статьи о том, почему автор почти десять лет не использует JSON в своих API и предпочитает Protobuf. Он объясняет, как строгая типизация, компактная бинарная сериализация и генерация кода дают разработчикам больше надёжности и скорости.

habr.com/ru/articles/973400/

#protobuf #json #go #grpc #api #http #dart #микросервисы

Sharlatansharlatan
2025-12-01

How to bootstrap plugins and toolings in ?

Hitting the wall of cycling dependencies of ...

github.com/bufbuild/buf/issues

2025-11-01

I wonder if there’s some tool that can take my OpenAPI specification and turn that into a Protobuf specification? Both do the same thing basically. I have some parts of a FastAPI server that could benefit from not being REST but instead a faster protocol.

#fastapi #openapi #protobuf

2025-10-29

Getting a Protobuf to generate Java sources into the correct package/directory was surprisingly tricky. I can’t say I’m a fan of Maven. The pom.xml format is so undiscoverable and everything is just copied and pasted magic incantations that may or may not work. Getting any proper error messages is impossible. But now the same proto file works in C++ and Java and my communication is working.

#java #maven #protobuf #cpp

Michał Fitamichalfita
2025-10-28

@CuratedHackerNews That's not really serialization, at most marshalling to binary protocol.

takes place to the format of user's choice. seem to be replacement of and 'n'Proto.

2025-10-27

Building Protobuf and getting a C++ app to link properly seems to be a real shit job. So many weird dependencies and strange crufty things. The CMake config files at least do not do the right thing and I’m left with weird unresolved symbols.

My best guess is that Ptotobuf gets compiled with an old C++ standard and that causes issues with my project that uses C++ 20.

#protobuf #cpp #meh

2025-09-26

If I had to explain my job... #IOER_FDz .. I'd just show this workflow from the last two days. It's a great example of building reproducible, automated documentation. 🚀

1. Start: A project schema, drafted by colleagues in Excel.

2. Problem: Excel isn't reproducible and is hard to use as a single source of truth for a database.
Solution: I migrated the schema to the universal Protobuf format, making it version-controlled and language-neutral. [1]

3. Problem: Protobuf definitions aren't easy for everyone to read.
Solution: Using an existing #CI/#CD workflow from [3] (cheers @mcnesium), I put the schema on a documentation website. Now it's accessible and legible. [4]

4. Problem: Colleagues still needed a familiar template for data collection.
Solution: Two Python scripts using #pandas now auto-generates both `.xlsx` and open-source `.ods` schema [5] and templates [6] directly from the Protobuf single-point-of-truth, and make all of these available for download, too.

5. Problem: The text-based schema wasn't visual enough.
Solution: Added a script [7] to the CI that transforms the Protobuf files into a #MermaidJS class diagram, rendered directly on the docs site. [8]

6. Problem: The diagram was too narrow in the site's layout.
Solution: The script now generates a second, wide-format version of the diagram for a dedicated fullscreen view. [9]

7. Problem: The static diagram was hard to edit or restyle.
Solution: The CI now generates a shareable link to the Mermaid Live Editor [10]. It reads our latest diagram file, compresses it (using pako/zlib), and bakes it into the URL. Thanks to a code snippet from a friendly stranger on GitHub [11], anyone can now open the *latest* version of the schema in the editor with a single click.

From a static Excel file to version-controlled, multi-format, visual, and interactive documentation, all fully automated. That's the job.

#Automation #GitLab #Python #Protobuf #OpenData #Documentation

@ioer

[1]: gitlab.vgiscience.de/caserepor
[2]: docs.casereports.fdz.ioer.info/
[3]: lbsn.vgiscience.org
[4]: docs.casereports.fdz.ioer.info
[5]: gitlab.vgiscience.de/caserepor
[6]: gitlab.vgiscience.de/caserepor
[7]: gitlab.vgiscience.de/caserepor
[8]: docs.casereports.fdz.ioer.info
[9]: docs.casereports.fdz.ioer.info
[10]: mermaidlive.com/play
[11]: github.com/mermaid-js/mermaid-

Mermaid Schema
2025-09-17

Một thử nghiệm mới giúp Protobuf trong C++ dễ sử dụng hơn, lấy cảm hứng từ những phàn nàn về độ cồng kềnh trước đây. Dự án Sugar Proto hứa hẹn cải thiện trải nghiệm lập trình! 🚀

#Protobuf #CPlusPlus #OpenSource #LậpTrình #SugarProto #CảiTiến

reddit.com/r/opensource/commen

2025-09-16

I can’t help but to imagine the Buf cli as your normal cli but swole, tech dude cli that goes to the gym but doesn’t make the gym its whole personality.

It’s been a while since I’ve messed with #protobuf other than battling with it in #fedora package building.

buf.build/product/cli

2025-09-08

Часть вторая. Как я пытался засунуть gRPC в браузер — продолжение

Предыдущая часть Картина мира: почему браузер — главный блокер для «настоящего» gRPC Если коротко, gRPC живёт поверх HTTP/2 и активно полагается на стримы. А в браузере до сих пор нет низкоуровневого API, который позволил бы JavaScript управлять HTTP/2‑стримами на том уровне, который нужен gRPC. Даже unary‑вызов в gRPC — это частный случай стрима: открыли поток, отдали запрос, забрали ответ, закрылись. Пока браузеры не дадут этот «рычаг», все WEB‑решения — это компромиссы разной степени изящности. Чем это оборачивается на практике: Нативные bidi‑стримы из браузера недоступны Приходится конвертировать транспорт: HTTP/1.1 или WebSocket → что‑то «похоже на gRPC» → gRPC/HTTP2 на бэкенде Добавляются прокси, адаптеры и слой совместимости, где теряется часть достоинств «чистого» gRPC

habr.com/ru/articles/944894/

#go #grpc #grpcgateway #grpcstreaming #grpcсервисы #golang #protobuf #easyp #buf #rpc

2025-09-05

[Перевод] От минут к секундам: как в Sealos сократили время активации для 20К+ доменов

Sealos удалось сократить время активации доменов на Kubernetes с 10 минут до всего 5 секунд. В статье раскрыты технические детали оптимизации Ingress с помощью Higress, Istio и Envoy, а также оригинальные алгоритмы и подходы, которые помогли преодолеть узкие места и улучшить масштабируемость кластера. Читайте, как повысить производительность и надёжность своей инфраструктуры.

habr.com/ru/companies/flant/ar

#kubernetes #ingress #higress #envoy #protobuf #filterchains #xxhash #рекурсивное_хеширование #сериализация #активация_доменов

Michael Stapelberg 🐧🐹😺zekjur@mas.to
2025-09-02
Kevin McDonaldkmcd
2025-09-02

🪧 From JSON to Protobuf: A Tool to Ease Your Schema Journey
kmcd.dev/posts/from-json-to-pr

2025-09-02

🪧 From JSON to Protobuf: A Tool to Ease Your Schema Journey
kmcd.dev/posts/from-json-to-pr
#protobuf #grpc #testing #json

2025-09-01

It will be an eternal pet peeve of mine, that the #golang #protobuf team, when they required that you embed a struct to implement a generated server interface, called the type safe way to do it "UnsafeFooServer" and the way that always implements the interface "UnimplementedFooServer".

2025-08-29

Как я пытался засунуть gRPC в браузер — часть первая

Одна из самых основных проблем в работе с gRPC - необходимость наружу вытаскивать отдельно REST API для web клиента, но, надо ли отдельно его писать, или можно как-то унифицировать и эту историю? И вот начал я копать эту тему, и чем глубже копал, тем больше удивлялся. Оказывается, за последние почти 10 лет было целых ТРИ ЧЕТЫРЕ серьезных попытки затащить gRPC в веб. И знаете что самое смешное? Самая первая попытка, сделанная в 2015 году японкой- одиночкой (в команде с коллегами), до сих пор остается самым адекватным решением. А Google со всеми своими миллиардами и армией разработчиков так и не смог ничего нормального придумать. Но обо всем по порядку. Ах, да, меня зовут Эдгар Сипки , я все также евангелист gRPC && OpenSource :) Кстати, мой канал , там я гораздо чаще пишу (а скоро еще и начну снимать очень много крутого контента про gRPC и Go), ну и конечно один из основателей инструмента EasyP Ссылка на полный доклад, если хочется посмотреть - YouTube

habr.com/ru/articles/941816/

#go #grpc #grpcgateway #grpcstreaming #grpcсервисы #golang #protobuf #easyp #buf #generator

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst