为什么要用dubbo
dubbo 主要是一个分布式服务治理解决方案,那么什么是服务治理?服务
治理主要是针对大规模服务化以后,服务之间的路由、负载均衡、容错机制、
服务降级这些问题的解决方案,而 Dubbo 实现的不仅仅是远程服务通信,
并且还解决了服务路由、负载、降级、容错等功能。
dubbo的亮点:
缓存:
dubbo 每次都要连 zookeeper?
是不是每次发起一个请求的时候,都需要访问注册中心
呢?作为一个设计者,你会怎么去解决这个问题。
答案很显然是通过缓存实现
在消费端的配置文件中指定如下路径
支持多注册中心 配置多个注册中心
将服务注册到不同的注册中心
通过 registry 设置注册中心的 ID
消费端配置多个注册中心
实现的代码和服务端一样
支持多协议 Dubbo 对于 RPC 通信协议的支持,不仅仅是原生的 Dubbo 协议,它还
围绕着 rmi、hessian、http、webservice、thrift、rest
集成 Webservice 协议
webservice 是一个短链接并且是基于 http 协议的方式来实现的 rpc 框架。
Jar 包依赖
org.apache.cxf
cxf-rt-frontend-simple
3.3.2
org.apache.cxf
cxf-rt-transports-http
3.3.2
org.eclipse.jetty
jetty-server
9.4.19.v20190610
org.eclipse.jetty
jetty-servlet
9.4.19.v20190610
修改 application.xml 【dubbo基本认识】
ref="loginService" protocol="dubbo,webservice"/>
添加多协议支持,一个服务可以发布多种协议的支持,也可以实现不同服务
发布不同的协议
启 动 服 务 之 后 , 可 以 使 用 :
http://localhost:8080/com.gupaoedu.practice.LoginService?wsdl 来获得Webservice 的 wsdl 描述文档
客户端使用 webservice 请求服务
- 客户端的配置 jar 包依赖
- 配置多个协议支持,实现方式和服务端一致