zscat分布式框架是啥dubbo,springboot

http://mp.weixin.qq.com/s?__biz=MjM5Mjk0MTY1OA==&mid=100000006&idx=1&sn=b0c424e1e1313ec8d3daacb8b3f122ab&chksm=269fd23311e85b252d01a4668fc737e6e36fd26603eda5b5c58e5d8ff9b5b85852a5250ae8fa&mpshare=1&scene=1&srcid=0330qlae1kWzZWiaXBknMo1x#rd

ZSCAT分布式框架是啥?

2016-11-04zsCatzsCat分布式框架

使用技术spring,springmvc ,mybatis 通用mapper,beetl  mavenRedisdubbo  zookeep  bootstreap acejQuery等等

主要是提供了常用的权限系统精确到按钮级别和一些常用的功能和组件

分布式 主要是将系统分成多个模块 如商城 可以分成会员中心,订单管理  购物车等等,每个模块 分为API 和实现两个项目,实现项目也打成war包 独立部署,每个模块可以都可以多机部署。当然这样的模式会导致开发和部署更加麻烦,项目分了多个模块 本来部署一次的也变成了部署多次,分布式的事务也难解决。但还是有不得不分的理由............................

声明:该框架面向企业,是大型互联网分布式企业架构,后期会介绍Linux上部署高可用集群项目。

有愿意了解框架技术或者源码的朋友直接加Q(951449465)一起学习

介绍

1.      项目核心代码结构截图

pig-common 通用的工具类及所有模块都可以用的

pig-xx-api  模块所对应的接口和域模型

pig-xx  模块对应接口的实现类

pig-xx-portl 模块所对应的前台显示

pig-web 所有模块的的后台 可以拆分为多个后台

pig-sso 项目模块见的单点登录

pig-search 项目所有的搜索

pig-scheculer  模块的定时任务

特别提醒:开发人员在开发的时候可以将自己的业务REST服务化或者Dubbo服务化

2.     项目依赖介绍

2.1  后台管理系统、Scheculer定时调度系统依赖如下图:

2.2  Dubbo独立服务项目依赖如下图:

3.      平台简介

zsCat是一个分布式的框架,提供项目模块化、服务化、热插拔的思想,高度封装安全性的Java EE快速开发平台。

zsCat本身集成Dubbo服务管控、Zookeeper注册中心、Redis分布式缓存技术、FastDFS分布式文件系统、spring rabbitmq异步消息中间件、Nginx负载均衡等分布式技术

使用Maven做项目管理,项目模块化,提高项目的易开发性、扩展性

以Spring Framework为核心容器,Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Ehcahe对 redis常用数据进行缓存等。

前端集成Bootstrap4 ace  beelt框架,UI响应式、扁平化布局,适应所有PC、Pad、Anroid、iOS移动设备等。

zsCat主要定位于互联网企业架构,已内置企业信息化系统的基础功能和高效的代码生成工具,包括:系统权限组件、数据权限组件、数据字典组件、核心工具 组件、代码生成等。采用分层设计、双重验证、提交数据安全编码、密码加密、访问验证、数据权限验证。

zsCat目前包括以下模块项目,后台系统管理系统,RestFul独立服务系统、Scheduler定时调度系统、内容管理(CMS)系统、在线办公(OA)系统、)。

后台管理系统包括企业组织架构(用户管理、机构管理、区域管理)、菜单管理、角色权限管理、字典管理等功能;

RestFul独立提供标准Rest服务API,您可以快速实现自己的业务,提供需要的服务;

Quartz定时调度系统可以动态配置您的任务规则等;

内容管理(CMS)系统,包括内容管理,栏目管理、站点管理、公共留言、文件管理、前端网站展示等功能;

在线办公(OA)系统,主要提供简单的流程实例。

zsCat提供了常用工具进行封装,包括日志工具、缓存工具、服务器端验证、数据字典、当前组织机构数据(用户、机构、区域)以及其它常用小工具等。。使用了zsCat基础框架,可以提高快速开发效 率。

4.    内置功能(只列了一部分功能)

1.用户管理:用户是系统操作者,该功能主要完成系统用户配置。

2.机构管理:配置系统组织机构(公司、部门、小组),树结构展现,可随意调整上下级。

