Начинаю заниматься плазой2, возникли следующие вопросы:
Правильно ли я понимаю, что в настоящий момент не поддерживается несколько логинов к Plaza2? У нас PlazaStreamRegistry - static класс, тогда как, насколько я понял логику реализации, для каждого подключения PlazaStreamRegistry должен быть свой...
У нас сейчас невозможно сразу запустить экспорт по отдельным таблицам? Можно только по всем, затем просто вызывая StopStream останавливать неинтересующие...?
Как задаётся количество транзакционных подключений?
Comentários (11)
Entrar ou Criar conta, Faça login ou cadastre-se para deixar um comentário
По 1) вопросу - предложение сделать класс PlazaStreamRegistry не статичным, соответственно и поля тоже. С такими изменениями мне удалось получить данные по 2м подключениям-логинам.
Возник новый вопрос\баг: 4) При вызове Disconnect загрузка ЦП повышается до 100% - висит постоянно в PlazaStreamManager, на
PlazaTableRegistry, PlazaColumnRegistry - это метаданные, поэтому они могут остаться static. PlazaStreamRegistry нужно рефакторить, чтобы была возможность одновременного подключения нескольких логинов.
Из 44 потоков сейчас по дефолту запускается только 13. Можно, наверное, дать юзеру возможность указывать, какие потоки запускать по дефолту, но тогда не все объекты фреймворка будут мапиться. Это приемлемо? Набор потоков по умолчанию создавал Михаил, может быть он тоже что-нибудь прокомментируют.
По поводу PlazaTableRegistry,PlazaColumnRegistry,PlazaStreamRegistry - надо рефакторить всё, на мой взгляд, есть некий излишек. По поводу потоков теперь понятно, согласен.
Вчера эти вопросы с Мишей как раз обсуждали, будут идеи как сделать лучше - залью, тут отпишусь.
Кстати, после Мишиного фикса ночного загрузка ЦП теперь и после коннекта 70-90% всегда . После дисконнекта - столько же. стабильность - это уже хорошо :))) Наблюдается и с 1 подключением, и с 2мя.
Хочется полностью понять для чего создавался каждый из классов. Сейчас возникает сомнения в необходимости столь сложной структуры. Кажется, перемудрили мы.
P.S. Миша вчера в разговоре высказал предположение что мы перемудрили, т.к. когда возникают баги, как со статическим конструктором PlazaColumnRegistry - это не спроста. Надо что-то менять. :)
PlazaStreamManager управляет запущенным PlazaStream'ами. Наверное, его код можно перенести в PlazaTrader, но мне кажется, это слишком много для PlazaTrader.
PlazaColumns - это базовый класс для всех метаданных - таблиц потоков репликации. Table - это неубранный остаток предыдущей реализации.
PlazaColumnList, наскольку я понимаю, потому что писал Миша, - это такой custom вариант SynchronizedCollection<PlazaColumn>, который имеет представление о бизнес-логике работы с колонками таблиц потоков репликации.
PlazaStreamRegistry/PlazaTableRegistry/PlazaColumnRegistry - их лучше прокомментировать Мише.
2Alexander: может быть ты предложишь что-то другое по организации метаданных, посмотрев свежим глазом? Стоит честно признать, что бета получилась очень сырая. Наверное, сработало желание поскорее хоть что-то зарелизить🤔
Да ладно, все работает как нужно сейчас для одного логина. Более одного логина мало кто имеет. Тут многие и одного то не имеют.😀