New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split Meteor roles backend-frontend revisit #11317
Split Meteor roles backend-frontend revisit #11317
Conversation
I did not cherry-pick the commit from #10349 as I use fraction of the code changes but I really appreciate the work put in! If/when we bring in the external video events through akka-apps, that might be better time to cherry-pick from that (or the previous) pr |
Hello, good job!!!. In PR #10349 there are also changes in akk-apps to support events (stop/start) for external videos. I know that 2.2.31 have improvements in performance and 2.3 use several instances of nodejs to split serveral meetings (one meeting is only in one nodejs process, but one nodejs process can handle serveral meetings). Anyway I think split one meeting in several nodejs is a better solution to increase then number of attendees in one meeting. I sincerely await the results of the performance tests to see the real increase in number of users by meertinf for both solutions. Regards |
This comment has been minimized.
This comment has been minimized.
… split-meteor-roles-on-top-of-2.3-alpha6
This comment has been minimized.
This comment has been minimized.
b13835d
to
f43560d
Compare
I made significant changes to the code:
For the packaging of frontend vs backend I borrowed from @schrd 's https://gitlab.hrz.tu-chemnitz.de/bigbluebutton/bigbluebutton-packaging/-/tree/master/bbb-html5 Next steps:
Here are my nginx configs.
|
… 2.3-alpha5-with-split-meteor-roles-10349
This pull request has conflicts ☹ |
…:antobinary/bigbluebutton into 2.3-alpha5-with-split-meteor-roles-10349
I am merging this PR so it can be ran some more before it's included in 2.3-alpha7. |
I'm testing 2 instance backend bbb-html5 Is this a bug ? |
Hi @huydq189 |
This is a revisit of #10349 which was a revisit of #8788
Thank you guys - @jfsiebel , @amguirado73 , @schrd, others for your contribution!
I used code from both PRs, appended to the very latest 2.3-alpha6+ on 'develop' branch.
I only used a fraction of the code (that's why I did not cherry-pick) but made a bunch of additional changes which I think were needed to adapt this to 2.3.
Described benefits (of #10349 , this PR still has to prove itself in battle)
Frontend(s):
ValidateAuthTokenResp
event to complete authenticationBackend(s):
settings.yml change - the
from-akka-apps-[^f]*
syntax is the way to filter out the channel between akka-apps and the frontendsIn most cases a single backend process should suffice. The possibility of more than one is tied to the reason why we added support of multiple nodejs processes in first place - huge load of redis messages, breakouts stemming from main rooms with 100+ participants, main meetings starting/ending around the same time.
To be honest I did not quite digest the "nginx load balancing" only referring to "frontend" processes and the large amount of code changes included in 10349. Thank you @schrd for addressing me in Jan 2021 to go over 10349 again!
After picking specific changes from that PR I did not see need (yet) of having external video sharing overhaul through akka-apps. Possibly I missed something but it worked fine for me locally.
See the comments below for more detail
I am open for suggestions and recommendations.