The backend for AcademyCloud.
- Heterogeneous microservices with C# and Python which communites via gRPC
docker-compose
consul
for service registration and discoveryregistrator
to automatically register containers when up and de-register when down- C# services
API
,Expenses
andIdentity
features:- Domain Driven Design with strictly no dependencies from domain models to anything else
- C# 8 with nullable reference type enabled for null safety
- Python service
Resources
to communicate with OpenStack and features:- Python 3.8
- pipenv for dependency management
- Complete type hints
- flask and flask-RESTful
- SQLAlchemy with flask-sqlalchemy
Visual Studio 2019 supports both C# and Python projecs well.
API is configured to use HTTPS to serve HTTP RESTful APIs for frontend.
The gRPC communication between microservices in insecure and is through http (instead of https) port, because communication through https does not work in my environment:
I can confirm that HTTPS is configured correctly for each microservices, for each listens at https://[::]:443
correctly and dev certs are trusted, but when the channel is on HTTPS address, calling gRPC interfaces prints TLS connection could not be established
and failed.
Any help is appreciated.