3.区域管理:系统城市区域模型,如:国家、省市、地市、区县的维护。

4.菜单管理:配置系统菜单,操作权限,按钮权限标识等。

5.角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。

6.字典管理:对系统中经常使用的一些较为固定的数据进行维护,如:是否、男女、类别、级别等。

7.操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。

8.连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。

5.    开发工具

1.Eclipse IDE:采用Maven项目管理,模块化。

6.    技术选型(只列了一部分技术)

1、后端

服务框架:Dubbo、zookeeper、Rest服务

缓存:Redis、ehcache

消息中间件:springrabbttMQ

负载均衡:Nginx

分布式文件:FastDFS

数据库连接池:Alibaba Druid 1.0

核心框架:Spring framework

安全框架:Apache Shiro 1.2

视图框架:Spring MVC 4.0

服务端验证:hibernateValidator 5.1

任务调度:quartz 1.8.5

持久层框架:MyBatis 3.2

日志管理:SLF4J 1.7、Log4j

工具类:Apache Commons、Jackson 2.2、Xstream 1.4、Dozer 5.3、POI

2、前端

JS框架:JQuery 1.9。 beelt

CSS框架: Bootstrap 4 ace

客户端验证:JQuery Validation Plugin。

富文本:UEcitor

文件管理:CKFinder

动态页签:Jerichotab

数据表格:jqGrid

对话框:layer

树结构控件:jQuery zTree

其他组件:Bootstrap 4 ace

3、支持

服务器中间件:Tomcat 6、7、Jboss 7、WebLogic 10、WebSphere 8

数据库支持:目前仅提供MySQL数据库的支持,但不限于数据库,下个版本升级多数据源切换和数据库读写分离: 如:Oracle、SqlServer、H2等

支持开发环境:Eclipse、MyEclipse、Ras、Idea等

环境搭建:

1.环境准备

1.开发工具: Eclipse IDE(建议使用高一点的版本)

2.JDK版本:JDK1.7

3.项目管理: Maven3.1.1

2.安装步骤

1.安装jdk1.7并配置环境变量(相信大家都会做,这里不再做重复的说明)

2.安装maven:maven安装过程就是解压缩的过程(我已经帮大家解压了, 目录:E:\myprj\zscat-maven\apache-maven-3.1.1),为了方便大家,这边已经提供了相关的安装包,会在打包的目录下共享。

3.mavan配置环境变量,右击我的电脑?属性?高级系统设置?环境变量?找到(系统变量path),在最前面输入你的maven安装包路径,声明:因为上一步解压了指定的目录,所以配置如下:

E:\myprj\zscat-maven\apache-maven-3.1.1\bin;

相信大家都有配过环境变量,如果您不是很清楚,请查询相关资料,了解一下maven的相关知识。

4.打开 cmd,在里面敲:mvn –version,出现以下结果说明你maven安装成功了

mvn 是 maven 的一个指令,mvn-version 是查看版本信息,我的操作系统是 64位的WIN7,安装的 maven 是 3.1.1,如果能打印如上信息,说明到此 Maven3 已经在你的电脑上安装完成。

5.建工作空间(进入后选中import maven视图)

6.配置Eclipse编码为UTF-8

Eclipse工具栏中选择Window》Prefrences》General》Workspace

7.配置jre环境(之前大家需要安装了jdk1.7版本,这里就使用安装好的jdk进行配置):

选择Window》Prefrences》Java》Installed JREs》Edit》选择自己本地jdk安装路径》Finished》OK

8.去除JavaScript的验证等信息(因为项目中大量使用js、css、xml等其他不同格式的文件,考虑到每次编译的执行时间,所以这边临时将一些验证信息去除)

Window》Prefrences》Validation》Suspend all validators》ok

zs

9. 修改刚刚安装的maven settings.xml配置文件,路径如下:E:\myprj\zscat-maven\apache-maven-3.1.1\conf,

添加本地库地址:E:/myprj/zscat-maven/apache-maven-3.1.1/repository

修改中央库路径(在网络正常的情况下,可以从远程中央库下载缺失的jar包,我这里使用了Oschina的中央库,如果网络有问题,

大家可以使用自己公司的私服进行加载相关jar包),考虑到大家包有时候下载不下来,我这里也给大家共享了项目所需要的jar包,全部放到了以下目录:

