• 第三章:(1)高可用 之 Zookeeper 宕机 与 Dubbo 直连


    一、Zookeeper 宕机

      现象:zookeeper注册中心宕机,还可以消费dubbo暴露的服务。

      原因:健壮性

    1.监控中心宕掉不影响使用,只是丢失部分采样数据
    
    2.数据库宕掉后,注册中心仍能通过缓存提供服务列表查询,但不能注册新服务
    
    3.注册中心对等集群,任意一台宕掉后,将自动切换到另一台
    
    4.注册中心全部宕掉后,服务提供者和服务消费者仍能通过本地缓存通讯
    
    5.服务提供者无状态,任意一台宕掉后,不影响使用
    
    6.服务提供者全部宕掉后,服务消费者应用将无法使用,并无限次重连等待服务提供者恢复
    

      高可用:通过设计,减少系统不能提供服务的时间

    二、Dubbo 直连

      注册中心的作用就是向服务消费端告诉服务提供端的 url 地址及端口信息,那么能不能绕过注册中心呢?

      答案是可以的,可以采用 Dubbo 直连的方式。

      示例:

    @Service
    public class OrderServiceImpl implements OrderService {
    
        @Reference(url = "127.0.0.1:20882")  //dubbo 直连
        UserService userService;
    
        @Override
        public List<UserAddress> initOrder(String userId) {
            System.out.println("用户ID:" + userId);
            //1.查询用户的收货地址
            List<UserAddress> userAddressList = userService.getUserAddressList(userId);
            System.out.println("userAddressList = " + userAddressList);
    
            userAddressList.forEach(t -> System.out.println(t.getUserAddress()));
            System.out.println("调用完成!");
            return userAddressList;
        }
    }
  • 相关阅读:
    jquery设置多个css样式
    html中设置透明遮罩层的兼容性代码
    在html中显示Flash的代码
    js setTimeout()
    jquery live hover
    leetcode第16题--3Sum Closest
    leetcode第15题--3Sum
    leetcode第14题--Longest Common Prefix
    leetcode第13题--Roman to Integer
    leetcode第12题--Integer to Roman
  • 原文地址:https://www.cnblogs.com/niujifei/p/15805650.html
Copyright © 2020-2023  润新知