新到的公司用的maven项目,ssm框架。因为是整体架构在设计时用的分布式架构。
所以用到了dubbo这个阿里巴巴的开源架构,具体为什么要用他,我也不是很清楚。以前没用过。
只能通过网上的资料结合项目本身做一些浅显的记录。怕到时候给忘了。
DOBBO是一个分布式的服务架构。
平时,作为maven项目,我们是把项目分为多个项目,而一般情况下,我们这些项目是分开开发的,并在通信方面,对外提供接口,让别的项目调用,
类似于webservice的wsdl,或者直接用soap实现远程调用。
而用dubbo则直接实现了一个类似中转的性质,不用那么麻烦服务器创建和维护wdsl,远程调用,直接在中转服务器中注册两个对象,一个服务者,一个消费者
好处:
1.很透明的远程调用,没有API侵入。在分布式项目上,调用远程接口和本地调用方法一样,只需要在spring上配置一下就好。
2. 集群容错: 提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持。
3. 自动发现: 基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器。
后两点,开发并不用操作,我也没发现具体应用到哪了。。。
现在讲讲 怎么用。。
服务方,下载zookeeper,解压完后,进步bin目录下,启动双击zkServer.cmd启动注册中心服务。
写一个接口,规定好提供服务的接口方法,并写好实现类。
在spring的配置文件里添加
实现类的具体实现方法,并不暴露给消费者调用。
消费者,同样要在zookeeper中心注册为消费者。并注册自己需要调用的接口。
在spring配置文件里配置,如果需要调用的接口很多,那么可以用applicationContext-dubbo-***.xml分类。
最简单的dubbo实现方法就可以了。其实,感觉说白了,就是一个注册中心,服务和消费注册,双方更好的调用远程接口方法。不用考虑乱七八糟别的东西了。