盘古开发框架 基于 Laying Cache,提供支持分布式环境的多级缓存功能。使用 Caffeine 作为一级本地缓存,Redis 作为二级集中式缓存。支持缓存信息监控统计、支持缓存过期时间在注解上直接配置、支持缓存的自动刷新、缓存 Key 支持 SpEL 表达式、支持无感禁用一级缓存或二级缓存。
基于 ShardingSphere 的数据分片数据治理
盘古开发框架 集成了数据库中间件 ShardingSphere 来提供数据治理相关功能。如:数据分片、读写分离、数据加密等。
随着业务规模不断的扩大,将数据集中存储到单一节点的解决方案,在性能、可用性和运维成本等方面已经难于满足高并发和海量数据系统的场景。从性能方面来说,高并发访问请求使得集中式数据库成为系统的最大瓶颈;从可用性的方面来讲,单一数据节点或简单主从架构,已经越来越难以满足互联网 To C 业务对高可用的迫切诉求,数据库的可用性俨然已成为整个系统的关键;从运维成本和系统风险方面考虑,当一个数据库实例中的数据达到临界阈值以上,数据备份和恢复的时间成本和风险都将随着数据量的大小而愈发不可控。数据分片将存放在单一库中的数据分散至多个库或表中以达到提升性能、提高可用性和降低运维成本的效果,是应对高并发和海量数据系统的有效手段。
基于 ShardingSphere 的读写分离数据治理
盘古开发框架 集成了数据库中间件 ShardingSphere 来提供数据治理相关功能。如:读写分离、数据分片、数据加密等。
基于 Nacos 实现盘古开发框架配置中心
基于 Nacos 实现盘古开发框架服务注册中心
消息队列 RabbitMQ 入门与实践
基于 Mybatis Plus 的数据持久化 API 总结
盘古开发框架 数据持久化 API 依赖 MyBatis Plus 提供。在 MyBatis 的基础上提供了强大的内置通用 Mapper CRUD 操作、支持 Lambda 表达式、内置屏蔽不通数据库方言差异的分页插件、自动填充字段值、多种主键自动生成策略、逻辑删除、乐观锁插件等。
盘古开发框架代码生成器基本应用
盘古开发框架 代码生成器是基于 Maven 的一个自定义插件。可以方便快捷的以插件的方式安装到任何一个 Maven 模块中去。目前支持生成如下代码。
- MyBatis Plus Mapper.java 映射接口文件
- MyBatis Plus Entity.java 实体文件
开源十年,AOSuite 开发平台停止维护 [EOL]
AOSuite 是我在 2006 - 2016 年间开发和维护的一节开源项目。那还是一个 jQuery UI 和 ExtJS 横行的年代。现在想来还满满都是回忆。随着前端技术的发展和后端微服务技术的流行,AOSuite 到了该退场的时候了。撰写此文也仅做备忘和回忆往年往事罢了。
关于跨域问题的总结
关于「跨域」的一些基础知识这里就不讨论了,如果需要先充电的同学请移步这里看看:跨域资源共享 CORS 详解。在这里,我就直接抛出问题:由于浏览器出于安全目的而制定的 同源策略,导致 Web 页面通过 XMLHttpRequest 发起 ajax 请求的时候,如果访问非同源服务接口,则报错:has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource。