• Как узнать что посетитель с мобильного браузера - тот же человек, что и с настольного?

    Olej
    @Olej
    инженер, программист, преподаватель
    А как это узнать программно?

    Достоверно - никак.

    В годы Великой Отечественной Войны радисток определяли по стилю ("почерку") "морзянки".
    Можете попробовать ;-)
    Ответ написан
    Комментировать
  • Как правильно разработать легкомасштабируемую платёжную систему?

    opium
    @opium
    Просто люблю качественно работать
    когда заявок много делается куча воркеров и распределенная очередь куда складываются заявки и откуда воркеры берут их на исполнение
    реализаций очереди куча
    Ответ написан
    Комментировать
  • Как правильно разработать легкомасштабируемую платёжную систему?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1. Скрипт на крон - однозначно плохая идея. Более правильная история - постоянно работающий скрипт который из очереди получает очередную задачу. Отличный вариант для организации очереди rabbitmq

    2. Слабая связанность компонент это хорошо. В вашем случае однозначно api (не очень правда понимаю метания от php к java но дело Ваше. пишите на том, что лучше знаете) + расширяемые апи для внешних интеграций + интерфейсы цепляемые к апи.

    По поводу синхронности/асинхронности - это вполне можно уместить в одном апи. Какие методы делать синхронными, какие нет - целиком зависит от вашей бизнес логики.
    На мой взгляд получение баланса например вполне можно сделать синхронным.

    3. С точки зрения быстродействия - Вы достаточно быстро упретесь в базу. Соответственно надо сразу думать о шардировании данных, о том как система будет себя вести в случае выхода из строя одной из задействованных в транзакции нод итд.

    4. Вам важна data consistency. Сразу думайте про железо. Любые сервера горят. Брендовые сервера горят точно так же как и не брендовые. С учетом п3 - я бы делал полностью независимые друг от друга ноды, с физическим дублированием внутри ноды, и привязывал каждый счет к одной ноде.

    5 [философский] Поймите важный момент - без ОЧЕНЬ серьезных инвестиций в маркетинг, проекты не взлетают. Если бы эти инвестиции были - Вы бы тут не писали (не в обиду). Соответственно вероятность того что к Вам внезапно придет огромный поток транзакций - стремится к нулю. К тому моменту когда Вы раскрутитесь - Вы успеете 5 раз сменить архитектуру проекта. Нельзя иметь одну архитектуру у стартапа собранного одним человеком, и у проекта с высокими HL/HA.
    Пишите на чем нравится, у Вас будет куча времени что бы переписать узкие места например на C.

    6 [юридический] Вы в курсе что Вам нужна пачка лицензий на осуществление деятельности в качестве оператора электронных денег и денежных переводов без открытия банковского счёта? :)

    PS Я хочу верить что Ваш вопрос - это задачка для саморазвития. Иначе я не представляю себе что это за система платежная, которую делает один человек, спрашивающий совета как делать такие штуки (опять же не в обиду Вам ) :)
    Ответ написан
    Комментировать