среда, 30 января 2019 г.

Thanos

       Сегодня открыл для себя Thanos - инструмент для масштабирования Prometheus через federation (не знаю русскоязычного аналога этого глагола).  В свое время когда мы строили мониторинг Lazada на Prometheus нам очень не хватало инструмента подобного Thanos. Prometheus превосходный инструмент, но он не поддерживает HA из коробки, да и масштабируется только через ручное шардирование нагрузки на несколько истансов. По сути все работало превосходно пока все метрики помещались на один сервер и его мощности хватало и на запись собираемых метрик и на обработку входящих звапросов. Дальше начинались танцы с бубнами. 
         Сейчас судя по всему это уже позади.  Если говорить по простому: Thanos это инструмент который позволяет поставить рядом два Prometheus сервера и построить высоко доступный (HA) сервер мониторинга.  Также он позволяет масштабировать Prometheus через федерирование.  Дело осталось за малым - чтобы это все работало так же красиво как об этом пишут его создатели. 

вторник, 15 января 2019 г.

Как работает ApplePay

     Не так давно мне пришлось вплотную столкнуться с ApplePay, хотя вообще я с платежками давно уже не работаю. Попытался понять как работает ApplePay и с удивлением обнаружил что  нормального технического описания нет. Есть куча маркетингового булшита и отдельных догадок.  Единственное что я нашел - https://medium.freecodecamp.org/how-apple-pay-works-under-the-hood-8c3978238324  Это тоже не официальная документация, но выглядит вполне правдоподобно.
       Если в двух словах - когда вы добавляете карточку в ApplePay, Apple валидирует данные и отправляет к МПС(Visa/MasterCard) запрос на генерацию секретного токена(DAN - device account number), который по сути представляет "фейковый" номер кредитной карточки. Этот фейковый номер запоминается в устройстве. Во время транзакции iphone "прикидывается" этой фейковой карточкой и NFC терминал передает этот номер карты в МПС. МПС подменяет фейковый номер карточки реальным номером карточки добавленной ранее в ApplePay. Дальше транзакция проходит как обычно.