- 博客(17)
- 收藏
- 关注
原创 Apache ShardingSphere实战与核心源码剖析(二)
Sharding-JDBC定位为轻量级Java框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架的使用。适用于任何基于Java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或直接使用JDBC。基于任何第三方的数据库连接池,如:DBCP, C3P0, Druid, HikariCP等。支持任意实现JDBC规范的数据库。
2023-02-23 14:17:47 229
原创 Apache ShardingSphere实战与核心源码剖析(一)
Apache ShardingSphere 是一款分布式的数据库生态系统, 可以将任意数据库转换为分布式数据库,并通过数据分片、弹性伸缩、加密等能力对原有数据库进行增强
2023-02-22 15:16:51 443 1
原创 PageHelper 方法使用了静态的 ThreadLocal 导致分页不安全问题
同事抛出一个生产PageHelper 分页错误这个由于对PageHelper 分页静态的 ThreadLocal使用误区导致PageHelper.startPage 静态方法调用除了 PageHelper.startPage 方法外,还提供了类似用法的 PageHelper.offsetPage 方法。在你需要进行分页的 MyBatis 查询方法前调用 PageHelper.startPage 静态方法即可,紧跟在这个方法后的第一个MyBatis 查询方法会被进行分页。 例一: //获取第1页
2020-12-29 18:03:06 873
原创 seata集成zk 高可用集群
seata cloud Startedseata-service:1.4.1zookeeper:3.6.2mysql:8.0开源框架调研seata 支持 AT模式 TCC模式AT模式 强依赖本地DB事物 且对oracle 有兼容问题#优点:实现简单,基本0代码耦合,只需要在TM的地方加一个全局事务注解即可。性能优秀,第一阶段则释放本地锁TC可单独集群部署,架构清晰,高可用保证使用简单,学习成本低,微服务可直接集成进来。应用层基于SQL解析实现了自动补偿,从而最大程度的降低
2020-12-21 17:41:09 1203
原创 Nginx +CA认证+腾讯云免费证书
为了弄明白上篇内容里面的东西 亲自买了一个腾讯云的域名 申请免费的CA证书我的已经申请了ssl把CA证书下载下来 解压出来有Crt和key 2个文件 我们把这2个文件上传到liunx服务器上面我的放在了 /user/local/nginx/conf/crt配置Nginx.confhttp {}配置的地方为 server_name : 你的域名所有的请求都走https:rewrite ^(.*) https://$server_name$1 permanent;https的配置配
2020-12-11 11:32:18 244
原创 Https CA认证图解
Https CA认证图解http通信存在的问题容易被监听 http通信都是明文,数据在客户端与服务器通信过程中, 任何一点都可 能被劫持。比如,发送了银行卡号和密码, hacker劫取到数据,就能看到卡号和密码,这是很危险的被伪装 http通信时,无法保证通行双方是合法的,通信方可能是伪装的。 比如你请求www.taobao.com,你怎么知道返回的数据就是来自淘宝, 中间人可能返回数据伪装成淘宝。被篡改 hacker中间篡改数据后,接收方并不知道数据已经被更改共享密钥加密和公开
2020-12-10 15:25:51 1370
原创 sso单点登录集群化服务之Session共享
单点登录>集群化服务之Session共享SpringSession + Redis配置spring.redis.host=localhost#spring.redis.password=spring.redis.port=6379server.port=81依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-st
2020-12-07 11:10:17 270
原创 java 实现Nginx加权重轮训
java 实现Nginx加权重轮训代码灵感来源网站,看不懂代码先阅读网站:Nginx 加权轮训public class WeightedRoundRobinSchedulingDemo {static class Service { private String ip;//ip地址 private Integer weight;//权重值 private Integer currentWeight;//当前权重轮训 private Integer effect
2020-12-06 21:58:32 316
原创 Java 布隆算法结构
Java 布隆算法结构public class BloomFilterDemo { private Listseeds = Arrays.asList(10,20,30,40,50,60,70,80); private ListsimpleHashes =new ArrayList<>(); private static final int MAXIMUM_CAPACITY =1 <<30; private BitSetbitSet =ne
2020-12-06 21:55:20 181
原创 java 实现服务轮训数据结构&算法
数据结构&算法public class Rotation {private static ConcurrentHashMap map =new ConcurrentHashMap();private static AtomicInteger atomicInteger =new AtomicInteger();private static Listi pStrs = Arrays.asList("192.168.1.121","192.168.1.122","192.168.1.123
2020-12-06 21:51:46 149
原创 spring security 学习总结Demo
spring security 使用总结自定义security校验@EnableWebSecurity@Configurablepublic class MyConfig extends WebSecurityConfigurerAdapter { @Resource private UserProvider userProvider; /** * 自定义验证用户账号和密码 * @param auth * @throws Exception *
2020-12-06 21:42:12 82
原创 Java 双向列表
Java 双向列表public class DoubleLink<T> {private int size = 0;private Node head;//头节点static class Node<T> { Node<T> prev; Node<T> next; T value; public Node(T value) { this.prev = null; this.next
2020-12-03 12:13:48 366
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人