![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后端
你的大佬
道阻且长,行则将至。
展开
-
关于动态读取配置文件的一种实现思路
项目中,我们经常想修改配置,并且立即生效,且不重启服务器,因为只是因为修改一个配置就重启服务器,就会显得交互很不友好了。 如下图是一种实现思路,但是如果实时性要求很强,那么可能需要考虑集群,中断其中一个节点等,本思路比较适合实时要求不高的,如定时任务调度表达式的刷新等:...原创 2018-08-20 16:34:52 · 304 阅读 · 0 评论 -
关于分布式锁的一种实现思路
需求语言描述:多个节点竞争同一资源,且只能有一个节点竞争成功;场景描述: 最近在做一个数据同步程序,因为es出色的查询性能以及为了减轻与底层数据库的交互,将底层数据库如sqlserver中的数据同步到es。 在做了定时任务的统一调度和配置之后,由于是多人协同开发,所以各自本地都可能启动一个实例,那么就相当于多个实例。但是同一个同步程序(定时任务)在指定时间内我们只想调度(触发)一次...原创 2018-08-20 17:37:04 · 248 阅读 · 0 评论 -
jar包修改,并重新打包
在开发中,有的时候我们需要修改jar包来定制化开发。一般情况中,我们建议不修改jar包,因为其他程序员不知道你修改jar的话,很可能会产生一些问题,尽量用继承实现的方式达到自己的目的,遵循开闭原则。 本文以 apache thrift 为例,去除其中打印语句,因为我们这边项目调用很频繁,不去除打印语句的话,每天打印日志几十m,全是Received... 参考: http...原创 2018-09-07 17:14:56 · 1316 阅读 · 0 评论 -
队列: 尾指针索引小于头指针的扩容问题
队列,一种作为构思算法的辅助数据结构,和栈相反,遵循FIFO即先进先出原则。 为了节省空间,提高底层数据结构的使用率(队列可以通过数组实现,也可以通过链表实现),常见的做法和其他数据结构扩容不同,并不是尾指针移至末尾就进行扩容,而是将尾指针移至0,从头开始(当然这要求底层数据结构如数组,起始的位置数据已经pop出去了,否则将进行扩容)。如下所示: 如图我们再次pop一个3的时候...原创 2018-09-29 14:23:17 · 521 阅读 · 0 评论 -
记一次nginx反向代理隐藏参数
location /finchinaAPP { rewrite /finchinaAPP/(.*) /finchinaAPP/$1?type=news&sharetype=1&channelCode=1&id=$arg_id break; proxy_pass http://222.73.4.143; proxy_redirect off;...原创 2018-11-22 15:04:05 · 2828 阅读 · 0 评论 -
LemonAlgorithm: 一种可能和一致性hash算法差不多的分布式存储应用算法
场景 以分布式缓存为例,我们需要在多台机器上分别存储不同的缓存,从而降低单一机器的负担。最常见的做法是通过hash算法,计算缓存key的哈希值,然后再对机器数量取余,从而将缓存分散到不同的机器上,以达到同一份缓存每次都会访问固定机器的目标。 但是在增加一台机器,或者减少一条机器的时候,对机器取余,就会造成大量的缓存不能访问原来的机器,很可能会引起缓存雪崩效应,进而造成服务器宕机。...原创 2019-08-21 18:17:44 · 359 阅读 · 0 评论