SaFi Bank Space : Questions Regarding Current SaFiBank Architecture

Questions

Questioner

Answer

How do we handle distributed transactions? For example, in the case of interbank transfer, our backend sends a request to a third-party bank, and the request is fulfilled successfully, but before the response could reach our backend, our backend may restart or there may be some network disruptions and we would lose that response. I couldn’t find any documents about this part.

zhenghong.li (Unlicensed)

Since we use Kafka heavily, what should we do when the Kafka queue length has been exceeded, we reach a threshold read the counter number or the message expires due to per-message TTL, and messages that are not processed successfully. Have we verified ThoughtMachine Vault for this part? Also, what’s our plan for our own backend services?

zhenghong.li (Unlicensed)

About the inter micro-service dependencies,  do we have a high level diagram for that? For example,  the account-manager may call REST endpoints of the customer-manager, and audit-log-manager may consume Kafka messages from micro services that would update customer and account attributes.

zhenghong.li (Unlicensed)

Do we have any plans for regulatory compliance? We assume it is very important since we are dealing with financial and monetary things. What kind of standards will we follow? Is it business/domain driven or we have a high level plan/design for this?

zhenghong.li (Unlicensed)

Will we consider SWIFT? Or do we have any plans for that?

zhenghong.li (Unlicensed)

How do handle the daily/monthly/quarterly/yearly batch process?

Kobe Wang (Unlicensed)

We use scheduler in TM(daily interest calculation/monthly payment collection) and temporal workflow timer(overdraft fee/penaulty collection) to handle this kind of issue.

What is the reason behind putting the different services, gateways etc in one repository? Is there a plan for separating them into different repositories?

User ce01f

How do we use Kotlin coroutines and how do we test it?

Kobe Wang (Unlicensed)

We decided not to use kotlin now and use reactor instead cause it has some issues with our logging & tracing strategy

What’s the solution for authentication and authorization ? Is there a central IAM server to do authentication/authorization work for every microservice ?

Gavin Zhang (Unlicensed)

What’s the plan for request tracing ? If google cloud provides such tools, please give a short introduction.

Gavin Zhang (Unlicensed)

How to know if there is any critical error occurred ? Any tools for that ?

Gavin Zhang (Unlicensed)

The reason to use UUID as primary key, for security reason ?

Gavin Zhang (Unlicensed)

Some suggestions regarding historical records handling.

Gavin Zhang (Unlicensed)