• Geek_895efd
    2022-12-23 来自湖南
    老师,关于注册中心部分,确实有很多选择,相对于zookeeper等,用阿里自家孵化出的nacos来做注册中心是不是更好

    作者回复: 你好,Geek_895efd:可以参考我之前对etcd的一些理解,没有更好,只有适合自己当前项目的才是最好的。 比如etcd是一个年轻的go项目,同样是解决分布式协调问题,并且吸收zookeeper实现上的经验,在api的使用、实例的动态增减、数据体量的存储,且对外部语言的支持也更加友好。但是他的年轻和高速的迭代开发不免在稳定性上会使得一些大项目望而却步的考量因素。 其次还得看公司的运维能力,如果运维擅长zookeeper的话那大概率就使用zookeeper了,如果运维擅长etcd的话那正好可以借此机会狠狠与真实业务实战一把。两者都擅长的话,项目求稳还是可以考虑使用传统的zookeeper的,激进的话可以考虑etcd。不过大多数项目对于好多新特性都用不着,基本的增删改查和灵活的通知机制就非常够用了。

    共 2 条评论
    4
  • 熊猫
    2022-12-19 来自广东
    老师,你好,dubbo有没有这样的功能,一个接口多种实现,根据参数(标识渠道不同)来区分最终路由到哪个实现?再或者有没有在客户端可以知道有哪几种实现?

    作者回复: 你好,熊猫:顺着你的意思,在客户端就知道有哪几种实现,是不是可以再继续抽象一层,通过 “路由标识” 到不同的实现(甚至都可以不用关心是哪个实现,只要路由标识能找到就行)。至于这个 “路由标识” 可以通过查找存储媒介形式(比如:数据库、配置中心等)来寻找对应的 “接口中具体的方法”,这样应该就可以做成一套通用的分发调用框架了(比如:智能网关)。详细的话可以去看看 “泛化调用”、“点点直连” 章节。

    共 6 条评论
    4
  • Geek_244b79
    2023-01-18 来自北京
    老师,您好,看完课程有两个疑问,1.监控中心是存在于哪里 2.注册中心的消息推送是主动推送的吗?希望老师看到可以帮忙解答,谢谢!

    作者回复: 你好,Geek_244b79: 1.监控中心,是一个模块,可以是和应用运行在同一个进程的模块,也可以是和应用隔离开的另外一个进程(或另外一台服务器)。而监控中心,是针对数据监控的,那就势必有数据上报,既然需要上报数据,那就得分为监控中心客户端模块(负责收集监控数据上报至监控中心服务端),监控中心服务端模块(负责分析处理监控中心客户端上报的数据)。 2.注册中心的消息推送是zk服务端主动推送至zk客户端,主要是基于zk客户端与zk服务端建立了长连接机制。

    共 3 条评论
    1
  • java小霸王
    2022-12-27 来自广东
    异常信息可以看出 1 超时机制是通过completeFutrue 2 failover策略

    作者回复: 你好,java小霸王:你的眼睛很犀利,看出了两个具有代表性的特征,非常好,为你的认真仔细点赞。 异常信息中,还有蛮多的,详细可以见“02 异步化实践”章节的解答,熟悉这个异常是基本,灵活根据异常分析出问题是关键,可以多多体会一下~

    
    1
  • null
    2022-12-21 来自湖南
    老师,注册中心使用zookeeper和etcd哪个好?

    作者回复: 你好,特别的 null 标识朋友:etcd是一个年轻的go项目,同样是解决分布式协调问题,并且吸收zookeeper实现上的经验,在api的使用、实例的动态增减、数据体量的存储,且对外部语言的支持也更加友好。但是他的年轻和高速的迭代开发不免在稳定性上会使得一些大项目望而却步的考量因素。 其次还得看公司的运维能力,如果运维擅长zookeeper的话那大概率就使用zookeeper了,如果运维擅长etcd的话那正好可以借此机会狠狠与真实业务实战一把。两者都擅长的话,项目求稳还是可以考虑使用传统的zookeeper的,激进的话可以考虑etcd。不过大多数项目对于好多新特性都用不着,基本的增删改查和灵活的通知机制就非常够用了。

    
    1
  • 慎独明强
    2022-12-19 来自广东
    补充一点:负载均衡策略,源码里面还有ShorestResponseLoadBalance 异常信息获取: 1) 重试次数为3,取的默认值 正常调用+重试2次 2) providers [192.168.100.183:28040] (1/1) providers列表为1,第一次调用就失败了 3)集群容错策略为failOver故障转移 4)超时时间为1000ms 5)调用DemoFacade的sayHello方法超时

    作者回复: 慎独明强,你好:补充的非常棒,补充了我遗漏的一个,为你的细心点赞,细心是好事,可以抠出很多自己未知的细节因素,很好很棒。 异常信息中,还有蛮多的,详细可以见“02 异步化实践”章节的解答,熟悉这个异常是基本,灵活根据异常分析出问题是关键,可以多多体会一下~

    
    1
  • Geek_327f7f
    2023-05-21 来自中国香港
    老师,我觉得您这里的dubbo架构图跟dubbo官网的出入挺大的,感觉您这个架构图应该是在dubbo框架下的微服务架构而不是dubbo的架构图,不知道我的理解是否正确。而且provider和consumer都是需要一个container提供dubbo的运行环境的吧,我看您的架构图中只有provider有container而consumer并没有。

    作者回复: 你好,Geek_327f7f:侧重在提供方,主要是消费方也可以不是 dubbo 服务,比如消费方直接用 Socket 请求模拟 dubbo 协议发送请求,同样可以拿到数据的。

    
    
  • simuso
    2023-05-02 来自四川
    为什么本地的zk连接没问题,如何连接其他服务器的zk就不行呢

    作者回复: 你好,simoso:能描述再具体点么?是遇到墙不通的问题呢?还是需要做下域名啥的还是啥啥啥呀?

    
    
  • 天天学习
    2023-04-27 来自福建
    老师,dubbo.application.service-discovery.migration在yml文件配置的时候为什么没有提示选项呢,也点不进这个配置,我用的dubbo是3.1.8版本的

    作者回复: 你好,天天学习:我用的不是社区版,所以可以点进去看的~

    
    
  • Geek_forMySelf
    2023-03-22 来自广东
    发生了TimeoutException应该需要provider方实现接口的幂等吧

    作者回复: 你好,Geek_forMySelf:很 nice 的一个经典场景回答,不过也得看具体业务,如果是那种查询请求的话,幂等性与否意义不是很大;但是对于写请求的话,如果业务逻辑容忍重复数据,也做幂等性处理也无关痛痒;反而对于那种不允许重复请求导致生成重复数据的功能业务,幂等性就显得至关重要了。

    
    