/counter

Primary LanguageGoMIT LicenseMIT

counter

ПО счетчик посещений веб-страниц.

Состоит из клиента и сервера.

Клиент

Используется для управления серверной частью и запросов данных в сервер. Используется GRPC протокол.

Управление:

  1. Добавление нового домена в счетчик
  2. Удаление домена из счетчика

Запрос данных:

  1. Получение данных по посещаемости определенного домена

Сервер

Используется для подсчета посещений страницы и проведения агрегирования данных.

Счетчик висит на определенном дипазоне адресов вида:

/:id

Число это номер присвоенный определенному доменну с помощью клиента. Если домен не заведен, то есть проводиться обращение к незарегистрированному номеру, то проводиться фиксация обращения на id any, который является общим для всех незарегистрированных запросов.

id выбираются случайным образом.

Для инкремента счетчиков используются GET-запросы на подготовленные url.

Управление сервером осуществляется посредством GRPC-запросов:

addDomain
removeDomain
getStat

Хранение данных проводиться в redis для использования встроенной дедубликации.