- 特色1:服务注册与发现的注册中心Registry
注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。这个功能是应有之义
服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。这个就很强大了,
注册中心的这两个特性大大提高了系统的可用性和扩展性。注册中心既可以采用Multicast注册中心,也可以集成Zookeeper,也可以采用Redis,非生产环境也可以使用一个Dubbo自己实现的Simple注册中心,非常灵活。
- 特色2:统计服务的调用次调和调用时间的监控中心Monitor
服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
监控负载,排查性能瓶颈就方便多了。简易监控中心的安装,请参考这里。
-
特色3:使用上,采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。
-
特色4:开源部分中,还包含有一个管理控制台的实现(内部裁剪版本,开源部分主要包含:路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡,等管理功能)
为什么我们需要dubbo?
=============
很多时候,其实我们使用这个技术的时候,可
必看视频!获取2024年最新Java开发全套学习资料 备注Java
能都是因为项目需要,所以,我们就用了,但是,至于为什么我们需要用到这个技术,可能自身并不是很了解的,但是,其实了解技术的来由及背景知识,对于理解一项技术还是有帮助的,那么,dubbo是怎么被提上日程的呢?
在互联网的发展过程中,在以前,我们只需要一个服务器,将程序全部打包好就可以,但是,随着流量的增大,常规的垂直应用架构已无法应对,所以,架构就发生了演变。
1. 单一应用架构
2. 应用和数据库单独部署
3. 应用和数据库集群部署
4. 数据库压力变大,读写分离
5. 使用缓存技术加快速度
6. 数据库分库分表
7. 应用分为不同的类型拆分
发展到这个阶段的时候,我们发现,应用与应用之间的关系已经十分的复杂了,就会出现以下几个问题(以下摘录于官网):
1. 当服务越来越多时,服务URL配置管理变得非常困难,F5硬件负载均衡器的单点压力也越来越大。
2. 当进一步发展,服务间依赖关系变得错综复杂,甚至分不清哪个应用要在哪个应用之前启动,架构师都不能完整地描述应用的架构关系。
最后
学习视频:
大厂面试真题:
学习视频:
[外链图片转存中…(img-ZQvQbcMK-1716408447945)]
大厂面试真题:
[外链图片转存中…(img-welHDT3J-1716408447946)]