网站备案依据,优化服务质量,策划营销公司企业介绍,vs html5网站开发最近为了熟悉Dubbo远程过程调用架构的使用#xff0c;并结合SSMMaven整合了简单的一套项目实战
直接看项目结构图 各模块介绍 dubbo-common#xff1a;存放项目需要的公众类#xff0c;像查询模型、数据库实体模型等 dubbo-config#xff1a;存放项目所需的公众配置文件并结合SSMMaven整合了简单的一套项目实战
直接看项目结构图 各模块介绍 dubbo-common存放项目需要的公众类像查询模型、数据库实体模型等 dubbo-config存放项目所需的公众配置文件像日志、数据库连接信息配置文件等 dubbo-customerDubbo框架的服务消费方也是http请求的入手 dubbo-interface存放连接服务消费方和服务提供方的公共接口 dubbo-parent存放整个项目所需的依赖是其他模块的父类 dubbo-provideDubbo框架的服务提供方负责处理业务逻辑和数据库请求
一般也有人把数据库操作单独整合成一个模块dubbo-dao其实都一样…
前置工作安装注册中心Zookeeper我选择的是在linux系统下安装安装步骤详情网上有很多教程 注意安装配置完之后记得打开该linux系统2181端口的防火墙
具体代码实现细节这里就不过多介绍了这算是Dubbo最简单的入门应用了吧。
讲一下我在使用过程中遇到的一些问题 要将dubbo-common中的实体模型查询模型等实现序列化接口就是在服务消费方和服务提供方之间传递或使用的对象 com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response... 简单地说就是dubbo服务超时 dubbo默认的时间是500ms超过这个时间它会重新访问service层最多尝试三次 所以就发生了下面的一个很奇怪的现象 我第一次在浏览器访问服务消费方的接口报500这个 com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response...异常连接服务提供方超时 但是第二次回车居然就访问成功了访问服务提供方没有超时 设置超时时间 规则 1.Consumer端配置优于Provider配置优于全局配置 2.方法级配置别优于接口级别优于全局配置 根据规则1纵使消费端配置优于服务端配置但消费端配置超时时间不能随心所欲需要根据业 务实际情况来设定。如果超时时间设置得太短复杂业务本来就需要很长时间完成服务端无法在设 定的超时时间内完成业务处理如果超时时间设置太长会由于服务端或者网络问题导致客户端资源大量线程挂起
Dubbo服务消费端全局超时配置
dubbo:consumer timeout“5000” /Dubbo服务消费端指定接口或者接口中方法配置超时
dubbo:reference interface“com.fei.CustomerrService” timeout“3000”dubbo:method name“sayHello” timeout“5000” /
/dubbo:referenceDubbo服务提供端全局超时配置 dubbo:provide timeout“5000” /Dubbo服务提供端指定接口或者接口中方法配置超时
dubbo:service interface“com.fei.CustometService” timeout“3000”dubbo:method name“sayHello” timeout“5000” /
/dubbo:service