Unifying & standardizing the micro-service framework, middleware, and standard, then achieve the service governance. Those components are Service Discovery, Configuration Management, Service Gateway/Proxy, Remote Procedure Call, Health Checking, API Management, etc.
The Resilient design is important in a distributed system, which can make system can run well while the problem happened. That design includes CircuitBreaker, RateLimiter, Retry, Fallback, Cache, Idempotent..., etc.
For distributed systems, there are a couple of types of middleware that are very important. Control systems like Service Proxy, Service Discovery, and Configuration Management..etc. Communication systems like Queue, Cache, Pub/Sub, Traffic system..., etc. All of them form a large-scale distributed system.
Understanding the runtime details is very important when we operate the distributed system. It's easy to collect the tracing, logging, and metrics and send to Ease Monitor for analysis.
Provide a single development SDK to all of the developers which includes: RESTful API, service/middleware communication, exception, logging, monitoring and API management, etc. can make the development work so easy.