《消息中间件面试专题及答案》这份资料主要涵盖了Dubbo框架中的关键知识点,包括服务注册与发现、负载均衡策略、安全机制以及服务集群配置。以下是对这些内容的详细解释: 1. **服务注册与发现**: - 在Dubbo中,Zookeeper作为注册中心,负责服务提供者和服务消费者的注册与发现。当Zookeeper集群全部挂掉,消费者会依赖本地缓存的提供者信息继续通信,只要不涉及新服务的调用,原有服务调用不受影响。服务提供者无状态,所以单个或全部宕机后,消费者会尝试重新连接。 2. **负载均衡策略**: - **Random LoadBalance**:随机策略,按照权重分配概率,随着调用次数增多,分布趋向均匀。 - **RoundRobin LoadBalance**:轮询策略,按权重设定轮询比例,可能导致慢服务积累请求。 - **LeastActive LoadBalance**:最少活跃调用数策略,同等活跃数的服务随机选择,减少慢服务的请求。 - **ConsistentHash LoadBalance**:一致性哈希策略,确保相同参数的请求始终发送给同一提供者,故障时通过虚拟节点平摊负载。 3. **安全机制**: - Dubbo通过Token令牌机制防止用户绕过注册中心直接调用服务,同时在注册中心进行权限管理,提供服务黑白名单功能,以控制调用方的权限。 4. **服务连接方式**: - 通过注册中心:消费者从注册中心获取服务提供者列表,实现软负载均衡和Failover,注册中心通过长连接推送变更。 - 直连模式:在开发和测试环境中,消费者可以直接连接到特定服务提供者,忽略注册中心。 5. **服务集群配置**: - **Failover Cluster**:默认策略,失败后重试其他服务器,适用于读操作,可通过`retries`属性设置重试次数。 - **Failfast Cluster**:快速失败策略,一次调用失败即报错,适用于非幂等性写操作。 此外,Dubbo还提供了其他的集群容错策略,如**Failsafe Cluster**(失败安全,失败后直接忽略),**Forking Cluster**(并行调用多个,只要一个成功即可),以及**Broadcast Cluster**(广播,所有服务都会执行,主要用于通知场景)。 以上是Dubbo面试中可能涉及的关键点,掌握这些知识点对于理解Dubbo的工作原理和优化服务调用至关重要。在实际应用中,开发者可以根据业务需求选择合适的策略和配置,以保证服务的稳定性和效率。
- 粉丝: 1
- 资源: 33
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助