一、简介
1,springboot 是 一款快速开发的框架,减少了开发人员对配置文件的操作。采用一些注解来取代xml配置文件。
注解包含预先封装的注解和开发人员自定义注解。同时使用Maven、Gradle的方式解决了依赖jar包的引入及版本冲突的问题。
springboot 依赖包集中于org.springframework.boot,包含各种所需功能的封装。
ps:web服务开发:spring-boot-starter-web;Tomcat容器部署开发:spring-boot-starter-tomcat;日志依赖包:spring-boot-starter-log4j2;
后台服务开发:spring-boot-starter;jdbc开发:spring-boot-starter-jdbc;redis依赖:spring-boot-starter-data-redis;
一旦确定后parent依赖包,再行引入其他依赖jar包的话,各jar包版本号都是相互兼容的,无需开发人员再考虑版本冲突的问题。
搭建完成后的架构如下:
说明:provider2是工程模块名,src下存放开发文件。java目录存放java文件,resources下存放静态文件(HTML、js)、配置文件(spring.xml,sqlMap.xml)及 application.properties/yml文件。
test下放置的测试类。target存放编译后的class文件。
pom.xml 是 描述工程模块基本属性及所需依赖配置。
2,dubbo 是阿里推出的一种高可用的RPC服务框架。包含服务调用、服务监测、负载均衡和容错以及服务注册、发现。对一般的web项目均可以满足使用。重要的是可以和spring框架完美对接。
dubbo 分为 四个模块。provider(服务提供者)、consumer(服务消费者)、monitor(监控服务中心)、Registry(注册服务中心)。官网调用流程图如下:
(1)provider 将各接口服务注册到Registry注册中心
(2)consumer向Registy注册中心订购所需服务
(3)Registry向consumer通告provider地址及其他属性
(4)consumer根据Registry注册中心返回的信息请求provider服务
(5)monitor监控provider、consumer运行情况
详细介绍:
provider :服务提供者。向外暴露服务;
consumer:服务消费者,请求其他服务;
registry:服务注册中心。用于服务注册及服务发现。可以使用zookeeper、redis等工具实现
monitor:服务监控中心。用于监控暴露接口、调用详情、注册情况。
此外还有一个dubbo-admin:管理服务,可以查看提供者注册接口情况、消费者请求接口配置、容错、负载均衡、接口的屏蔽与禁用。
provider、consumer两个服务属于springboot框架,开发人员可自行完善功能;registry注册属于第三方组件,在provider、consumer配置文件配置后即可使用;
monitor、dubbo-admin官网上有提供源码,可自行下载后打包成war包部署(Tomcat、Jetty均支持)。也可以根据需求自行修改源码。