技术总结
文章平均质量分 95
程大帅气
此人很帅,什么都没有写
展开
-
多数据源/动态数据源的解决方案
多数据源/动态数据源的解决方案一. DAO层的解决方案1.配置数据源2.创建切点注解3.AbstractRoutingDataSource4.读取数据源配置5.切面拦截6.使用验证二.ORM框架层三.驱动层四.代理层五.数据库服务项目中用到了多个数据源,MySql+Oracle。一条语句的执行一般要经过以下流程:DAO、Mapper、JDBC、代理、数据库。那么就可以从这几个方面入手来解决多数据源或者动态数据源的问题。一. DAO层的解决方案在DAO层,我们可以在获取连接的时候进行拦截扩展,根据原创 2021-05-09 22:10:04 · 2281 阅读 · 0 评论 -
中间件之都21世纪了你还不会玩MyCat?
一、MyCat介绍概念:运行在应用和数据库之间,可以当作一个独立的MySql服务使用(工具、代码、命令行都可以直接连接),实现对MySql数据库的分库分表,也可以通过JDBC提供其他数据库的支持。MyCat基本特性可以直接当作一个MySql数据库来使用支持除MySql之外的其他数据库,通过JDBC来实现解决了分库分表环境下的各种问题,包括多表关联、分布式事务、全局id、分页、排序、聚合函数等。支持zookeeper配置分离,有可视化监控页面mycat-web概念含义原创 2021-05-07 15:09:26 · 1305 阅读 · 0 评论 -
中间件之Redis应用场景及常见问题
Redis应用场景及常见问题一、数据一致性1.缓存使用场景2.一致性问题(1)删除/更新(2)先数据库后缓存(3)先缓存后数据库二、高并发问题1.热点数据发现(1)客户端(2)代理层(3)服务层(4)机器层面2.缓存雪崩(1)什么是缓存雪崩?(2)解决方案3. 缓存穿透(1)经典面试题一、数据一致性1.缓存使用场景针对读多写少的高并发场景,我们可以使用缓存来提升查询速度。使用Redis作为缓存的流程如果数据在Redis中存在,客户端可以直接从Redis中拿到数据,不用直接访问数据库。客原创 2020-12-01 21:05:46 · 856 阅读 · 1 评论 -
中间件之redis高级特性Lua脚本、内存回收策略、持久化机制
中间件之redis高级特性Lua脚本一、Lua脚本1.认识Lua脚本2.简单使用3.缓存lua脚本4.小结二、内存回收1.定期删除2.淘汰策略三、持久化机制1.RDB触发RDB优势与劣势2.AOF配置AOF优势与劣势3.小结一、Lua脚本1.认识Lua脚本使用Lua执行Redis命令的好处:一次发送多个命令,减少网络开销Redis会将整个脚本作为一个整体执行,不会被其他请求打断,保证原子性对于复杂的组合命令,我们可以放在文件/bean/内存中,实现复用。redis > eval lu原创 2020-11-24 21:56:36 · 684 阅读 · 0 评论 -
中间件之Redis高级特性发布订阅、事务
Redis高级特性一、发布订阅1.订阅频道2.按规则(Pattern)订阅频道3.小结二、Redis事务1.简单使用2.watch命令3.执行事务场景一、发布订阅前面说List队列的rpush和blpop可以实现消息队列(队尾进队头出),没有任何元素可以弹出时,连接会被阻塞。但是基于list实现的消息队列,不支持一对多的消息分发,相当于只有一个消费者1.订阅频道消息的生产者和消费者是不同的客户端,连接到同一个Redis服务。通过channe频道l将生产者和消费者关联起来。订阅者可以订阅一个或多个原创 2020-11-23 22:19:51 · 328 阅读 · 1 评论 -
中间件之Redis数据类型的基本命令及应用场景
Redis数据类型及应用场景一、Redis定位与特性1.SQL与NoSQL一、Redis定位与特性1.SQL与NoSQL在绝大多数情况,我们会优先考虑使用关系型数据库来存储业务数据,比如SQLServer、Oracle、MySQL等等。关系型数据库特点它以表格的形式,基于行存储数据,是一个二维模式它存储的是结构化数据,数据存储有固定的模式(schema),数据需要适应表结构表与表之间存在关联关系(Relationship)大部分关系型数据库都支持SQL的操作。支持复杂的关联查询通过支持事原创 2020-11-22 23:11:46 · 260 阅读 · 0 评论 -
中间件之XXL-JOB的介绍及源码分析
XXL-JOB的使用及原理一、基本介绍1.Quartz的不足2.xxl-job特性二、简单使用1.快速启动2.路由策略3.运行模式4.阻塞处理策略5.子任务6.分片任务三、架构设计一、基本介绍1.Quartz的不足Quartz差不多有20年的历史,调度模型已经非常成熟,而且很容易集成到Spring中去,用来执行业务任务是一个很好的选择。但是还是会有一些问题,比如:调度逻辑(Scheduler)和任务耦合在同一个项目中,随着调度任务数量逐渐增多,同时任务逻辑逐渐加重,调度系统的整体性能会受到很大的原创 2020-11-15 21:58:21 · 4432 阅读 · 3 评论 -
互联网架构下的技术体现
互联网架构下的技术体现高可用设计手段负载均衡技术应用层负载热备多机房部署应用的可用性容错性自我保护能力监控高并发设计用户体验架构层面异步化架构冗余代码层面中间件层面的优化客户端层面的优化存储层面服务的幂等性锁单线程锁分布式锁高可用设计手段单点故障负载均衡技术硬件负载、F5、Netscalar软件负载、apach、nginx、lvs、Haproxy一个负载均衡服务器连接多台tomcat服务器F5、stantBy。心跳线nginx,lvs+keepalived(VRRP)原创 2020-06-07 22:07:29 · 137 阅读 · 0 评论