Uncode系列开源组件简介
概述
Uncode 是基于Java 语言的一系列企业级开源组件,作者冶卫军 (开源作者花费大量时间维护开源项目,期望正确使用)。主要包括:移动后端开发框架Uncode-BaaS ,通用数据库访问组件Uncode-DAL和分布式任务调度组件Uncode-Schedule,集群session共享组件Uncode-Session ,两级缓存组件Uncode-Cache,轻量级信消中间件Uncode-MQ。其核心设计目标是使中小企业开发更加简单、易于维护,同时组件大部分基础操作进行了封装,提供认证、安全控制等基础功能模块,可以大大提高开发速度,降低开发成本。
发展概况
Uncode 项目开发始于2014年末,作者冶卫军在移动互联网领域带领技术团队创业多年。深刻体会到中小公司在发展过程中所遇到的各种技术问题,所以发起 Uncode 系列开源项目,希望可以为中小公司快速发展提供参考和方向。Uncode 采用GPL-2.0协议。欢迎有志者一起交流。
Uncode 系列项目秉承以下设计目:快速开发、代码简单、易于学习、功能强大、轻量级、易扩展,在坚持以上设计目标的同时,本着不重复制造轮子的原则,很好的应用和整合现有流行框架,打创功能全面的移动应用后端系列组件,彻底解放中小公司开发者的生产力,让中小公司开发者将更多的精力投入到具体业务实现,降低公司产品研发的时间和人力成本,使产品快速投向市场。
Uncode 通过实践将逐步形成了一系列移动互联网公司后端开发组件,并将在 Uncode 开发社区展示出来。
Uncode-BaaS 移动后端开发框架
功能概述
Uncode-BaaS移动后端开发框架,注于移动应用后端服务开发,旨在让移动后端开发变得更简单。任何企业或个人,通过Uncode-BaaS都可以给移动应用快速定制个性化的后端业务逻辑,可以大大降低后端开发时间和成本。Uncode-BaaS框架提供了这种灵活性,可以让您的代码实现非常简单,并直接在各种云服务上运行。一旦你更新了代码,所有的移动应用都会立即自动更新,新功能的发布将会变得更加简单可控。
主要特色
1、简单易用
Uncode-BaaS移动后端开发框架,简单易用,易于开发。开发者可以自已制定或者直接使用第三方插件实现移动应用后端业务逻辑,让开发者可以快速完成业务逻辑制定,并直接运行,完全省掉后端开发的时间和人力成本。使开发者可以投入更多精力到移动应用本身,研发出更具竞争力的移动产品。
2、易于维护
Uncode-BaaS移动后端开发框架,为开发者提供集成测试功能,可以随时进行测试,直接运行,无需发布。具有良好的可扩展性,无需对原有业务进行修改,即可实现扩展,同时多个服务之间可以互相调用。可以根据业务量自动扩容,不会对现有业务产生任何影响,具有完美的可伸缩性。
3、个性化定制
Uncode-BaaS移动后端开发框架,可以帮助开发者为自已的移动应用定制个性化的业务逻辑,可以满足所有业务场景的需求。开发者可以用最小的成本快速定制出所需要的业务逻辑,在众多移动应用中脱颖而出,占领先机。同时当应用需要调整时,开发者也可以快速重试。
4、低成本快速开发
Uncode-BaaS移动后端开发框架,对移动后端业务逻辑进行了高度封装,提供非常简单的方法,可以使任何开发者根据自已的业务需要定制业务逻辑,同时我们提供非常完善的帮助文档、示例应用和在线问答,帮助您完成业务定制。您可以完全不需要后端开发人员,将大量精力投入到移动应用本身,极大的降低人工及时间成本。
5、多终端
Uncode-BaaS移动后端开发框架,基于标准rest协议,可以适用所有终端,包括IOS、Android、Windows Phone、Html5等。不用在移动应用中作任何代码嵌入,就可以对开发者的应用进行全方位的统计和分析,大大降低了移动应用开发的难度和成本,同时可以保证数据的及时性和准确性。
6、安全可靠
Uncode-BaaS移动后端开发框架,为了保障数据安全,可以同时对服务和数据进行权限控制,对于服务可以设置服务的访问对象和操作权限。对于数据本身,可以分别按照用户、角色和用户组,对表或字段级使用权限进行严格控制,可以保障最小粒度的权限控制,完美解决移动应用数据安全问题。另外利用云特性保障存储安全。
Uncode-DAL 通用数据访问组件
功能概述
Uncode-DAL通用数据访问组件,本着不重复制造轮子的原则,基于Mybatis、Spring JDBC、Hibernate、MongoDB等ORM框架开发,同时支持基于多数据源的读写分离、主备切换、故障转移,自动恢复、负载均衡、缓存等。可以大大提高开发速度。
主要特色
1、基于Mybatis、Spring JDBC、Hibernate等ORM框架实现通用DAL层功能,并可以与已有项目完全兼容。同时支持在ORM框架之间任意切换,不需要对代码作任何改动。
2、实现统一的DAL层Cache,可以自由设置过期时间。
3、实现基于多数据源(DataSource)的读写分离、主备切换、故障转移、恢复检测和负载均衡。
4、使用该组件建议遵循以下规则:
在使用DTO时,字段名称与数据库表字段一致,不区分大小写,也可以不使用任何DTO类,直接使用MAP。
不支持连表查询,主要是单表操作,如果需要连表请与原生orm框架配合使用。
SQL默认主键字段为id,NoSql默认主键字段为_id。
Uncode-Schedule 分布式任务调度组件
功能概述
Uncode-Schedule基于Zookeeper和Quartz/Spring Task的分布式任务调度组件,非常小巧,无需任何修改就可以使Quartz和Spring Task具备分布式特性,并确保所有任务在集群中不重复,不遗漏的被执行。
主要特色
1、基于流行的Zookeeper和Quartz/Spring Task的分布任务调度组件。
2、集群任务节点以单个JVM为单位,确保每个任务在集群中不同节点上不重复的执行。
3、单个任务节点故障时自动转移到其他任务节点继续执行。
4、弱依赖于Zookeeper,任务节点启动时需要保证Zookeeper可用,任务节点运行期Zookeeper集群不可用时任务节点保持可用前状态运行,Zookeeper可用后自动注册任务并恢复正常。
5、支持已有任务动态停止和运行。
6、使用注意事项:
单节点故障时需要应用自已保障数据完整性或幂等性。
具体使用方式和Quartz和Spring Task相同,只需要添加ZKScheduleManager配置即可。
Uncode-Session集群session共享组件
功能概述
非常小巧的集群session共享组件,代码千行以内,避免使用应用容器插件的多种烦恼。
主要特色
1、非常小巧的集群session公享组件,类似于spring-session。
2、总代码不超过1000行。
3、易于使用和扩展。
Uncode-Cache 两级缓存组件
功能概述
基于redis和ehcache的两级缓存组件,支持spring-boot,使用方便,有管理页面。
主要特色
1、统一注解支持
2、可以设置缓存定时自动更新时间
3、可以缓存预热
4、可以设置缓存依赖消除
5、可以添加监听,使用实现命中率、读/写耗时等
Uncode-MQ 轻量级java消息中间件
功能概述
基于netty的轻量级java消息中间件。
主要特色
1、消息存储速度非常快速。
2、使用简单方便,目前只支持topic方式。
3、依赖java环境。
用户博客推荐
spring+mybatis+uncode-dal实现数据库读写分离
分布式定时任务框架---Uncode Schedule
分布式调度之uncode-schedule
实现spring+mybatis+uncode dal,应用自动切换连接数据库
uncode-schedule-manage定制化管理系统
Uncode-Schedule框架源码分析
Java通过redis管理你的集群定时任务
感谢以上博客的作者,谢谢!!!
转载于:https://my.oschina.net/uncode/blog/1204236
Uncode系列开源组件简介相关推荐
- 新数仓系列:开源组件运营(3)
大数据前几年各种概念争论很多,NoSQL/NewSQL,CAP/BASE概念一堆堆的,现在这股热潮被AI接过去了.大数据真正落地到车联网,分控,各种数据分析等等具体场景. 概念很高大上,搞得久了就会发 ...
- JS组件系列——表格组件神器:bootstrap table
前言:之前一直在忙着各种什么效果,殊不知最基础的Bootstrap Table用法都没有涉及,罪过,罪过.今天补起来吧.上午博主由零开始自己从头到尾使用了一遍Bootstrap Table ,遇到不少 ...
- 取代ZooKeeper!高并发下的分布式一致性开源组件StateSynchronizer
StateSynchronizer是开源分布式流存储平台Pravega的核心组件.StateSynchronizer组件以stream为基础,对外提供一致性状态共享服务.StateSynchroniz ...
- Docker生态系统:常规组件简介
Docker生态系统:常规组件简介 提供:ZStack社区 系列教程 本教程为<Docker生态系统>系列全五篇中的第一篇. 内容简介 容器技术旨在通过一种可移植且可预测的方式实现应用程序 ...
- Android 开源组件和第三方库汇总
出自(https://github.com/Tim9Liu9/TimLiu-Android) TimLiu-Android 自己总结的Android开源项目及库. 1. github排名 https: ...
- 《自然语言处理实战入门》 ---- 第4课 :中文分词原理及相关组件简介 之 汉语分词领域主要分词算法、组件、服务(上)...
目录 0.内容梗概 1. 基于传统统计算法的分词组件 1.1 hanlp : Han Language Processing 1.2 语言技术平台(Language Technology Platfo ...
- 开源组件是什么意思_一文读懂常用开源许可证
社区时常为流行产品中有争议的开源许可证而感到震惊,这引起各方关注,纷纷争论何为真正的开源许可证.去年,Apache 基金会(Apache Foundation)禁止使用 Facebook React ...
- SpringCloud微服务:阿里开源组件Nacos,服务和配置管理
源码地址:GitHub·点这里||GitEE·点这里 一.阿里微服务简介 1.基础描述 Alibaba-Cloud致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开 ...
- npm 私有库开源组件_苹果的ResearchKit,npm私有模块以及更多开源新闻
npm 私有库开源组件 在本周的开源新闻摘要中,我们介绍了Apple ResearchKit的发布,npm私有模块的发布,Docker新闻以及更多开源新闻. 2015年4月11日至17日的开源新闻摘要 ...
最新文章
- 到底什么级别才算是高并发?
- 在ASP.NET2.0中的的UrlRewrite
- JavaScript技术篇 - js的null值判断,js的undefined的判断,js的null与undefined的2种区分方法
- 元宵节快乐 | 启明云端邀您一起猜灯谜了
- C语言:结构体中一级指针和二级指针的创建与释放示例
- char* 赋值 const char* 释放_嵌入式Linux开发《C语言专题(十:彻底搞懂“关键字”const)》...
- ubuntu 下pip3 与pipenv 安装使用错误
- 将图片转换为base64_图片与base64相互转换
- 风变编程python第一关_风变编程python学习心得
- 怎么做视频伪原创 快手视频修改md5
- centos查看内存使用最多_CentOs中查看内存插槽数、最大容量和频率 查看内存插槽数、最大容量和频率...
- 前端工程师考核总结_web前端年度工作总结
- Linux下使用alsamixer配置系统默认的声卡设备(默认音频输出设备、输入设备、系统音量)
- 中国普通魔方行业市场供需与战略研究报告
- . 尐儍苽 推荐一个专业的社团网站给您
- DirectX和OPenGL 与 UE4 U3D的关系是什么?
- mysql快速复制数据库
- 2023值得我们关注的10种软件测试趋势
- 2015年中国数据库技术大会(DTCC)PPT合集
- i7 8700+b360m+rx590黑苹果配置如何
热门文章
- jsp员工管理系统mysql_简单的员工管理系统(Mysql+jdbc+Servlet+JSP)
- python数据分析需要数据库吗_python数据分析|使用python操作MySQL数据库
- BufferedInputStream与BufferedOutputStream用法简介
- java 批量存储_java I/O 批量插入保存文件
- 39 n 39 是不是c语言常量,自考“高级语言程序设计”习题答案详解(39)
- 关于智能车竞赛总结 | 山东大学(威海) - 山魂五队
- 你曾经是那手握烙铁的少年
- 全国大学生智能汽车竞赛-讯飞赛道规则解读
- 实验电路的放大器伴侣:LMV358
- js判断是由含有a节点_如何在 JS 中判断数组是否包含指定的元素(多种方法)