grpc

  • ХабрахабрФото Пишем gRPC сервис на Go — сервис авторизации

    Пишем gRPC сервис на Go — сервис авторизации

    В этой статье мы научимся писать полноценный gRPC сервис на Go на примере сервера авторизации с полноценной архитектурой, готовой к продакшену. Мы напишем как серверную часть, так и клиентскую. В качестве клиента мы возьмём мой сервис — URL Shortener, о котором у меня также есть статья и видео-гайд на ютубе. Попутно мы познакомимся с базовыми подходами к работе с авторизацией.…

    Читать далее »
  • ХабрахабрФото Особенности проксирования через CDN/Websocket/gRPC для обхода блокировок

    Особенности проксирования через CDN/Websocket/gRPC для обхода блокировок

    Эта статья — заключительная (наконец‑то!) из моего огромного цикла про недетектируемые инструменты для обхода блокировок. В предыдущих публикациях я упоминал, что клиенты и серверы XRay (форк V2Ray) и Sing‑box при использовании протоколов VLESS/VMess/Trojan могут работать через веб‑сокеты и gRPC, что позволяет подключаться к даже заблокированным Роскомнадзором прокси‑серверам через CDN (content delivery или content distribution network) и дает дополнительные преимущества. Сегодня мы поговорим об этом поподробнее. Для чего? Если ваш прокси‑сервер попал…

    Читать далее »
  • ХабрахабрФото Как тестировать не-REST-бэкенд. Часть третья, gRPC

    Как тестировать не-REST-бэкенд. Часть третья, gRPC

    Итак, мы с вами добрались до третьей, самой «хардовой» части цикла. Сегодня поговорим про gRPC. Что такое gRPC?  Сам RPC — удалённый вызов процедур (иногда вызов удалённых процедур; RPC от англ. remote procedure call) — класс технологий, позволяющих программам вызывать функции или процедуры других программ, делая это так, как если бы они находились в одном адресном пространстве. Буква g в…

    Читать далее »
  • ХабрахабрФото Архитектура рекомендаций: как дать пользователю соцсети то, что ему понравится

    Архитектура рекомендаций: как дать пользователю соцсети то, что ему понравится

    Сегодня я расскажу, про базовое решение задачи рекомендации текстового контента на конкретном примере — ленте одной российской социальной сети. Посмотрим, что под капотом у сервиса рекомендаций, какие данные нужны для построения векторов пользователей, как ранжируются посты и к какой архитектуре рекомендательной системы мы пришли спустя несколько месяцев экспериментов. Рекомендации в соцсетях глазами разработчика Казалось бы: Facebook, Instagram и VK набрали…

    Читать далее »
  • ХабрахабрФото Новые фичи в IDEA 2023.2 EAP 7

    Новые фичи в IDEA 2023.2 EAP 7

    Быстро приближается релиз IntelliJ IDEA 2023. 2, а значит, текущему EAP-у осталось жить недолго. Вы все еще можете успеть попробовать новые фичи, и попросить исправить их до релиза, когда исправлять будет уже поздно. JetBrains ушел из России, но его IDE всё ещё является основным средством разработки на Java. Как у бывшего product marketing manager в JetBrains, у меня есть некоторый…

    Читать далее »
  • ХабрахабрФото [recovery mode] Как я писал свой распределенный мессенджер на Scala/fs2 и немного lock-free. Часть 1: Архитектура и бизнес-логика

    [recovery mode] Как я писал свой распределенный мессенджер на Scala/fs2 и немного lock-free. Часть 1: Архитектура и бизнес-логика

    Привет, Хабр! Данная задача в разных вариациях мне давалась на нескольких собеседованиях несколько лет назад. Хоть мой дизайн и проходил, мне стало интересно реализовать это в коде с нуля. Сыроватый и сильно урезанный по функционалу MVP готов, ссылка на github будет под катом. Пока что мной запланировано 3 статьи - эта, по бэкенду и по фронту. Будет много кода на…

    Читать далее »
  • ХабрахабрФото Пишем gRPC автотесты на Go с Allure отчетом

    Пишем gRPC автотесты на Go с Allure отчетом

    Вступление В данной статье разберем, как писать gRPC автотесты с использованием языка Go, также сделаем Allure отчет Перед тем как читать статью, нужно базово понимать некоторые термины: Что такое RPC? Что такое gRPC? Что такое protobuf? Сюда же можно отнести знакомство с синтаксисом *.proto файлов; Неплохо было бы знать/понимать синтаксис языка Go, хотя бы на базовом уровне; Для запуска сервера…

    Читать далее »
  • ХабрахабрФото Пишем простой чат с консольным интерфейсом используя трубно-ориентированное программирование с котами

    Пишем простой чат с консольным интерфейсом используя трубно-ориентированное программирование с котами

    Если в процессе изучения gRPC хотите попрактиковаться с Bidirectional Streaming (двунаправленная потоковая передача данных), c запросами в рамках одного соединения, инициированием событий со стороны сервера, то создание простого чата может быть отличным способом. Демонстрация работы консольного чата Проект будем писать на языке Scala с использованием библиотеки fs2-grpc. Будем использовать клиент-серверную архитектуру, где клиенты могут отправлять сообщения на сервер, который будет…

    Читать далее »
  • ХабрахабрФото Стартуем микросервис на Node.js + fastify + Typescript + prisma + mongodb + grpc

    Стартуем микросервис на Node.js + fastify + Typescript + prisma + mongodb + grpc

    Вступление Зачастую возникает необходимость начать новый микросервис. Вот и у меня совсем недавно возникла такая потребность. А ведь хочется еще и чего-то новенького попробовать. Сперва был определен стек и хотя процесс для меня не новый, но я столкнулся с множеством подводных камней. В результате родилась идея написать этот туториал. В конце будет представлена ссылка на репозиторий с кодом. Шаг 1.…

    Читать далее »
  • ХабрахабрФото [Перевод] Как создать микросервис на Rust при помощи gRPC

    [Перевод] Как создать микросервис на Rust при помощи gRPC

    ❯ Введение В сегодняшнем туториале по Rust мы откроем для себя мир gRPC. Для этого создадим очень простой микросервис с единственной конечной точкой, который будет отзеркаливать то сообщение, что мы ему пошлем. Чтобы протестировать наш микросервис, мы также напишем простой клиент на Rust. Перед изучением этого поста также будет полезно посмотреть предыдущие публикации автора по Rust: https://blog.ediri.io/lets-build-a-cli-in-rusthttps://blog.ediri.io/how-to-asyncawait-in-rust-an-introduction ❯ Предпосылки Прежде,…

    Читать далее »


Кнопка «Наверх»