Habr<p>Как я раздул из гофера слона или история распределенного сократителя ссылок</p><p>Вполне логично предположить, что сократитель ссылок — довольно простой сервис как с точки зрения пользователя, так и под капотом. Но что, если, взяв за основу такую простую задачу, построить целую распределенную систему? Мой шортенер начинался как простая практика с Go и gRPC после всех ОГЭ:), где должно было быть 3 сервиса: тг бот, API gateway и ядро. Но с каждым днем идей все больше, энтузиазм растёт, я стал делать упор на высокие нагрузки, и постепенно мини‑практика начала становиться боевой event-driven машиной. В этой статье я хотел бы подметить интересную мысль: даже самая простая вещь может быть реализована сложно. Погрузиться в архитектуру</p><p><a href="https://habr.com/ru/articles/934896/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/934896/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/golang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>golang</span></a> <a href="https://zhub.link/tags/grpc" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>grpc</span></a> <a href="https://zhub.link/tags/kafka" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>kafka</span></a> <a href="https://zhub.link/tags/microservices" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>microservices</span></a> <a href="https://zhub.link/tags/highload" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>highload</span></a> <a href="https://zhub.link/tags/opentelemetry" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>opentelemetry</span></a> <a href="https://zhub.link/tags/clickhouse" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>clickhouse</span></a> <a href="https://zhub.link/tags/architecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>architecture</span></a></p>