1. Dubbo是什么?
只是一个框架
Hibernate是持久层框架,SpringMVC是MVC的框架,而Dubbo是分布式服务框架。
是框架而不是服务
所以不是像Tomcat或Memcached可以单独启动,它必须依附于应用才有意义。引入dubbo.jar的应用,并完成适合的配置后,这个应用就成为了dubbo应用。
2. Dubbo是什么框架?
前面说了是分布式服务框架,更简单的说就是提供了两个核心功能的框架:
- RPC功能
- 服务治理
RPC就像我们最常用的使用CXF的WebService。
服务治理就是管理系统间依赖,动态增减节点、访问监控等。
传统应用调用——杂乱无章
dubbo服务治理——有序整洁
dubbo和CXF框架很类似
如果用到Spring:
- dubbo应用用
<dubbo:service>
暴露服务;cxf用<jaxws:server>
暴露服务; - dubbo应用用
<dubbo:reference>
引入服务;cxf用<jaxws:client>
引入服务;
3. Dubbo和Zookeeper的关系
Zookeeper是服务,而不是框架。所以它可以单独启动。
Zookeeper和Dubbo本来没什么关系,只不过Dubbo可以用Zookeeper做注册中心。
有了注册中心,就不用像CXF那样,要配置服务端和客户端的url了。
注册中心充当了一个中介的作用,注册服务和订阅服务只要找注册中心就可以了。
4. 要不要用Dubbo?
如果只是简单的应用间调用,完全不用dubbo。
带来的复杂性大大高于便捷性。
随着访问量的增大,应用不断的拆分:
未完待续
只是看了文档并自己写测试代码,没有经过生产,还得后续继续深入学习和验证