dubbo是什么?
dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用,说白了就是个远程服务调用的分布式框架。
在实际用途中dubbo就是服务提供者与服务消费者以及注册中心三者的使用。
1、dubbo使用的协议
RPC协议(远程调用协议),更多见博客:https://blog.csdn.net/qq_41055045/article/details/89599237
在dubbo框架使用
2、协议特点
dubbo协议采用单一长连接和异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
3、网络通信
dubbo协议底层网络通信默认使用的是netty,性能非常优秀,推荐使用
附加知识:
dubbo协议不适合的地方:Dubbo协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低
长连接------服务器和服务器,建立管道,一直打开着,适合小数据传输,就不需要等待
短连接------用户和服务器,建立管道,每次都要建立新的连接
公用标签、服务提供者标签、服务消费者标签(下面的是主要的标签)
1、公用标签:在服务、消费者都要使用
配置应用信息:
配置注册中心:
2、服务提供者标签
配置访问服务提供者的协议信息:
配置暴露的服务:
3、服务消费者标签
配置服务消费者引用远程服务:
dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,防止spring初始化完成,以便上线时,能及早发现问题,默认check="true"。通过check="false"关闭检查,比如,测试时,有些服务不关心,或者出现循环依赖,必须有一方先启动。
4、其它配置项,不是标签
关闭检查check:关闭某个服务启动时检查:
请求重试次数retries:远程服务调用次数,不包括第一次调用,默认是2次。加上第一次共3次:
注册中心zookeeper
可以动态管理dubbo服务,有心跳机制,每几秒会向服务发送信息,当服务宕机了,注册中心会把记录删除,添加新的服务地址,会自动把新的服务地址等给消费者,自动管理
自动管理过程:
1、提供服务者会交给注册中心管理(dubbo服务向注册中心提供自己的服务地址)
2、消费者从注册中心订阅服务(app向注册中心获取可用的dubbo服务的地址)
dubbo框架使用注册中心:
使用了zookeeper,实现由zookeeper自动管理服务,提高项目效率
windows安装zookeeper的过程,单机模式,见博客:https://blog.csdn.net/qq_41055045/article/details/82945597
负载均衡是以集群为前提的。其意思是将负载工作任务进行平衡、分摊到多个操作单元上进行执行
负载均衡方式
入门教程项目参考我的其它博客