做书的封面网站深圳网络推广引流
Dubbo
阿里公司开源的一个高性能,轻量级的javaRPC(远程服务调用方案)框架,提供高性能远程调用方案以及SOA服务治理方案
Dubbo架构
节点角色说明:
Provider:服务提供方
Container:服务运行容器
Consumer:调用远程服务的服务消费方
Register:服务注册与发现的注册中心
Monitor:统计服务的调用次数和调用时间的监控
消费方不能直接访问提供服务方,需要通过Register获取提供方的注册信息后,才能访问提供方
注册中心-zookeeper
zookeeper安装地址
安装zookeeper
1.上传到虚拟机
2.修改配置文件
zoo_sample.cfg 该配置文件未生效,想要生效的话,需将名字改为zoo.cfg,然后修改其文件存储地址,文件存储地址自建
修改配置文件,zookeeper数据存储位置
启动命令
关闭命令
快速入门
1.提供服务方到注册中心进行注册
2.消费方访问注册中心
3.将提供服务方的注册信息返回给消费方
4.消费方访问提供服务方
入门案例
1.接口
该模块中,根据业务需要,只需创建服务接口
2.服务提供方
实现类
dubbo的配置信息
webapp的配置信息
3.消费方
控制器
spring的配置
实现模块单独运行,需要导入tomcat插件,不参与运行且被依赖的模块,打jar包,需要运行的,打war包,在运行之前需要将被依赖的模块在生命周期install
//log4j.properties
# DEBUG < INFO < WARN < ERROR < FATAL
# Global logging configuration
log4j.rootLogger=info, stdout,file
# My logging configuration...
#log4j.logger.com.tocersoft.school=DEBUG
#log4j.logger.net.sf.hibernate.cache=debug
## Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d %C: %m%nlog4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=../logs/iask.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %l %m%n
//pom<properties><spring.version>5.1.9.RELEASE</spring.version><dubbo.version>2.7.4.1</dubbo.version><zookeeper.version>4.0.0</zookeeper.version></properties><dependencies><!-- servlet3.0规范的坐标 --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!--spring的坐标--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><!--springmvc的坐标--><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><!--日志--><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.21</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.21</version></dependency><!--Dubbo的起步依赖,版本2.7之后统一为rg.apache.dubb --><dependency><groupId>org.apache.dubbo</groupId><artifactId>dubbo</artifactId><version>${dubbo.version}</version></dependency><!--ZooKeeper客户端实现 --><dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>${zookeeper.version}</version></dependency><!--ZooKeeper客户端实现 --><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>${zookeeper.version}</version></dependency><dependency><groupId>com.itheima</groupId><artifactId>dubbo-interface</artifactId><version>1.0-SNAPSHOT</version></dependency></dependencies><build><plugins><!--tomcat插件--><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.1</version><configuration><port>8100</port><path>/</path></configuration></plugin></plugins></build>