摘要: 在现在许多分布式应用中都使用到了配置中心来进行配置统一管理、下发以及热更新操作,下面我们来分析一下基于SpringCloud微服务体系下如何实现配置的刷新功能。 首先对于Spring中的Bean大家都不陌生,而对于Bean来说有一个关键的属性就是它的生命周期,在Spring中叫做scope。对于早期 阅读全文
posted @ 2022-09-22 19:41 她曾是他的梦 阅读(712) 评论(0) 推荐(0) 编辑
摘要: 对于线上环境和运维来说,都不希望数据库密码以明文的形式写在配置文件中,druid支持对密码使用RSA算法进行加密。 druid的加解密类是ConfigTools,这个类提供生成公钥、私钥、密文、加密、解密等一系列方法。 我们可以通过main方法对我们的密码进行加密: public class Con 阅读全文
posted @ 2021-11-15 16:59 她曾是他的梦 阅读(962) 评论(0) 推荐(0) 编辑
摘要: 测试一个例子 public static void main(String[] args) throws Exception{ DataSource dataSource = dataSource(); for (int i =0 ;i< 5;i++){ dataSource.getConnecti 阅读全文
posted @ 2021-11-10 22:25 她曾是他的梦 阅读(3599) 评论(0) 推荐(1) 编辑
摘要: 从DataSource.getConnection入手来看一下通过druid获取连接时的内部逻辑。 首先进入DruidDataSource的这个方法 public DruidPooledConnection getConnection(long maxWaitMillis) throws SQLEx 阅读全文
posted @ 2021-11-10 00:04 她曾是他的梦 阅读(1941) 评论(0) 推荐(0) 编辑
摘要: 最近在中台组件一次版本迭代中,网关组件升级版本后其它业务线集成网关组件后项目启动失败, 出现了 Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.internal 阅读全文
posted @ 2021-10-18 21:23 她曾是他的梦 阅读(3744) 评论(0) 推荐(0) 编辑
摘要: 执行之后的结果分为多个数据集,shardingSphere将这些结果集组合为一个新的结果集返回,这一步叫结果归并。 ShardingSphere 支持的结果归并从功能上分为遍历、排序、分组、分页和聚合 5 种类型,它们是组合而非互斥的关系。 从结构划分,可分为流式归并、内存归并和装饰者归并。流式归并 阅读全文
posted @ 2021-09-02 21:39 她曾是他的梦 阅读(413) 评论(0) 推荐(0) 编辑
摘要: 经过解析、路由、改写之后,shardingSphere已经确定好了当前这条SQL可以执行的所有数据节点,之后就会 根据不同的数据源获取真正的连接去执行SQL。它不是简单地将 SQL 通过 JDBC 直接发送至数据源执行; 也并非直接将执行请求放入线程池去并发执行。它更关注平衡数据源连接创建以及内存占 阅读全文
posted @ 2021-09-02 10:14 她曾是他的梦 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 数据分片的核心流程第三步就是SQL改写,是由改写引擎完成的。其中包括正确性改写、和优化改写。 这是摘自shardingSphere官网的一张图片。 其中正确性改写将面向开发人员操作的逻辑表改写为通过路由后获取的真实表,如果有分库也需要改写为真实的数据源。除此以外还需要设计补列、分页信息修正等,用来保 阅读全文
posted @ 2021-08-31 15:01 她曾是他的梦 阅读(837) 评论(0) 推荐(0) 编辑
摘要: sql路由作为数据分片的核心步骤在shardingSphere中由路由引擎来实现,通过解析引擎解析后的statement,提取关键的信息构建statementContext 为路由引擎提供支持。 我们从一条sql语句执行时去看看路由引擎如何路由的 public ResultSet executeQu 阅读全文
posted @ 2021-08-30 23:52 她曾是他的梦 阅读(663) 评论(0) 推荐(0) 编辑
摘要: shardingshopere数据分片功能中的主要内核实现流程:sql解析->sql路由->sql改写->sql执行->结果归并 分别由解析引擎、路由引擎、改写引擎、执行引擎以及归并引擎实现。解析引擎作为实现数据分片功能 的第一步,为接下来的路由获取分片键condition做下基础工作。 首先我们进 阅读全文
posted @ 2021-08-29 22:13 她曾是他的梦 阅读(809) 评论(0) 推荐(0) 编辑