文档章节

关于Jeecg互联网化dubbo改造方案

Jeecg
 Jeecg
发布于 2016/08/03 09:58
字数 663
阅读 96
收藏 3

随着互联网化越来越走近生活,国家也在推广互联网+,传统的垂直应用架构无法应对,所以我设想对jeecg进行垂直服务化拆分。

借助dubbo官网提供

从节点的角色可以看出

    Provider: 暴露服务的服务提供方。(core-核心,可依赖其它api)

    Consumer: 调用远程服务的服务消费方。(web-MVC)

    Registry: 服务注册与发现的注册中心。(zookeeper-分布式文件配置)

 

从而让我想起对jeecg的拆分主体子项目(依赖关系:从下到上)如下:

    Jeecg-api

    Jeecg-minidao

    Jeecg-codegenerate

    Jeecg-core

    Jeecg-jobs

    Jeecg-web

再结合当前的项目结构

 

tag-拆分-jeecg-api:共享其它子程序依赖

web-拆分-jeecg-web

 

Core-拆分-jeecg-core

 

注:类似dao、impl拆分到core;类似pojo、entity、interface、exception统一拆分到api中、含controller的包拆分到web中。

目前是按功能划分包,显得包很多。拆分后是按平台总体结构划分,结构总体会更清晰。

总体结构分层:优先按平台结构在此基础上再按业务包管理 。

Jeecg-codegenerate

可以独立项目,也可以拆分成依赖子项目。

Jeecg-minidao

独立子项目供core依赖。

Jeecg-jobs

关于定时任务这块我是想独立出一个job子工程,可以独立部署,依赖core。

—————————————————————————————————————————

这次主要对jeecg拆分细化dubbo工程构建,结合dubbo相关配置文件。

目前我拿dc这个项目实战做简要分析,如下图:

 

 

Dc-api:是独立子项目不需要依赖其它子项目,是提供其它子项目依赖。如core、web.在service中提供的都是远程服务的接口,供外部访问。

 

 

 

Dc-core:是核心,依赖dc-api。第1个红圈是dao也是依赖aof-all(在线服务框架-分库分表);对于jeecg可以依赖minidao。第2个红圈是对api接口的impl(具体业务的实现)。第3个红圈表示用Spring配置声明暴露服务(服务的提供者)

 

 

其中注册中心:1、multicast广播注册中心暴露服务地址2、zookeeper。

最后一个红圈是本地服务的部署。当然在linux正式环境下,dubbo会有独立的容器来部署。

 

 

 

Dc-web:MVC,同样也依赖dc-api,图中红圈是服务的消费者。配制如下:

 

provider.xml相比consumer.xml引用的配制类不一样 。目前官网提供核心配制类如下:

详情参考:http://dubbo.io/User+Guide-zh.htm

Dc-web可以直接部署到apache的tomcat下。是一个web项目。

© 著作权归作者所有

共有 人打赏支持
Jeecg

Jeecg

粉丝 241
博文 144
码字总数 88642
作品 8
海淀
CEO
私信 提问
第20期JEECG架构培训班开始报名啦,每期十个名额,报名从速!

第20期开始报名啦,只招10名,报名从速啦!! 《开源社区JAVA架构师徒培训班》 Java程序员如何打破工作2,3年的瓶颈问题, 让技术更上一层楼?? 很多人做java开发2,3年后,都会感觉自己遇到瓶颈...

Jeecg
2015/10/13
68
0
Dubbo使用Sentinel来对服务进行降级与限流

一、Sentinel 是什么 Sentinel 是阿里中间件团队开源的,面向分布式服务架构的轻量级流量控制产品,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的...

nonnetta
2018/12/24
0
0
【JEECG Dubbo专题】jeecg-p3集成dubbo文档

一、项目介绍 二、项目分解说明 1 . p3dubbo-service 说明:该项目为简单的maven构建项目,无任何依赖引用,只作接口定义 接口定义如下: pom文件说明 2. p3dubbo-service 说明:该项目为接口...

Jeecg
2016/08/12
65
0
ARMS TProf 线程剖析使用文档

“没有最好的技术,只有最合适的技术。”我想这句话也同样适用于微服务领域,没有最好的服务框架,只有最适合自己的服务改造。在Dubbo的未来规划中,除了保持自身技术上的领先性,关注性能,...

中间件小哥
2018/09/07
0
0
图解微服务架构演进

原文出处: 泥瓦匠BYSocket 前言 来自dubbo的用户手册中的一句话: 常规的垂直应用架构就相当于传统的那种,现阶段传统垂直架构改造的核心就是对应用做服务化改造,服务话改造使用的核心技术...

刘星石
2016/03/09
36
0

没有更多内容

加载失败,请刷新页面

加载更多

Vert.x系列(二)--EventBusImpl源码分析

前言:Vert.x 实现了2种完成不同的eventBus: EventBusImpl(A local event bus implementation)和 它的子类 ClusteredEventBus(An event bus implementation that clusters with other Ve......

冷基
50分钟前
1
0
Perl - 获取文件项目

参考:http://www.runoob.com/perl/perl-directories.html 下面返回JSON格式的文件列表 #!/usr/bin/perluse strict;use warnings;use utf8;use feature ':5.26';require Fi......

wffger
昨天
2
0
vue组件系列3、查询下载

直接源码,虽然样式样式不好看,逻辑也不是最优,但是可以留作纪念。毕竟以后类似的功能只需要优化就可以了,不用每次都重头开始。。。 <template> <div class="pre_upload"> <div ...

轻轻的往前走
昨天
2
0
java浅复制和深复制

之前写了数组的复制,所以这里继续总结一下浅复制和深复制。 浅拷贝:对基本数据类型进行值传递,对引用数据类型进行引用传递般的拷贝。 深拷贝:对基本数据类型进行值传递,对引用数据类型,...

woshixin
昨天
2
0
kubernetes 二进制包安装

环境 角色 主机名 内网 IP 集群 IP 操作系统 服务 执行目录 部署机 k8s-master master120 10.0.4.120 - CentOS kube-apiserver kube-scheduler kube-controller-manager /opt/kubernetes/ et......

Colben
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部