E:/myprj/zscat-maven/apache-maven-3.1.1/repository

10.  Eclipse中配置maven安装目录和Setting文件加载的本地库目录

11.导入Maven项目

File》Import》Existing Maven Projects》下一步

选择你本地的maven项目(请选中zscat-project根目录),点击确定

加载出来所有项目后,点击finish完成

提醒:这个导入的过程要一段时间,因为我本地连接网络,所以会从远程中央库下载项目所需要的所有的jar包,请大家耐心等候。

如果你使用了本地库则不需要等待很长时间,如果是使用公司私服,则等待时间也不会很长。

导入后的项目信息

本地库的包已经下载了

12.下载完所有jar包,更新maven项目:

1)选中所有项目 2) 右键选择maven》Update project 选择所有》勾选关联项》点击ok

如果项目还出现红X错误,则必定是缺少相关的jar包,可以使用:

Window》showView》problem窗口查看异常信息

如果缺少jar包,可以将我们提供的jar包直接copy到你指定目录即可

待项目里面的所有错误全部清零后才能进行下一步工作(如下图所示)

选中所有项目,对项目进行清理:Project》clean

13.    尝试对项目进行编译、打包看是否有问题:

注意:一般我们打包编译是针对于根项目,因为里面配置了所有的依赖关系。右键zscat-project》Run As》Maven build…

在弹出的对话框中录入clean install –X 命令,勾选Skip tests,Run…

提醒:如果对maven命令不是很熟的,可以去查下相关的资料

这边简单做下解释: clean install –X 表示清理所有项目并将jar包装载到本地库,其中-X表示输出的信息(一般在出现maven问题的时候可以使用-X来定位问题。)

此时控制台开始编译装载所有的包,这个过程有点漫长,请大家耐心等候

出现以下结果说明项目是正常的。

打好的包(包含war、jar),都在target文件夹下,这边只以pig-web为实例截图如下:

14.Tomcat发布zscat项目(发布过程不做详细介绍,大家都会做):

下面对各个不同的项目进行介绍:

pig-web: 可以独立部署(后台管理平台)

pig-cms dubbo服务可以独立部署 可以部署单机也可以多机部署(本机可以邮局运行启动当前模块的Bootstrap.java 类)

部署条件:

1)  执行mysql数据库脚本:  pig.sql

数据库jdbc的配置项可以参考

部署dubbo相关的项目需要具备以下条件

>安装dubbo管控平台,将war包解压到tomcat,并将目录替换为根目录,直接启动tomcat即可(开发环境提供window)

>Zookeeper注册中心安装,我这边提供了zookeeper-3.4.5版本(开发环境提供window),进入安装目录启动即可

提醒: 我这边已经给提供了相关的程序,其中dubbo管控平台要独立部署在Tomcat服务器上,这个不需要进行高可用配置,直接启动tomcat就可以启动。Zookeeper注册中心有相关的命令可以直接运行启动。如果想部署在linux系统上,可以看我们提供的相关文档即可

5)  待dubbo管控台和注册中心启动ok,则将pig-cms、pig-oa项目同时(可以独立部署)部署到tomat中,为dubbo服务提供者

6)  登陆dubbo管控台查看相关的服务信息,可以看到你发布的服务已经由管控台进行管控了:

http://localhost:8080/root

直接通过地址可以访问是因为将包名改为了Root

用户名密码:root/root

7)  分部部署pig-cms、pig-oa  dubbo消费者项目,目的是让开发人员了解服务是怎样调用的。

到此整个项目的安装过程先到这里,请各位开发人员安装完项目后投入开发,所有的业务直接服务化,因为项目是基于驱动开发的,故将你们的表设计好,通过一个工具类生成所有的controller、service、dao、xml、jsp界面等,直接进行业务编写处理。近期会不断的完善文档,请时刻关注。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,847评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,208评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,587评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,942评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,332评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,587评论 1 218
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,853评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,568评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,273评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,542评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,033评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,373评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,031评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,073评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,830评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,628评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,537评论 2 269

推荐阅读更多精彩内容