dubbo版本号怎么查 如何查看dubbo的版本
大家好我是小深,dubbo版本号怎么查,关于如何查看dubbo的版本很多人还不知道,那么现在让我们一起来看看吧!
dubbo版本号怎么查 如何查看dubbo的版本
dubbo版本号怎么查 如何查看dubbo的版本
dubbo版本号怎么查 如何查看dubbo的版本
1、dubbo自带的运维工具dubbo-admin,主要面向开发人员去管理服务,携带很多管理、控制等功能,然后在dubbo新版本又推出了qos(Quality of Serv),主要面向运维管理。
2、我在之前公司有用到次功能,在和k8s结合时,通过发送主动下线功能(下线注册,但不下线服务),等到流量完全停止,在下线pod,实现平滑发布。
3、怎么样去管理?dubbo通过 QosProtocolWrapper 这个包装器实现qos发布,QosProtocolWrapper 是Protocol 三大包装器(filter,listener,qos)其中之一,默认会开启qos功能,可以配置关闭qos 主要提供了ls,online,offline, 功能,具体说,只有三种,上下线服务和查看服务我们跟读一下源码,看看qos 服务的启动,请求处理,上下线等。
4、在dubbo 生产者服务暴露和消费者消费引用的过程中都会启动qos,并且qos 通过cas来保证一个jvm只启动一次。
5、同样qos 功能也是通过netty启动server,处理类指定为 QosProcessHandler,这个handler实现了netty的 ByteToMessageDecoder 可以将网络流中的字节解码为对象channelActive() 方法含有为连接建立的时候回调,这里有个定时任务500ms,会刷一个美体的dubbo给客户端,我们验证下。
6、我们看看 QosProcessHandler#decode 是怎么处理请求的。
7、上面方法讲究,先读取个字节判断请求是 还是 tcp,为什么用个字节呢,我们知道信息头开始为 GET /xx 或者 POST /xx,个字符要么G要么P,判断为 则用编解码,如果为tcp 则用 LineBasedFrameDecoder 编解码,这是一个换行分割读取的解码方式遇到(,)[就是net时候的回车]时,就截断,如果为tcp 还会添加一个 IdleStateHandler 作为心跳检测,处理指令的handler 为 TelnetProcessHandler。
8、先演示下效果为了便于观察我们这里看的处理指令的方式 HttpProcessHandler。
9、HttpCommandDecoder. decode (msg)会将get或者t请求携带的路径等返回给 commandContext , BaseCommand.class 为指令扩展点会根据uri 传入的指令,来指定要处理的类,优点类似策略模式。
10、我们看看offline 是怎么处理的可以传入服务,默认所有服务,18行中从注册工厂中获取服务对应的注册中心,然后调用注册中心的unregister() 层层调用到zk客户端的delete()方法来,删除zk临时。
11、qos 的功能和简单,之所以单独拿出来讲是因为这里涵盖了我们web开发中常提到的“”概念,通过netty 启动服务,然后处理请求。
本文到这结束,希望上面文章对大家有所帮助。