Gitee 官方博客
  • 产品动态
  • 企业案例
  • 项目推荐
  • 关于开源
  • 发现更多
  • 回到 Gitee
  • 产品动态
  • 企业案例
  • 项目推荐
  • 关于开源
  • 发现更多
  • 回到 Gitee

如何开发电商系统?先来半打分布式调度系统/框架 | 码云周刊第 19 期

Gitee
7 年前发布在 项目推荐

1、JAVA 分布式快速开发基础平台 iBase4J

项目简介:

  • iBase4J是Java语言的分布式系统架构。 使用Spring整合开源框架。
  • 使用Maven对项目进行模块化管理,提高项目的易开发性、扩展性。
  • 系统包括三个模块:公共模块、系统管理模块、Web展示模块。
  • 公共模块:公共功能(AOP、缓存、基类、调度等等)、公共配置、工具类。
  • 系统管理模块:包括用户管理、权限管理、数据字典、系统参数管理等等。
  • 每个模块都是独立的系统,可以无限的扩展模块,模块之间使用Dubbo或MQ进行通信。
  • 每个模块服务多系统部署,注册到同一个Zookeeper集群服务注册中心,实现集群部署。

主要功能:

  1. 数据库:Druid数据库连接池,监控数据库访问性能,统计SQL的执行性能。 数据库密码加密,加密方式请查看PropertiesUtil,decryptProperties属性配置需要解密的key。
  2. 持久层:mybatis持久化,使用MyBatis-Plus优化,减少sql开发量;aop切换数据库实现读写分离。Transtraction注解事务。
  3. MVC: 基于spring mvc注解,Rest风格Controller。Exception统一管理。
  4. 调度:Spring+quartz, 可以查询、修改周期、暂停、删除、新增、立即执行,查询执行记录等。
  5. 基于session的国际化提示信息,职责链模式的本地语言拦截器,Shiro登录、URL权限管理。会话管理,强制结束会话。
  6. 缓存和Session:注解redis缓存数据,Spring-session和redis实现分布式session同步,重启服务会话不丢失。
  7. 多系统交互:Dubbo,ActiveMQ多系统交互,ftp/sftp/fastdafs发送文件到独立服务器,使文件服务分离。
  8. 前后端分离:没有权限的文件只用nginx代理即可。
  9. 日志:log4j2打印日志,业务日志和调试日志分开打印。同时基于时间和文件大小分割日志文件。
  10. QQ、微信、新浪微博第三方登录。
  11. 工具类:excel导入导出,汉字转拼音,身份证号码验证,数字转大写人民币,FTP/SFTP/fastDFS上传下载,发送邮件,redis缓存,加密等等。

 

2、分布式任务调度框架 light-task-scheduler 

项目简介:LTS(light-task-scheduler)主要用于解决分布式任务调度问题,支持实时任务,定时任务和Cron任务。有较好的伸缩性,扩展性,健壮稳定性而被多家公司使用,同时也希望开源爱好者一起贡献。

架构图

如何开发电商系统?先来半打分布式调度系统/框架 | 码云周刊第 19 期-Gitee 官方博客

 

3、分布式任务调度平台 XXL-JOB

项目简介:XXL-JOB是一个轻量级分布式任务调度框架,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。

特性

  • 简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;
  • 动态:支持动态修改任务状态、暂停/恢复任务,以及终止运行中任务,即时生效;
  • 调度中心HA(中心式):调度采用中心式设计,“调度中心”基于集群Quartz实现,可保证调度中心HA;
  • 执行器HA(分布式):任务分布式执行,任务”执行器”支持集群部署,可保证任务执行HA;
  • 任务Failover:执行器集群部署时,任务路由策略选择”故障转移”情况下调度失败时将会平滑切换执行器进行Failover;
  • 一致性:“调度中心”通过DB锁保证集群分布式调度的一致性, 一次任务调度只会触发一次执行;
  • 自定义任务参数:支持在线配置调度任务入参,即时生效;
  • 调度线程池:调度系统多线程触发调度运行,确保调度精确执行,不被堵塞;
  • 弹性扩容缩容:一旦有新执行器机器上线或者下线,下次调度时将会重新分配任务;
  • 邮件报警:任务失败时支持邮件报警,支持配置多邮件地址群发报警邮件;
  • 状态监控:支持实时监控任务进度;
  • Rolling执行日志:支持在线查看调度结果,并且支持以Rolling方式实时查看执行器输出的完整的执行日志;
  • GLUE:提供Web IDE,支持在线开发任务逻辑代码,动态发布,实时编译生效,省略部署上线的过程。支持30个版本的历史版本回溯。
  • 数据加密:调度中心和执行器之间的通讯进行数据加密,提升调度信息安全性;
  • 任务依赖:支持配置子任务依赖,当父任务执行结束且执行成功后将会主动触发一次子任务的执行, 多个子任务用逗号分隔;
  • 推送maven中央仓库: 将会把最新稳定版推送到maven中央仓库, 方便用户接入和使用;
  • 任务注册: 执行器会周期性自动注册任务, 调度中心将会自动发现注册的任务并触发执行。同时,也支持手动录入执行器地址;
  • 路由策略:执行器集群部署时提供丰富的路由策略,包括:第一个、最后一个、轮询、随机、一致性HASH、最不经常使用、最近最久未使用、故障转移;
  • 运行报表:支持实时查看运行数据,如任务数量、调度次数、执行器数量等;以及调度报表,如调度日期分布图,调度成功分布图等;
  • 脚本任务:支持以GLUE模式开发和运行脚本任务,包括Shell、Python等类型脚本;

 

