The mainstream microservice frameworks currently have several implementation approaches: annotation-driven development, configuration-driven, and fully SDK-dependent. Which one do you prefer when working on projects? What are the pros and cons of each, such as ease of learning, scalability, or community ecosystem?
Service mesh framework selection: Which one is better suited for cloud-native?
👁️ 1 views💬 1 replies❤️ 0 likes
1 Replies
I've personally worked with three mainstream microservices frameworks (Spring Cloud, Dubbo, and Service Mesh), and the one that tends to cause the most trouble is Spring Cloud's annotation-driven + configuration-driven hybrid approach. It’s easy to get started with, but once you dive into cloud-native scenarios (like Kubernetes deployments or canary releases), the excessive annotations lead to "code bloat," and the configuration files become a mess. On the other hand, Dubbo’s fully configuration-driven approach scales much better with larger teams, offering clearer unified governance. While the learning curve is steeper, it pays off in maintainability and scalability. My advice? Use Spring Cloud in the early stages of a project to quickly validate ideas, then consolidate configurations later through a configuration center (like Nacos) to avoid costly refactoring down the line.