blindsidenetworks / scalelite

Scalable load balancer for BigBlueButton.
GNU Affero General Public License v3.0
469 stars 247 forks source link

tenants - is production ready? #972

Closed amg-web closed 1 year ago

amg-web commented 1 year ago

I tested a little tenants and found that:

  1. tenants added to redis database instead postgres despite the fact that the table tenants is present. (bbb servers list is empty at the moment of test)
  2. records is associated with tenants using metadata table - this table is overloaded already. why not to add tenant id column to the recording table? it's easy if tenants is registered in postgres.
  3. tenants does not have enable / disable feature.
  4. rake task to add records to tenant using bbb-origin-server-name metadata is required, or may be allow user to select which metadata to use as a filter. if record was originated from Moodle the bbb-origin-server-name is good solution.
farhatahmad commented 1 year ago

tenants added to redis database instead postgres despite the fact that the table tenants is present. (bbb servers list is empty at the moment of test)

This is intential. The postgres table was added by accident and has been removed

tenants does not have enable / disable feature.

This wasn't a part of the scope of the feature

amg-web commented 1 year ago

i think better to postgres. it's easy to loose from redis. easy to restore nodes list. node id does not mean anything. but what if tenant removed ? or redis db erased ? or in case of migration? how can I restore tenant id in this case? a lot of data is related to tenant id. we do not need to check if tenant is alive each second.

This wasn't a part of the scope of the feature

why not? what If I want temporary close access for the tenant but want to keep records and other staf?

farhatahmad commented 1 year ago

You can just temporarily change the secret to "disable" a tenant

amg-web commented 1 year ago

I understand this way. but what about main question?

let's move tenants to postgres db

farhatahmad commented 1 year ago

Due to the current design of Scalelite - this isn't something we'll be doing soon. Our end goal is to completely drop redis, but we'll continue to use it for the time being