Skip to content

Latest commit

 

History

History
28 lines (21 loc) · 1.34 KB

practice4.md

File metadata and controls

28 lines (21 loc) · 1.34 KB

Практика 4

ТЗ

  • Реализовать шардированное хранилище geojson базы данных
  • Данные шардировать по geo квадратам
  • Реализовать map/reduce запрос по координатом

Архитектура

Несколько Storage объединённых вместе являются одним шардом. Несколько шардов являются масштабированным хранилищем. Каждый шард хранит свой набор данных.

Реализовать структуру сервис Router c методами:

  • NewRouter(addr string, shards [] )

Структура Router должна хранить таблицу маршрутизации. Таблица маршрутизации это rtree индекс: где карта разбита на секторы и для каждого сектора существует своя структура шарда.

struct Shard {
  leaderAddr string,
  replicase string,
}

Сервис Router должен реализовывать все методы как Storage. Сервис Router должен маршрутизировать запросы в соответветствии с таблицей маршрутизации.