4、基于 zookeeper 的分布式任务调度组件 uncode-schedule 

项目简介:基于 zookeeper 的分布式任务调度组件,非常小巧,使用简单,只需要引入 jar 包,不需要单独部署服务端。确保所有任务在集群中不重复,不遗漏的执行。支持动态添加和删除任务。

功能概述:

  1. 基于zookeeper+spring task/quartz/uncode task的分布任务调度系统。
  2. 确保每个任务在集群中不同节点上不重复的执行。
  3. 单个任务节点故障时自动转移到其他任务节点继续执行。
  4. 任务节点启动时必须保证zookeeper可用,任务节点运行期zookeeper集群不可用时任务节点保持可用前状态运行,zookeeper集群恢复正常运期。
  5. 支持动态添加、修改和删除任务,支持任务暂停和重新启动。
  6. 添加ip黑名单,过滤不需要执行任务的节点。
  7. 后台管理和任务执行监控。

说明:

  • 单节点故障时需要业务保障数据完整性或幂等性

模式架构:

如何开发电商系统?先来半打分布式调度系统/框架 | 码云周刊第 19 期-Gitee 官方博客

 

5、分布式 B2C 商城 xbin-store

项目简介:模仿国内知名B2C网站,实现的一个分布式B2C商城 使用Spring Boot 自动配置 Dubbox / MVC / MyBatis / Druid / Solr / Redis 等。

使用技术:

  • 后台
    • 使用Spring Boot 构建整个项目 去除 XML 配置
    • Maven构建项目
    • Jenkins作为持续集成
    • 采用Dubbox作为RPC框架
    • kryo序列化
    • 使用Spring+Spring MVC+MyBatisSSM框架
    • 数据库连接池使用druid
    • 数据库使用MySQL和Redis
    • 页面引擎采用 Beetl
    • 网页采用freemarker生成静态化页面
    • 存储采用FastDFS存储图片等文件
    • 采用Solr实现搜索服务
    • Swagger2 生成 RESTful Apis文档
    • 负载均衡使用Nginx、keepalived实现高可用
    • 采用Spring Scheduled做任务调度
    • 消息中间件采用RabbitMQ
    • 在分布式事务上则采用了TCC解决订单支付方面时效性要求性高的分布式事务,可靠的消息服务则来解决如会计记录等时效性要求低的分布式事务.
  • 前台
    • 采用基于AdminLTE的roncoo-adminLTE(主要增加了Ajax的布局模式)
    • AdminLTE集成太多Js这里就不一一列举了

 

Copyright@OSChina.NET

制版编辑:Zico丨

本页刊发内容未经书面许可禁止转载及使用

公众号、报刊等转载请联系授权

欢迎转发朋友圈,投稿:chenyang@oschina.cn

关注码云官方微信公众号:码云Gitee

查看更多有趣的开源项目资讯,请前往:码云开源项目广场

假日照片堆积如何处理?这些工具你可能用得上 | 码云周刊第 18 期
上一篇
让 Java 开发更简单,提高工作效率 | 码云周刊第 20 期
下一篇
近期文章
  • 启航 AI 新航道!Gitee 双十一与你共享智能新未来
  • 《中国DevOps现状调查报告(2023)》发布,Gitee 领跑国产平台
  • 研运一体化之下,Gitee 如何精准赋能银行实施大规模敏捷
  • 对数字「祛魅」,中大型规模企业如何进行有效的研发效能度量?
  • 从混乱到卓越,Gitee Code 如何治好 IT 部门的精神内耗
  • 科技赋能,Gitee 助力国家海关总署实现重大业务改革
  • 科大讯飞选择Gitee旗舰版,完成研发协作平台国产化替代
  • 用脑图做测试用例,高效到家了!
  • 信创驶入快车道,中国赛宝实验室选择 Gitee 搭建高效研发协作平台
  • 金融人怎么写出安全可靠的代码?知名证券企业这样做
相关文章
我们让 ChatGPT 写了一篇开源项目推荐
从 DevOps 到 XOps 的优质开源项目精选
优秀PHP开源项目集合
热门开源Web开发框架推荐
关于我们

Gitee(gitee.com)是 OSCHINA.NET 推出的代码托管·协作开发平台,支持 Git 和 SVN,提供免费的私有仓库托管。目前已有超过 1200 万的开发者选择 Gitee。

品牌内容
开源软件 GVP计划 Gitee 封面人物 CopyCat 代码克隆检测
友情链接
开源中国 Gitee Gitee 高校版 Gitee 企业版
Copyright © 2013-2025 Gitee 官方博客. Designed by nicetheme.
  • 产品动态
  • 企业案例
  • 项目推荐
  • 关于开源
  • 发现更多
  • 回到 Gitee
热门搜索
  • Gitee
  • gitee 企业版
  • 码云
  • 开源项目
  • 码云Gitee
  • GVP
  • Git
  • 开源
  • 码云企业版
  • 码云周刊
  • 码云 gitee
  • DevOps
  • gitee企业版
  • 内源
  • 内部开源
  • innersource
  • 小程序
  • 企业版
Gitee
安全、稳定、高效的云端软件开发协作平台。
Top