什么是Dubbo?
Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,以及SOA服务治理方案,和spring框架无缝集成。
什么是服务框架?
服务框架就是提供服务的,服务框架是基于业务对应SaaS分发模式的服务进行整合,以产生新的应用。服务框架中,与业务相关,但与业务功能的整合无关的组件以外部服务形式引入(也就是说把一些业务分离出来,变成一种服务,供其他人调用该服务)。
什么是RPC?
RPC全拼是(Remote Procedure CallProtocol)远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。(理解:远程调用协议,为Dubbo实现远程接口调用做支持)
Dubbo能做什么?
1、透明化的远程方法调用,就像调用本地方昂发一样调用远程方法,只需要简单配置,没有任何API侵入。
2、 软负载均衡及容错机制,可以在内网替代F5等硬件负载均衡器,降低成本,减少单点。
3、服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的ip地址,并且能够平滑添加或删除服务提供者。
(理解:可以这样理解,在饭店中点菜需要消费者和服务人员,服务员使用点菜宝点菜的时候,饭店老板提前把自己的菜品相关信息注册到点菜宝中,这样服务员可以通过点菜宝给消费者点菜,当增加新的菜品的时候,会在点菜宝中注册新的菜品信息,当然顾客就可以选择这个菜品了。dubbo就是类似这样的原理,通过dubbo可以让公司内网之间的View层调用不同项目的service)
和非面向服务的项目比较
之前为解决高并发问题的时候,我们可能会做针对应用级别的负载均衡,部署的时候做tomcat集群。而面向服务,在我看来是,细粒度的把项目逻辑层分割开来,把针对saas层公共的逻辑提取出来,供view层调用。我们可以根据业务逻辑方面,把不同的业务逻辑点分离出来,并部署到不同的服务器上,也就是把service层部署到不同的服务器上,可以供其他view层调用。(自我理解)