202111-14 dubbo 如何使用logback来输出日志 dubbologback输出日志两者皆为国内使用比较广的两个开源框架:一个是服务治理框架,另一个则是日志框架。这个问题的解决方案一部分就在dubbo官网上:dubbo的日志适配缺省自动查找:log4jslf4jjcljdk可以通过以下方式配置日志输出策略:java-Ddubbo.application.logger=log4jdubbo.propertiesdubbo.application.logger=log4jdubbo.xml<dubbo:applicationlogger="log4j"/>//我采用的这种配置方式而logback与slf4... 继续阅读 >
202110-12 Spring Boot 整合 Apache Dubbo的示例代码 ApacheDubbo是一款高性能、轻量级的开源JavaRPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。注意,是ApacheDubbo,不再是AlibabaDubbo。简单来说就是Alibaba将Dubbo移交给Apache开源社区进行维护。参见dubbo-spring-boot-projectSpringBoot系列:整合AlibabaDubbo一、本文示例说明1.1框架版本Dubbo版本<dependency><groupId>org.apache.dubbo</gr... 继续阅读 >
202109-14 解析Apache Dubbo的SPI实现机制 目录一、SPI1.1、JDK自带SPI实现1.2、DubboSPI二、加载-ExtensionLoader2.1、获取ExtensionLoader的实例2.2、加载扩展类2.2.1、loadExtensionClasses加载扩展类2.2.2、扩展包装类2.2.3、自适应扩展实现类2.2.4、自动激活扩展类三、总结四、附录一、SPI在Java中,SPI体现了面向接口编程的思想,满足开闭设计原则。1.1、JDK自带SPI实现从JDK1.6开始引入SPI机制后,可以看到很多使用SPI的案例,比如最常见的数据库驱动实现,在JDK中... 继续阅读 >
202109-13 Apache Dubbo的SPI机制是如何实现的 目录一、SPI1.1JDK自带SPI实现1.2DubboSPI二、加载-ExtensionLoader2.1获取ExtensionLoader的实例2.2加载扩展类2.2.1loadExtensionClasses加载扩展类2.2.2扩展包装类2.2.3自适应扩展实现类2.2.4自动激活扩展类三、总结四、附录4.1Xxx$Adaptive完整案例一、SPI1.1JDK自带SPI实现从JDK1.6开始引入SPI机制后,可以看到很多使用SPI的案例,比如最常见的数据库驱动实现,在JDK中只定义了java.sql.Driver的接口,具体实现由各数... 继续阅读 >
202109-07 详解SPI在Dubbo中的应用 目录一、概述二、JDK自带SPI2.1、代码示例2.2、简单分析三、SPI与双亲委派3.1、SPI加载到何处3.2、SPI是否破坏了双亲委派四、DubboSPI4.1、基本概念4.2、代码示例4.3、源码分析五、总结一、概述SPI全称为ServiceProviderInterface,是一种模块间组件相互引用的机制。其方案通常是提供方将接口实现类的全名配置在classPath下的指定文件中,由调用方读取并加载。这样需要替换某个组件时,只需要引入新的JAR包并在其中包含新的实... 继续阅读 >
202108-08 IDEA整合Dubbo+Zookeeper+SpringBoot实现 目录1.提出需求2.环境准备3.业务接口整合4.服务提供者5.服务消费者6.测试7.最后附上另外两种配置文件整合方式7.1XML整合配置文件7.2配置类整合本文主要介绍了IDEA整合Dubbo+Zookeeper+SpringBoot实现,分享给大家,具体如下:放上一张Dubbo的架构图刚刚学过SpringCloud,Dubbo虽然没有Spring家族那么强悍,但始终不能违背Dubbo是一款高性能优秀的RPC框架。click官网地址了解更多自己也是初学者,想自己动手做一个简单的de... 继续阅读 >
202107-22 浅析Java SPI 与 dubbo SPI Java原生SPI面向接口编程+策略模式实现建立接口RobotpublicinterfaceRobot{/***测试方法1*/voidsayHello();}多个实现类实现接口RobotApublicclassRobotAimplementsRobot{publicRobotA(){System.out.println("HappyRobotAisloaded");}@OverridepublicvoidsayHello(){System.out.println("iamaveryveryhappyRobot");}publicvoidsayBye(){}}Ro... 继续阅读 >
202101-26 SpingBoot+Dubbo+Zookeeper实现简单分布式开发的应用详解 开始接触分布式概念,学习之前要准备搭建Dubbo和Zookeeper环境的简单搭建。Window下安装Zookeeper和Dubbo-admin1、Apache官网下载Zookeeper点击官网地址下载最新版下载完成后,打开apache-zookeeper-3.6.2-bin\bin下zkServer.cmd,正常第一次都会闪退的,因为没有配置好zoo.cfg配置文件。将conf目录下的zoo_sample.cfg文件,复制一份,重命名为zoo.cfg在apache-zookeeper-3.6.2-bin目录下新建两个文件夹data和log修改zoo.cfg配置文... 继续阅读 >
202011-25 SpringBoot中dubbo+zookeeper实现分布式开发的应用详解 总体实现思路是启动一个生产者项目注册,将所含服务注册到zookeeper的注册中心,然后在启动一个消费者项目,将所需服务向zookeeper注册中心进行订阅,等待注册中心的通知注册中心基于负载均衡算法给消费者匹配到合适的生产者主机,然后通知消费者可以使用实现生产者导入zookeeper依赖包<!--DubboSpringBootStarter--><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo-spring-boot-starter</... 继续阅读 >
202010-10 python 如何调用 dubbo 接口 公司后端服务使用java重构后,很多接口采用了阿里的dubbo协议。而python是无法直接调用dubbo接口的,但可以通过telnet调用,具体可以通过telnetlib模块的Telnet类来调用,只需要四行代码即可实现:importtelnetlib#创建telnet类对象conn=telnetlib.Telnet()#连接dubbo接口地址conn.open(host,port)#1.cmd命令格式:接口全名字.方法名(参数1,参数2,参数3...参数n)2.write方法就是通过telnet发起dubbo请... 继续阅读 >
202010-10 2020最新IDEA SpringBoot整合Dubbo的实现(zookeeper版) 首先,要在电脑上安装配置好zookeeper哦~这是我云服务器上的zookeeper状态接下来,开始整合1.准备一个dubbo-api的SpringBoot项目用来存储Entity类和Server接口的项目,配置文件无须改动。entity?User//Lombok注解相当于SetterGettertoString()@DatapublicclassUserimplementsSerializable{//序列化很重要!!!privatestaticfinallongserialVersionUID=7739394865008699599L;privateLongid;private... 继续阅读 >
202010-10 dubbo新手学习之事件通知实践教程 前言今天主要给大家分享一下dubbo的事件通知机制。先看下dubbo中文官网的示例解释:事件通知。在调用之前、调用之后、出现异常时,会触发oninvoke、onreturn、onthrow三个事件,可以配置当事件发生时,通知哪个类的哪个方法.实践溪源目的是快速学习dubbo的相关机制,故定义的相同的接口和方法,采用分包的方式解耦合,便于后期维护。先看服务接口dubbo-demo-interface目录如图**UserNotifyService**/***@authorwx*@date20... 继续阅读 >
202009-28 深入浅析Netty 在 Dubbo 中是如何应用的 众所周知,国内知名框架Dubbo底层使用的是 Netty 作为网络通信,那么内部到底是如何使用的呢?今天我们就来一探究竟。1.dubbo的Consumer消费者如何使用Netty注意:此次代码使用了从github上clone的dubbo源码中的dubbo-demo例子。代码如下:System.setProperty("java.net.preferIPv4Stack","true");ClassPathXmlApplicationContextcontext=newClassPathXmlApplicationContext(newString[]{"META-IN... 继续阅读 >
202009-27 Spring Cloud Alibaba和Dubbo融合实现 服务提供者创建一个名为hello-dubbo-nacos-provider的服务提供者项目POM<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframewor... 继续阅读 >
202009-24 SpringBoot通过整合Dubbo解决@Reference注解问题 首先检查一下你的springboot版本是多少?如果是2.X不用看了,springboot2.x必定会出现这个问题,改为1.5.9或其他1.x版本,目前生产环境建议使用1.x版本。<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.9.RELEASE</version><relativePath/><!--lookupparentfromrepository--></parent>然后下面是正确的配置:服务消费者端配置文件:#zk地址sp... 继续阅读 >
201804-08 微服务中 Dubbo 和 Spring Cloud 架构技术路线对 微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案,但业界已经有一些很有影响力的开源微服务架构框架提供了微服务的关键思路,例如Dubbo和SpringCloud。各大互联网公司也有自研的微服务框架,但其模式都于这二者相差不大。微服务主要的优势如下:1、降低复杂... 继续阅读 >