随着微服务,分布式的概念越来越火,越来越多的互联网公司开始尝试使用分布式进行项目开发,分布式开发的好处毋庸置疑,分工明确,团队协作高效,安全,解耦分离等,其中以springcloud为代表的新分布式微服务框架,以及以阿里开源 的dubbo框架为代表,其他的诸如thrift等,也可以作为一种分布式框架的选择,接下来,以dubbo为例,整合一个简单的spring整合dubbo的案例demo,以备参考使用;
1)首先,规划demo分为三个工程,
demo-service为单独的maven工程,该工程在实际项目中作为服务提供者,专门用来提供接口,众多的接口将构成对外提供的接口列表,通过注册中心,对外暴露接口列表,消费者通过订阅注册中心服务,即可获取该工程提供的接口;
demoservice-impl,也为maven工程,此处将其与接口分开,是为了从实际的安全考虑,当然也可以与接口工程进行合并,放在同一个工程里,实际使用中有此用法,建立分开,也为了工程之间相互依赖和继承时候方便;
demoservice-consumer,为消费者方,可以是jar,或war,实际业务中,如果是标准的、web项目,建议使用war工程,具体创建三个工程的过程不再赘述;
2)demo-service项目配置:
该项目只提供接口,没有任何具体的业务逻辑和实现,也不需要导入jar包文件,因此建立一个包