- 博客(24)
- 资源 (24)
- 收藏
- 关注
原创 spring集成mybatis实现mysql读写分离
前言 在网站的用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈。幸运的是目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库的数据更新同步到另一台服务器上。网站利用数据库的这一功能,实现数据库读写分离,从而改善数据库负载压力。如下图所示: 应用服务器在写数据的时候,访问主数据库,主数据库通过主从复制机制将数据更新同步到...
2018-03-30 16:51:11 136
原创 dubbo线程池溢出解决
https://blog.csdn.net/shaoyingchendsg/article/details/77551159 最近在处理项目,压测的时候发现,dubbo线程池溢出,查看官方文档找到解决方案,如下: 根据自己的需要,改成需要参数<dubbo:protocol name="dubbo" dispatcher="message" threads="500" threa...
2018-03-29 22:20:44 566
原创 redis 对hash设置expires
expire只对顶级key有效,不能对hash结构中的某个files设置。 同时,目前redis没有提供hsetex()这样的方法,所以如果想对hash进行expires设置,可以采用下面的方法: [html] view plain copy redis 127.0.0.1:6379> hset expire:me name tom (in...
2018-03-29 21:52:55 7507 2
原创 事物注解方式: @Transactional
当标于类前时, 标示类中所有方法都进行事物处理 , 例子:1 @Transactional public class TestServiceBean implements TestService {}当类中某些方法不需要事物时: 1 @Transactional 2 public class TestServiceBean implements TestS...
2018-03-29 21:42:11 154
原创 不同环境下的资源文件目录编译
不同环境下的资源文件目录编译1,编辑器中设置好资源目录(进一步修改编译结构在配置文件中) <profiles><profile><id>dev</id><properties><env-dir>META-INF/environments/dev</env-dir>&l
2018-03-29 10:58:38 219
原创 线程安全之对象组与对象池
线程池有两个地方可以保证线程安全,1,单线程---一次只能一个线程进入2,线程池中的队列用阻塞队列。线程池对象多个线程争夺,以这个对象为锁,即实现 对象池:单线程线程池中的队列中对象,一次只能被一个线程访问 对象组:一个数组装许多单线程池对象,这样数组中的对象本身是线程安全,用时从其队列中获取业务对象(队列中的业务对象不是线程安全的),可以理解为对象组就是多个对象池放入数组...
2018-03-28 08:15:16 676
原创 SpringMVC RestTemplate的几种请求调用
SpringMVC RestTemplate的几种请求调用 1.用统一的方法模板进行四种请求:POST,PUT,DELETE,GETrestTemplate.exchange( String url, HttpMethod method, HttpEntity requestEntity, Class re...
2018-03-26 16:57:56 330
原创 RestTemplate的使用及需要注意的地方
RestTemplate的使用及需要注意的地方 1,含有泛型对象,注意返回list还是单个实体,返回list需要用ParameterizedTypeReference包装类型,即包装之后才会认识是复合类,不会作为单个类解析否则Json 异常:Can not deserialize instance of xx out of START_ARRAY token不能转化异常...
2018-03-26 16:56:13 1151
原创 解决junit获取注入bean问题
解决junit获取注入bean问题:注解引入多个配置文件情况:我们使用spring写junit单测的时候,有的时候我们的spring配置文件只有一个。我们在类的注释上面会这样写:Java代码 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpa...
2018-03-23 18:00:09 4234
原创 BlockingQueue深入分析
多线程的共享也可以用全局变量做,全局变量可以用queue也可以不出现线程问题,局部变量需要用blockqueue才可以解决 1.BlockingQueue定义的常用方法如下 抛出异常特殊值阻塞超时插入add(e)offer(e)put(e)offer(e,time,unit)移除remove()poll()...
2018-03-23 11:19:38 107
转载 Queue 队列
什么是队列队列是数据结构中比较重要的一种类型,它支持 FIFO,尾部添加、头部删除(先进队列的元素先出队列),跟我们生活中的排队类似。队列有两种:单队列循环队列单队列就是常见的队列, 每次添加元素时,都是添加到队尾:以数组实现的队列为例,初始时队列长度固定为 4,font 和 rear 均为 0:每添加一个元素,rear 后移一位。当添加四个元素后, r...
2018-03-23 10:30:18 116
原创 Nginx Sticky的使用(nginx-sticky-module)
什么是Sticky?为了理解Sticky的工作原理,我们可以先考虑一个问题:负载均衡怎么做?DNS解析,在域名解析时分配给不同的服务器IP;IP Hash,根据客户端的IP,将请求分配到不同的服务器上;cookie,服务器给客户端下发一个cookie,具有特定cookie的请求会分配给它的发行者。Sticky就是基于cookie的一种负载均衡解决方案,通过cookie实现客户端...
2018-03-19 15:23:04 473
原创 使用nginx sticky实现基于cookie的负载均衡
在多台后台服务器的环境下,我们为了确保一个客户只和一台服务器通信,我们势必使用长连接。使用什么方式来实现这种连接呢,常见的有使用nginx自带的ip_hash来做,我想这绝对不是一个好的办法,如果前端是CDN,或者说一个局域网的客户同时访问服务器,导致出现服务器分配不均衡,以及不能保证每次访问都粘滞在同一台服务器。如果基于cookie会是一种什么情形,想想看, 每台电脑都会有不同的cookie,...
2018-03-19 15:18:58 302
原创 合理使用nginxhash策略做更有意义的负载均衡
前言:目前,许多的web应用,或者web接口,都会在服务器的入口处,使用一个服务器容器来监听端口,然后进行请求转发,例如nginx Apache等。服务器容器对应整个web服务有着至关重要的作用,包括:可以很好的管理服务进程,进行代理,对请求的预处理,以及负载均衡。今天要讨论的重点为在服务器集群中,合理使用nginx的hash策略做更有意义的负载均衡。 概要:当我们的服...
2018-03-14 15:07:10 156
原创 nginx---一致性hash反向代理以及upstream的六种调度算法
nginx-fair(第三方):按后端服务器的响应时间来分配请求,响应时间短的优先分配。 upstream web_pool { server 172.23.136.148; server 172.23.136.149; fair; }说明:表示两个服务器的负载以那个响应速度快的优先承担upstr...
2018-03-14 10:52:37 1878 3
原创 用户名的共享内存key设置,不再用cookie
用户名的共享内存key设置,不再用cookie,key用requestid,shiro requset获取不到就用mvc的request 由于有些请求不在shiro权限范围,shiro实体获取不到,所以request获取不到,但是mvc的requestid一定有,都是一样的,他们只是包装关系cookie的方式不再用,有时嵌套iframe获取不到,延时等原因 ...
2018-03-13 13:39:09 177
原创 rrt
如果是纯java程序有点不一样。方式一首先是远程服务器上java启动参赛要加上调试的参数:"-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n"然后在idea中打开Edit Configurations 添加一个 Remote 配置一下host和port就行了。方式二:v当把一个...
2018-03-12 20:58:01 467
原创 从volatile说到i++的线程安全问题
简介volatile关键字保证了在多线程环境下,被修饰的变量在别修改后会马上同步到主存,这样该线程对这个变量的修改就是对所有其他线程可见的,其他线程能够马上读到这个修改后值. Thread的本地内存每个Thread都拥有自己的线程存储空间Thread何时同步本地存储空间的数据到主存是不确定的例子借用Google JEREMY MANSON 的解释,上图表示两个...
2018-03-07 11:40:08 192
原创 分布式事物用消息解决
分布式事物 1,参考分布式事物框架,不过需要询问,效率较低,在并发不需要太高要求的时候用,比如财务子系统 参考https://github.com/yu199195 2,用补偿机制消息轮询状态机制+幂等处理 消息队列实现分布式事务前阵子从支付宝转账1万块钱到余额宝,这是日常生活的一件普通小事,但作为互联网研发人员的职业病,我就思考支付宝扣除1万...
2018-03-06 13:42:21 145
原创 redis事物
导读:Redis 是单进程程序,并且它保证在执行事务时,不会对事务进行中断,事务可以运行直到执行完所有事务队列中的命令为止。单进程好处:所有命令,包括或者事物这种大的打包命令,只要有一个执行其他阻塞 组合这四个命令实现事物:MULTI才进入了事物状态,命令不会立即执行,会在队列中 EXEC执行事物 DISCARD 命令用于取消一个事务 WATCH...
2018-03-06 11:51:27 133
原创 彻底理解Java的Future模式
不同的jdk版本实现的方式不一样 1.6 sychonized 1.8采用状态的方式,这里对比这两种实现方式,和future的使用场景 先上一个场景:假如你突然想做饭,但是没有厨具,也没有食材。网上购买厨具比较方便,食材去超市买更放心。实现分析:在快递员送厨具的期间,我们肯定不会闲着,可以去超市买食材。所以,在主线程里面另起一个子线程去网购厨具。但是,子线程...
2018-03-05 16:08:56 115
原创 数据结构的妙用
当需要遍历一次删掉遍历到的记录的时候不可用list,应该将list转化为linklist再转化为queue,然后用queue.pool() FinancialSalesOrderCondition financialSalesOrder = new FinancialSalesOrderCondition();financialSalesOrder.setIsPa...
2018-03-02 16:15:52 170
原创 复杂业务逻辑编码
复杂逻辑编码先用意语言,写好,然后逐步书写代码 写好后再抽出可以共用的方法---很重要,关系到代码的整洁,和后续可修改,可维护性 到坐席 是否选择订单 等额 选择坐席 不选择坐席 某一团队所有坐席 所有团队所有坐席 平均 选择坐席 不选择坐席 某一团队所有坐...
2018-03-02 15:06:02 444
springboot--jredis集成使用.zip
2020-05-20
clickhouse--kafka引擎接入同步表.docx
2019-12-26
行为日志采集kafka接入数据格式(终端、web,手机端)(1)(1).docx
2019-12-26
davinci邮件截图等不同环境配置.zip
2019-12-19
redis发布订阅.zip
2019-12-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人