Arch Forum 2024-03-28¶
Participants: Backend devs, JD, Victor and Andy
Agenda¶
- RabbitMQ Rollout Plan
- LedgerAccountId/MajorityAccountId/UserId for transactions?
- Forkless Git
Notes¶
RabbitMQ Rollout Plan: The proposed plan to roll out RabbitMQ is the following:
Phase 1¶
- Update platform so that message handlers can receive events on both ASB and RabbitMQ. Update platform so that message can be sent either over ASB or RabbitMQ, with a config switch. No support for Scheduling or Sessions (these have separate config settings).
- Wait for all areas have had their renovates merged and deployed. Note that the RabbitMQ module also needs to be added.
- Toggle one (small) area to use RabbitMQ to send messages (only non-session/non-scheduled)
- Toggle more areas to use RabbitMQ until all are switched over
Phase 2¶
- Implement sessions on RabbitMQ in platform
- Follow same rollout pattern
Phase 3¶
- Decide how and implement Scheduling
What is not mentioned here is that RabbitMQ will be a requirement to run services locally. To make this easier, there's a docker compose with both SQL Server and RabbitMQ in Bank-cicd: docker-compose.yml
LedgerAccountId/MajorityAccountId/UserId for transactions:
With Wallet/Account v2 we will start to allow our users to have multiple accounts. This means it's important to understand how the LedgerAccountId/MajorityAccountId/UserId fits together. Shakib explained the domain model, and posed the question if other areas should be required to send in the MajorityAccountId to initiate credits/debits/transfers. This is an option that is possible with the new changes, but not part of the to actual Account2.0 work.
A rather long discussion followed.
- Who should decide if its ok to use a secondary account for a remittance or call?
- Should areas know about Ledger and Majority Accounts?
- There was in the beginning of Mpay a "feature" that allowed a user to MPay him/herself..
Forkless Git:
Now working without forks have been tested, and it should be ready for everyone to use.
- Next week, anyone should try to work without forks.
- The new consultant developers (Lars & Rasmus) should not use forks.
- The ForkAllRepos script has been rewritten to only clone all repos. https://dev.azure.com/MAJORITY/Bank/_git/bank-cicd?path=/CloneRepos/Clone-all-repos.py
- It seems like the git posh scripts are not needed anymore. Maybe there's still a use for the complete-fork script. If so, we should raise the issue, and it can be rewritten for the new fork-less flow easily.