Перейти до

Требуется эмулятор StarGazerа.


Рекомендованные сообщения

21 минуту назад, Prime сказал:

принципы ACID

Возможно я чего то не понимаю, но принцип ACID реализован по крайней мере в PostgreSQL давным давно на уровне БД.

Это автоматическое отслеживание целостности базы, авто индексы и т.д.

Но это никаким образом не гарантирует сто процентной защиты от работы многопользовательской среды.

Вот это

24 минуты назад, Prime сказал:

работать напрямую с сервером бд не очень хорошая практика.

удобней и правильней иметь какой-то API для работы с биллингом, популярней и гибче HTTP - для биллинга сложно придумать.

это дает возможность интеграции с огромным количеством других компонентов.

Гарантия что не будет работать.

API, HTTP отдельные процессы распределенные во времени и не блокированные в БД.

Отсюда два менеджера будут вносить деньги одному и тому же пользователю, и деньги благополучно зачислятся, счетчики отработают, но сума не будет соответствовать действительности.

Механизм решения данной проблемы, блокировка записи на момент обработки, модель MVCC (Multiversion Concurrency Control, Многоверсионное управление конкурентным доступом).

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

И что то мне чуйка подсказывает что на текущий момент это не актуально - сдох попугай, купим другого.

Во первых, не вижу решения этой проблемы.

А если где то и глюконет, ну пофиксят челу оплату менеджеры.

 

По поводу проектирования структуры БД, это ответственная задача и некогда она не решалась с первого раза.

Но это и никогда не было проблемой.

Перелить базу на новый движок, это решаемо.

 

Основное в биллинге на мой взгляд это модульная обвязка, ubilling вылизанная система.

Хотелось бы поковыряться в базах данных olsasha, что там такое, что требует переписывать биллинг с нуля.

Если там добавлено пару полей, подпилен интерфейс модуля и выборки перестроены по другому, то это ревизия модуля а не всего биллинга.

 

Поэтому на мой взгляд стоит посмотреть что имеем, собрать докучи и подточить под текущие задачи и запускаться.

Параллельно вести ревизию как оно работает, проектировать новую базу, и строить параллельный стенд, от текущей работы, до импорта баз данных.

Дальше в одну прекрасную ночь все можно перелить в новый флакон.

 

Еще раз, со всего что я ставил за свою жизнь, ubilling не вызвал ни одной проблемы.

Вру, "мс" пересобрал.

 

 

29 минут назад, Prime сказал:

https://db-engines.com/en/system/Firebird;PostgreSQL

вот здесь можно сравнивать движки.

В 2000-ном, PostgreSQL уже дышал Oracl-у в спину.

Ссылка на сообщение
Поделиться на других сайтах
Цитата

 

но принцип ACID реализован по крайней мере в PostgreSQL давным давно на уровне БД.

Это автоматическое отслеживание целостности базы, авто индексы и т.д.

 

 https://ru.wikipedia.org/wiki/ACID

конечно на уровне БД все реализовано, просто нужно правильно взаимодействовать с данными, вы используете транзакции в своем коде?

https://www.postgresql.org/docs/9.1/static/sql-set-transaction.html

https://en.wikipedia.org/wiki/Multiversion_concurrency_control


 

Цитата

 

Гарантия что не будет работать.

API, HTTP отдельные процессы распределенные во времени и не блокированные в БД.

Отсюда два менеджера будут вносить деньги одному и тому же пользователю, и деньги благополучно зачислятся, счетчики отработают, но сума не будет соответствовать действительности.


 

Гарантия, что будет работать.

сходу 3 варианта решения: синхронизация api (топорно), select for update (row locking), оптимистик лок (версионирование)

Цитата

 

И что то мне чуйка подсказывает что на текущий момент это не актуально - сдох попугай, купим другого.

Во первых, не вижу решения этой проблемы.

А если где то и глюконет, ну пофиксят челу оплату менеджеры.

 

чуйка подводит, уже все знают об этих нюансах и пишут грамотно код.

Цитата

 

По поводу проектирования структуры БД, это ответственная задача и некогда она не решалась с первого раза.

Но это и никогда не было проблемой.

 

это всегда проблема, называется Домен. 

заказчик не хочется заниматься доменными моделями, перекладывает все на бизнес аналитика и архитектора.

 

Цитата

Основное в биллинге на мой взгляд это модульная обвязка, ubilling вылизанная система.

в биллинге все основное.

я несколько лет работал в крупной компании, которая этим занимается.

отбило навсегда связываться с биллингами и процессингами 

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.

  • Схожий контент

    • Від ProstoName
      Змінювали мережеву карту. Здається все поправив. Працює. Але є невелика проблема - після внесення коштів (коли абонент був відключений), інет в нього не з'являється. Тільки після заміни тарифу на інший (і потім вернувши тариф) в абонента з'являється інет. 
    • Від ppv
      Собака-посилака перестала відправляти повідомлення. Підкажіть де шукати.
      Можливо таке після пропадання світла, сервер ребутнувся, але я не впевнений. Візуально все працює, крон працює, а повідомлення висять в черзі, смс така ж картина.

    • Від camchatix
      Привіт!
       
      Є багато запитів, щоб інтернет не виключався у північ, а скажімо в день (сигналізації, камери під охороною і тд)
      При щоденній абонплаті - як знімати гроші не у 12:00 у північ, а наприклад у 11 годин дня ?
    • Від camchatix
      Добрий день,
      створили запасний NAS із зайвою хромосомою, все працює але коли треба вбити сесію користувача - то у списку NAS серверів лише один (той що основний)
      переназначити швидкість теж не можу
      я так розумію пакети CoA Disconnect, CoA connect, PoD - ідуть на IP адресу старого NAS ?
    • Від grach_witch_cheese
      Вітаю, колеги!
      Маю наступну схему:
      DHCP-сервер: Accel-PPP (IPoE) DHCP-Relay: MikroTik RADIUS: Запущений безпосередньо на сервері uBilling Зараз авторизація абонентів здійснюється за MAC-адресою, але планується перехід на авторизацію через Option 82.
      У документації uBilling наведені приклади конфігурацій, коли DHCP-сервер працює локально (на самому uBilling) і містить відповідні шаблони для обробки Option 82.
      Однак немає чіткої інформації про використання Option 82 при віддаленому DHCP-сервері, зокрема, коли Accel-PPP використовується як DHCP-сервер у режимі remote та налаштований через Купаген.
      Питання:
      Чи можливо використовувати Accel-PPP як віддалений DHCP-сервер з авторизацією через Option 82? Якщо так, то де відбувається парсинг значень Remote-ID і Circuit-ID? Де в цьому випадку мають зберігатися шаблони для Option 82? Буду вдячний за роз'яснення або посилання на відповідні приклади.
×
×
  • Створити нове...