Hi, Recently, I have seen people asking questions like: - What is the difference between Dubbo and Spring Cloud? - Can Dubbo support restful service?
This makes me think about the relationship between Dubbo as an RPC framework and Micro-services. When talking about micro-services, we are talking about service registry and discovery, configuration, circuit breaker, observability like tracing, logging, API gateway, load balancing and etc. When I looked into Dubbo, actually I see very well integration with most of components. - service registry and discovery: zookeeper, Nacos, etc... - configuration: Nacos, Apollo, etc... - circuit breaker: hystrix, sentinel - tracing: zipkin, sleuth, skywalking Some other components might need some extra work, for example, API gateway, client side load balancing. But this should be achieved without too much work. What we are missing is some official guidance. With these components surrounded by, I am thinking that the Dubbo Ecosystem is not only RPC Ecosystem, it is actually a Microservice Ecosystem. There is currently a Dubbo ecosystem in the community page on the website[1], I suggest we build a dedicated page on the website, to introduce the new Dubbo Ecosystem. Now back to the questions: - What is the difference between Dubbo and Spring Cloud? They are not something that should be compared. Spring Cloud provide an easy way for developer to quickly build microservices. Dubbo should be easily integrated into Spring Cloud. I see a project call Spring Cloud Alibaba[2]. I think it should integrate Dubbo as well, it is already in their roadmap. People who write Spring Cloud application should be easily talking to service provided by Dubbo, either via restful or native Dubbo service. Dubbo spring boot starter project is a very good example to show how Dubbo and Spring project and work together. - Can Dubbo support restful service? Dubbo has out-of-box support of result service which is based on JAX-RS 2.0 since 2.6.0. Implement a restful service is as simple as adding some annotation to your existing services. We need more documentation, tutorial, maybe we need to talk more about this on the meetup. [1] http://dubbo.apache.org/en-us/community/index.html [2] https://github.com/spring-cloud-incubator/spring-cloud-alibaba -- Best Regards! Huxing
