曾经读过Erudika/para的源码,此源码托管在github,大致是2014年前后开源的云计算通用后端框架,基于spring boot体系,原生集成持久化(默认H2 DB,通过配置方式实现MongoDB、mysql等常用关系数据库的支持)、缓存(默认Caffeine、支持配置参数的Hazelcast、redis等)和搜索(默认Lucene,支持配置参数的Elasticsearch)三大功能,快速开发resful风格的API接口,其强大的分层思想和通用性设计能力,让我的架构思维有了很大的进步,其开源版本对于中小团队实践spring boot+spring cloud打通云计算服务具有借鉴意义,目前最新的版本为1.29.1。
下面,我就简单的分享Erudika/para源码官网的介绍,解释不到位的地方希望大家批评指正,同时,这款较为优秀的开源项目也推荐给大家去学习和使用。
特性:
多租户技术【多重租赁技术】支持——每个应用程序都有自己的表、索引和缓存;
用Amazon的签名算法进行安全的JSON;
数据库动态性,专为可伸缩和分布式数据存储而设计
全文搜索(Elasticsearch);
分布式对象缓存(hazelcast,高可扩展内存数据网格);
物联网支持与AWS(业务流程管理开发平台)和(基于云计算的操作系统,Windows Azure的主要目标是为开发者提供一个平台,帮助开发可运行在云服务器、数据中心、Web和PC上的应用程序)的集成;
灵活的安全LDAP(LDAP是轻量目录访问协议),社交登录,CSRF(跨站请求伪造)保护;
无状态的客户端认证与JSON的Web令牌(JWT,网络应用环境间传递声明而执行的一种基于JSON的开放标准,JWT是由三段信息构成的,将这三段信息文本用);
用于客户端访问控制的简单但有效的资源权限;
鲁棒约束验证基于JSR-303和Hibernate Validator;
持久性、索引和缓存操作的每个对象控制;
模块化设计的谷歌Guice(依赖注入框架(IOC))和支持插件;
网络控制台-管理用户界面。
作者:Java高级架构