This project demonstrates a proof-of-concept (POC) microservice architecture using Kafka for secure communication and computation within a Kubernetes cluster. The architecture simulates a cloud environment and secure computing on sensitive data, specifically for calculating the premium value of car insurance.
This project demonstrates a proof-of-concept (POC) microservice architecture using Kafka for secure communication and computation within a Kubernetes cluster. The architecture simulates a cloud environment and secure computing on sensitive data, specifically for calculating the premium value of car insurance.
The architecture consists of four microservices (a, b, c, and d), with the following deployment and technology details:
Microservice A:
/endpoint
- Accepts a JSON array with SealData objects containing the following fields: Parameters, RelinKeys, GaloisKeys, EncryptedInput, EncryptedPricing, and UniqueId.topic-seal-data
Kafka topic.Microservice B:
/getId
- Accepts a uniqueId as a string and searches for an encrypted result value with the corresponding uniqueId, then returns it.topic-encrypted-premium
Kafka topic.Microservice C:
topic-seal-data
Kafka topic.topic-encrypted-premium
Kafka topic.Microservice D:
/endpoint
of microservice A./getId
endpoint of microservice B with the unique ID to retrieve and decrypt the computed premium value.Microservice D:
/endpoint
.Microservice A:
topic-seal-data
Kafka topic.Microservice C:
topic-seal-data
, processes encrypted values, and computes the required data.topic-encrypted-premium
Kafka topic.Microservice B:
topic-encrypted-premium
./getId
allows querying the results by unique ID.Ensure you have the following installed and running:
Execute the following PowerShell script to manage and execute the project:
Start-ContainerOrCluster.ps1
This script manages the project fully. Start it and beginn with "Get Information about the Project and Prerequisites".