# boot-dubbo
**Repository Path**: devine/boot-dubbo
## Basic Information
- **Project Name**: boot-dubbo
- **Description**: Spring-Boot With Dubbox
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 13
- **Created**: 2016-07-07
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
##Spring-Boot With Dubbox ##
该项目整合了最新的Spring Boot和功能强大的RPC框架Dubbox
两者都有优点,也都有缺点
最新版本的Spring Boot包含了Metrics模块
Spring Boot:
> 1、微内核
> 2、配置简单
> 3、模块化
> 4、开箱即用
> 5、完全兼容Spring
> 6、设计理念极其先进,很多思想来自OSGi,但是在现有技术的实现
缺点:
> 二次改造定制难
> 缺少成熟的SOA或者RPC框架
----------
Dubbox:
-------
> 1、完全兼容Dubbo
> 2、功能强大
> 3、性能强悍
> 4、运行稳定
> 5、可扩展性较好, Api和Spi分离
缺点:
> 1、官方停止维护已经两年之久了
> 2、依赖较为陈旧
> 3、运行时较重,应该微内核和模块化这个框架
> 4、配置较为复杂,学习成本较高
建议:
大家有机会一起维护Dubbox 模块化和微内核这个框架
---------------------------------------------------------
使用:
> 1、安装Maven
> 2、下载dubbox,在${dubbox-home}执行mvn clean install -Dmavne.test.skip=true
(执行该命令会从中央仓库下载依赖,若一次安装不成功,多执行几次,一般都是网络问题或依赖问题造成的),最终肯定会成功安装到本地仓库中
> 3、使用Eclipse/IDEA导入boot-dubbo基本上的结构你就可以看懂了,下述也有简单的描述
---------------------------------------
boot-dubbo-normal-client
* 这个项目我想以一个第三方的项目使用dubbox
* 这个项目跟spring boot没有一点关系。
如果仅仅测试dubbo:
* boot-dubbo-simple
* boot-dubbo-simple-client
上述两个项目就够用了
boot-dubbo-infrastructure
这个模块项目只与数据库相关,其中集成了Spring-Data-Jpa以及Mybatis
* Spring-Data-Jpa一般负责增删改,这个及其简单
* Mybatis负责较为复杂的查询
boot-dubbo-service
该项目依赖api和boot-dubbo-infrastructure
它要实现api约定的接口,另外依赖boot-dubbo-infrastructure对不同数据表的操作以及对事务的操作
boot-dubbo-web
该项目依赖api,它是dubbo的客户端,它通过调用api等于invoke到serice的服务上,从而实现了rpc的调用和服务治理。
说明:
* service:一般我们的service瓶颈在IO或者数据库上,部署无需太多
* web:一般的压力在web上,如果很多用户并发,session以及转换都在web上,web建议多部署几台
--------------------------------------
注释:
* 在实际项目的架构中,Service和Infrastrature(DAO)之间应该还需要一层,就是ProxyDao那么这一层应该在Infrastrature这个当中