白话dubbo

1、什么是dubbo?

dubbo就是一个分布式面向服务框架。划重点,分布式与面向服务

2、哪什么是分布式呢?

比如我们去银行办理业务,之前都是存款、取款、转账都是在一个窗口完成,后来呢,感觉人太多了,忙不过来,于是就拆分了,存款有单独的存款窗口,取款有取款的单独窗口,转账同样也是。这样,把这些业务来拆分处理了,就是分布式了。

3、什么是业务呢?

业务就是你具体实际生活里面做的事儿,比如存款,取款,转账。

4、哪什么是面向服务呢(专业术语叫soa)?

上面的分布式我们感觉是把一个大的业务拆分了,而面向服务就是把这些拆分后的业务一个一个的做成一个服务,就是存款这个窗口是存款服务了,取款这个窗口是取款服务了,转账这个窗口是转账服务了。

5、dubbo的原理是什么呢?

RPC

6、什么是RPC呢?

就是远程过程调用。现实世界就是一个服务调用另外一个服务。代码里面你可以这样理解:比如你使用maven建了一个项目A,A项目下面有三个服务A1,A2,A3。比如A1调用了A2的服务了,底层就是RPC实现。这就是RPC。

7、如何知道调什么呢,怎么去调用呢?

这就要使用到了zookeeper  

8、什么是zookeeper呢?

就是一个注册中心:也就是你做好的服务(比如取款,或者A1、A2、A3)要发布(术语叫提供者provider),你的另一个东东要去调用(术语叫消费者consume,不一定是服务,可以是服务,也可以是直接的调用)。反正意思就是你要把你的东西发布到这个注册中心去,然后调用的在注册中心看见了,就可以去调用。就像一个路由,就像你去银行,保安或者大堂经理就是一个zookeeper,其实zookeeper的本意就是动物管理员。到了银行你去取款,大堂经理给你说有什么服务,要办理什么业务,该去哪里办理,这个时候大堂经理就是zookeeper,你就是消费者,取款窗口就是一个对客服暴露的一个服务。

9、代码里面该怎么理解呢?

比如上面建了三个服务A1是取款,A2存款,A3转账,A4是客户(也就是你自己的角色),A4去调用A1进行取款操作,A1对A4暴露服务接口,没有暴露具体实现,你也看不见具体实现,当你调用了A1,A1自然去调用他接口的实现A1Impl,A1Impl其实才是真正做的业务处理。

10、然后每个服务写好了,部署运行,那么什么又是主备机部署呢?集群部署呢?

一般作为分工明确的公司程序员是不需要这个操作的,不过还是简单描述一下。

主备部署:就是用两台机器部署一个一模一样相同的服务,当一个服务器挂掉之后,就自动切换到另一个台服务器,同时通知运维人员来维护。

集群部署:就是同样的操作做一个群体,就是部署很多很多台,通过负债均衡来调用具体的哪个服务器,这样减少单台服务器的压 力。

分割线,今天呢就先说到这里,不对的地方,不吝赐教,欢迎指正。                                         

                                                                                        20180528 手码字。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值