With the expansion of the scale of the IT system and the increase of the modules, the traditional system architecture has been difficult to meet the requirements, so the micro service architecture has become popular in recent years.
1) Different modules can be developed in different languages or languages.
2) The coupling of the system is weak. One of the modules has problems, and the system can not be avalanche by means of “downgrading and fusing”.
3) It can be on line independently and can respond quickly to demand.
4) You can use different cluster strategies for different modules, where slow clusters are.
1) It is difficult to develop, and the structure of the system is more complex.
2) Low operating efficiency;
What problems should be addressed in the micro Service Architecture: inter service communication, service governance and service discovery, gateway and security authentication, fault tolerance and fault tolerance, monitoring and so on;
The first generation of micro services: Dubbo (Java), Orleans (.Net), etc.
Second generation micro service: Spring Cloud and so on;
The third generation of micro services: Service Mesh (Service Fabric, Istio, Conduit, etc.).
The first generation of microservices and language binding are close; the second generation of microservices is suitable for hybrid development, and the third generation of microservices is still developing rapidly, and the update iteration is faster.
In micro services, there are two main forms of communication between services:
1) Restful，That is, the transmission of Json format data. .Net is corresponding to WebAPI technology, not proficient in WebAPI.
It doesn’t matter. Just like ASP.Net MVC, you can use PostMan to debug Restful interface conveniently.
2) RPC：Binary transmission protocol is more efficient than Http used in Restful communication, but it has stronger coupling. technique
There are Thrift, gRPC, etc.