Прим. перев.: в этом материале, опубликованном прошлой весной в блоге Dropbox, инженеры компании рассказывают о том, какие проблемы были у их монолита, жившего аж с 2007 года, что они предприняли для их решения и какой результат это принесло.
Рубрика «grpc» - 3
Atlas: Путешествие Dropbox от монолита на Python до managed-платформы
2022-02-17 в 6:57, admin, рубрики: DropBox, grpc, service-oriented architecture, Анализ и проектирование систем, Блог компании Флант, микросервисы, монолит, Проектирование и рефакторинг
Массовый переход от монолитов к микросервисам решает ряд проблем:
-
раздельный деплой и рефакторинг;
-
удобное масштабирование частей системы;
-
прозрачное разграничение ответственности команд;
-
снижение бласт-радиуса;
-
снижение когнитивной нагрузки на разработчика.
gRPC в качестве протокола межсервисного взаимодействия. Доклад Яндекса
2020-01-15 в 12:18, admin, рубрики: api, c++, grpc, java, rest, RPC, Блог компании Яндекс, микросервисы, удаленный вызов процедурgRPC — опенсорсный фреймворк для удаленного вызова процедур. В Яндекс.Маркете gRPC используется как более удобная альтернатива REST. Сергей Федосеенков, который руководит службой разработки инструментов для партнеров Маркета, поделился опытом использования gRPC в качестве протокола для построения интеграций между сервисами на Java и C++. Из доклада вы узнаете, как избежать частых проблем, если вы начинаете использовать gRPC после REST, как возвращать ошибки, реализовать трассировку, отлаживать запросы и тестировать вызовы клиентов. В конце есть неофициальная запись доклада.
— Сначала хотелось бы познакомить вас с некоторыми фактами про Яндекс.Маркет, они будут полезны в рамках доклада. Первый факт: мы пишем сервисы на разных языках. Это накладывает требования по наличию клиентов для сервисов.
Читать полностью »
Пишем блог на микросервисах – часть 2 «API Gateway»
2019-10-28 в 17:03, admin, рубрики: Go, golang, grpc, grpc-gateway, proto3, rest, X5RetailGroup, микросервисыВ первой части нашего цикла статей «Пишем блог на микросервисах» мы описали общий подход к решению задачи.
Теперь пришла очередь API Gateway или API GW.
В нашем c ptimofeev API GW мы реализуем следующие функции:
- Конвертация REST запросов в gRPC запросы и наоборот.
- Логирование запросов.
- Аутентификация запросов.
- Присвоение каждому запросу Trace ID для дальнейшей передачи его между микросервисами по всей цепочке выполнения запроса.
Пишем блог на микросервисах – часть 1 «Общее описание»
2019-10-28 в 17:01, admin, рубрики: Go, golang, grpc, grpc-gateway, proto3, rest, X5RetailGroup, микросервисыВ этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:)
Читать полностью »
Григорий Петров: работа с сетью в Ruby
2019-09-11 в 10:48, admin, рубрики: Conference, graphql, grpc, http/2, Microservices, railsclub, railsconf, rest, ROR, ruby, ruby on rails, rubyrussia, Блог компании RubyRussia, интервью, конференции28 сентября на конференции RubyRussia DevRel компании Evrone Григорий Петров расскажет о том, как общаются микросервисы. В сегодняшнем интервью Иван Соловьев поговорил с Григорием о теме его предстоящего выступления и не только об этом.

Расскажи о себе, чем ты занимаешься в Evrone?
Читать полностью »
Как создать простой микросервис на Golang и gRPC и выполнить его контейнеризацию с помощью Docker
2019-07-25 в 8:35, admin, рубрики: docker, Go, golang, grpc, Microservices, protobuf, микросервисы, ПрограммированиеПривет! представляю вашему вниманию перевод статьи «Go, gRPC and Docker» автора Mat Evans.
Существует множество статей о совместном использовании Go и Docker. Создавать контейнеры, способные взаимодействовать с клиентами и между собой, очень легко. Далее следует небольшой пример того, как это делается на базовом уровне.
Читать полностью »
Courier: миграция Dropbox на gRPC
2019-02-05 в 16:01, admin, рубрики: DropBox, grpc, python, RPC, TLS, Блог компании Badoo, высокая производительность, Программирование, Разработка веб-сайтов, Серверная оптимизация
Примечание переводчика
Большинство современных программных продуктов не являются монолитными, а состоят из множества частей, которые взаимодействуют друг с другом. При таком положении дел необходимо, чтобы общение взаимодействующих частей системы происходило на одном языке (притом что сами эти части могут быть написаны на разных языках программирования и выполняться на разных машинах). Упростить решение этой задачи помогает gRPC — open-source-фреймворк от Google, выпущенный в 2015 году. Он решает сразу ряд проблем, позволяя:
- использовать язык Protocol Buffers для описания взаимодействия сервисов;
- генерировать программный код на основании описанного протокола для 11 разных языков как для клиентской части, так и для серверной;
- реализовать авторизацию между взаимодействующими компонентами;
- использовать как синхронное, так и асинхронное взаимодействие.
gRPC показался мне довольно интересным фреймворком, и мне было интересно узнать про реальный опыт компании Dropbox по построению системы на его основе. В статье есть масса деталей, связанных с использованием шифрования, построением надёжной, наблюдаемой и производительной системы, процессом миграции со старого RPC-решения на новое.
Спасибо Алексею Иванову aka SaveTheRbtz за написание оригинальной статьи и помощь с переводом трудных мест.
Фреймворк Автоматизации Морских Перевозок (SAF)
2018-10-13 в 10:10, admin, рубрики: api, grpc, PROTO 3, SAF, shippingАлександр Гусятинер, Олег Жихарев
ВВЕДЕНИЕ
Фреймворк Автоматизации Морских Перевозок (SAF)

Sea-Freight Automation Foundation (SAF)
Версия 0.2, 04 Октября 2018
Текущая модель информационного сопровождения транспортных процессов может быть охарактеризована следующим образом:
Ручное управление процессами, ручное выполнение задач и повторный ввод данных.
Большинство бизнес-процессов, включая те процессы, которые повторяются регулярно и не требуют принятия сложных решений, полностью контролируются и выполняются людьми. В процессе выполнением различных логистических контрактов, персонал рутинно совершает телефонные звонки, пользуется электронной почтой, повторно вводит данные в различные веб-формы, отслеживает грузы в различных онлайн платформах, документирует выполнение договоров и так далее.
Построение микросервисной архитектуры на Golang и gRPC, часть 1
2018-10-08 в 7:31, admin, рубрики: Go, golang, grpc, protobufВведение в микросервисную архитектуру
Часть 1 из 10
Это серия из десяти частей, я постараюсь раз в месяц писать про построение микросервисов на Golang. Я буду использовать protobuf и gRPC в качестве основного транспортного протокола.
Стек, который я использовал: golang, mongodb, grpc, docker, Google Cloud, Kubernetes, NATS, CircleCI, Terraform и go-micro.
Зачем мне это? Поскольку мне потребовалось много времени, чтобы разобраться в этом и решить накопившиеся проблемы. Так же я хотел поделиться с вами тем, что я узнал о создании, тестировании и развертывании микросервисов на Go и другие новые технологии.
В этой части, я хочу показать основные концепции и технологии для построения микросервисов. Напишем простую реализацию. В проекте будут следующие сущности:
- грузы
- инвентарь
- суда
- пользователи
- роли
- аутентификация

