首先要搞清楚三者的概念
1、Dubbo是阿里开源的默认基于TCP协议RPC远程服务调度框架,简单理解就是服务A使用TCP协议调用服务B的Dubbo接口。
2、Zookeeper是注册中心,在这里主要用于管理dubbo服务提供者和消费者的注册信息与服务调度时提供相关依据。
3、Tomcat是WEB应用服务器,可以对外暴露基于HTTP协议的服务接口。
由于用户访问你的应用首先是通过浏览器,也就是基于HTTP协议,所以必须对外暴露HTTP接口作为入口,那么就需要使用WEB应用服务器,比如Tomcat、Jetty、Undertow等等。
关于不启动tomcat,需要哪些配置的问题如下:
Dubbo支持HTTP协议,但原理任然是通过WEB应用服务器暴漏一个端口。从Dubbo本身专注的领域来说,不建议用HTTP协议,所以最终的结论是,服务与服务之间的接口调用使用Dubbo,而对外暴露HTTP接口任然使用WEB应用服务器。
并不是非要启动tomcat,只是dubbo更好用在支持spring的容器里,裸的应用也可以启动。而且用dubbo的场合基本都是需要分布式的增删改查系统,所以tomcat容器也可以用。