前言本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo今天,来聊点短的,服务路由Router,本文讲的是路由的调用路径,不讲路由的规则解析。想了解规则解析的可以去官方文档:服务路由Dubbo的路由,就是根据规则,规定了哪些服务消费者可调用哪些服务提供者。怎么用我们可以在服务治理控制台Dubbo-Admin写入路由规则。安装Dubbo-Admin我是使用docker方式安装的,命令如下:dockerrun-d\-p9001:8080\-eadmin.root.user.name=admin\-eadmin.root.user.password=adm
前言本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo今天,来聊聊Dubbo的服务目录(Directory)。下面是官方文档对服务目录的定义:服务目录中存储了一些和服务提供者有关的信息,通过服务目录,服务消费者可获取到服务提供者的信息,比如ip、端口、服务协议等。服务目录持有Invoker对象集合,Dubbo的服务调用均由Invoker发起。当服务提供者信息发生变化时(比如某一个服务挂了),服务目录也需要动态调整。继承体系服务目录目前内置的实现有两个,分别为StaticDirectory和RegistryDirectory。它们均继承自Abstra
前言本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo今天,来聊聊Dubbo的服务目录(Directory)。下面是官方文档对服务目录的定义:服务目录中存储了一些和服务提供者有关的信息,通过服务目录,服务消费者可获取到服务提供者的信息,比如ip、端口、服务协议等。服务目录持有Invoker对象集合,Dubbo的服务调用均由Invoker发起。当服务提供者信息发生变化时(比如某一个服务挂了),服务目录也需要动态调整。继承体系服务目录目前内置的实现有两个,分别为StaticDirectory和RegistryDirectory。它们均继承自Abstra
业务系统正常运行的稳定性十分重要,作为SpringBoot的四大核心之一,Actuator让你时刻探知SpringBoot服务运行状态信息,是保障系统正常运行必不可少的组件。 spring-boot-starter-actuator提供的是一系列HTTP或者JMX监控端点,通过监控端点我们可以获取到系统的运行统计信息,同时,我们可以自己选择开启需要的监控端点,也可以自定义扩展监控端点。 Actuator通过端点对外暴露的监控信息是JSON格式数据,我们需要使用界面来展示,目前使用比较多的就是SpringBootAdmin或者Prometheus+Grafana的方式:SpringBoo
业务系统正常运行的稳定性十分重要,作为SpringBoot的四大核心之一,Actuator让你时刻探知SpringBoot服务运行状态信息,是保障系统正常运行必不可少的组件。 spring-boot-starter-actuator提供的是一系列HTTP或者JMX监控端点,通过监控端点我们可以获取到系统的运行统计信息,同时,我们可以自己选择开启需要的监控端点,也可以自定义扩展监控端点。 Actuator通过端点对外暴露的监控信息是JSON格式数据,我们需要使用界面来展示,目前使用比较多的就是SpringBootAdmin或者Prometheus+Grafana的方式:SpringBoo
前言本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo上一篇文章,讲了Dubbo的服务导出:Dubbo源码(三)-服务导出(生产者)本文,咱们来聊聊Dubbo的服务引用。本文案例来自Dubbo官方Demo,路径为:dubbo/dubbo-demo/dubbo-demo-consumer/服务引用原理Dubbo服务引用对象的生成,是在ReferenceBean#getObject()方法中其生成时机有两个:饿汉式ReferenceBean对象继承了InitializingBean接口publicvoidafterPropertiesSet()thro
前言本文基于Dubbo2.6.x版本,中文注释版源码已上传github:xiaoguyu/dubbo上一篇文章,讲了Dubbo的服务导出:Dubbo源码(三)-服务导出(生产者)本文,咱们来聊聊Dubbo的服务引用。本文案例来自Dubbo官方Demo,路径为:dubbo/dubbo-demo/dubbo-demo-consumer/服务引用原理Dubbo服务引用对象的生成,是在ReferenceBean#getObject()方法中其生成时机有两个:饿汉式ReferenceBean对象继承了InitializingBean接口publicvoidafterPropertiesSet()thro
前情提要假设你已经知道DubboSPI的使用方式,不知道的请出门左转:Dubbo源码(一)-SPI使用Dubbo源码地址:apache/dubbo本文使用版本:2.6.x测试Demo新建SPI测试接口以及实现类packagecom.javaedit.spi;importcom.alibaba.dubbo.common.URL;//定义SPI接口@SPIpublicinterfaceRobot{voidsayHello(URLurl);}//自动注入演示publicclassIocRobotImplimplementsRobot{privateRobotrobot;publicvoidsetRo
前情提要假设你已经知道DubboSPI的使用方式,不知道的请出门左转:Dubbo源码(一)-SPI使用Dubbo源码地址:apache/dubbo本文使用版本:2.6.x测试Demo新建SPI测试接口以及实现类packagecom.javaedit.spi;importcom.alibaba.dubbo.common.URL;//定义SPI接口@SPIpublicinterfaceRobot{voidsayHello(URLurl);}//自动注入演示publicclassIocRobotImplimplementsRobot{privateRobotrobot;publicvoidsetRo
go-admin框架还没分析完,我决定提前放弃了。。。导火线是写上一篇“go-admin框架分析(4)—jwt”后,我想搞明白在文件“common/middlerware/init.go”中的sdk.Runtime.SetMiddleware(JwtTokenCheck,(*jwt.GinJWTMiddleware).MiddlewareFunc)一句话到底有什么作用。因为我文章中不需要这句话也能实现功能。百度查资料,去github仓库翻issue,甚至想加QQ群(加群居然还要我点星星,点了星星也没通过),他的源代码实在是没有注释呀!我那篇日志系统的分析花了我多少时间才搞明白呀。总结如下:缺点