Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC(一种远程调用) 分布式服务框架(SOA),致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。
因为是阿里开源项目,国内很多互联网公司都在用,已经经过很多线上考验。内部使用了 Netty、Zookeeper,保证了高性能高可用性。
1、使用Dubbo可以将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,可用于提高业务复用
灵活扩展,使前端应用能更快速的响应多变的市场需求。
2、分布式架构可以承受更大规模的并发流量。
1、通信方式不同:Dubbo 使用的是 RPC 通信,而Spring Cloud 使用的是HTTP RESTFul 方式。
2、组成不一样:
dubbo的服务注册中心为Zookeerper,服务监控中心为dubbo-monitor,无消息总线,服务跟踪、批量任务等组件;
spring-cloud的服务注册中心为spring-cloud netflix enruka,服务监控中心为spring-boot admin,有消息总线,数据流、服务跟踪、批量任务等组件;
不需要,如果硬要用Web 容器,只会增加复杂性,也浪费资源。
三种服务容器:
1、Spring Container
2、Jetty Container
3、Log4j Container
Dubbo 的服务容器只是一个简单的 Main 方法,并加载一个简单的 Spring 容器,用于暴露服务。
1、dubbo://(推荐)
2、http://
3、rest://
4、redis://
5、memcached://
1、provide:暴露服务的服务提供方
2、consumer:调用远程服务的服务消费方
3、registry:服务注册于发现的注册中心
4、monitor:统计服务调用次数和调用时间的监控中心
5、container:服务运行容器
推荐使用zookeeper作为注册中心,还有redis、multicast、simple注册中心。
分享一些资料给大家,我觉得这些都是很有用的东西,大家也可以跟着来学习,查漏补缺。
完整版获取:狂戳这里免费领取~
《Java高级面试》
《Java高级架构知识》
《算法知识》
]
《Java高级架构知识》
[外链图片转存中…(img-BefXOzmU-1626261436020)]
《算法知识》
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wDAgppTE-1626261436021)(https://upload-images.jianshu.io/upload_images/22932333-04631efd6ce821a8?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]