集群
bulingbuling^_^
这个作者很懒,什么都没留下…
展开
-
Linux部署代码的大致流程
Linux部署代码的大致流程原创 2022-07-20 17:39:28 · 599 阅读 · 0 评论 -
@FeignClient微服务远程调用时接口,出现有时成功,有时不成功的原因。
原因:开了多个pod,且版本不统一。我出现的情况是有个定时任务每天凌晨启动。@Scheduled(cron = "0 0 0 * * ?")然后正式环境没有问题,测试环境却偶尔统计不进去。修改执行时间@Scheduled(cron = "0 2315* * ?") 又能成功。查看测试环境logcom.netflix.loadbalancer.DynamicServerListLoadBalancer Line:150 - DynamicServerListLoadBalancer ...原创 2021-05-14 16:26:21 · 2677 阅读 · 0 评论 -
在rancher中配置多个pod副本,要注意定时任务会重复执行。
可以先看kuberbetes对于pod的官方解释,简单理解就是rancher管理集群的,pod是集群里面的服务,当你副本为2时,rancher采用负载均衡的方式分发你的请求到不同的pod执行,但是定时任务时自启的,所以会重复执行。网上初步查看结果,似乎可配置,加锁种类的,我们初步决定采用,单开一个项目,只放定时任务,用spring_cloud的FeiClient去请求调用的方式,使用定时任务。...原创 2020-11-24 10:34:09 · 3256 阅读 · 1 评论 -
Nginx服务器之负载均衡策略(6种)
Nginx负载均衡策略这就是最基本的负载均衡实例,但这不足以满足实际需求;目前Nginx服务器的upstream模块支持6种方式的分配:负载均衡策略 轮询 默认方式 weight 权重方式 ip_hash 依据ip分配方式 least_conn 最少连接方式 fair(第三方) 响应时间方式 url_hash(第三方) 依据URL分配方式 1、轮询 最基本的配置方法,上面的例子就是轮询的方式,它是upstream模块默认的负载.原创 2020-11-18 19:00:45 · 194 阅读 · 0 评论 -
从单机架构------》到现在复杂的微服务,分布式,集群,云平台途中是遇到了什么问题,又如何解决的?
本文转载地址服务端高并发分布式架构演进之路 写的很清楚,全面,顺序的话,肯定不是完全正确,如Docker,redis 等 但不重要,过程就是这莫个过程,根据公司业务不同,架构演变自然不同。转载记录一下。1、概述本文以淘宝作为例子,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知,文章最后汇总了一些架构设计的原则。2、基本概念在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念.转载 2020-11-18 17:58:04 · 917 阅读 · 0 评论 -
redis单线程为什么执行速度这么快的原因。
(一)纯内存操作,避免大量访问数据库,减少直接读取磁盘数据,redis将数据储存在内存里面,读写数据的时候都不会受到硬盘 I/O 速度的限制,所以速度快;(二)单线程操作,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗CPU,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁而导致的性能消耗;(三)多样的数据结构(四)采用了异步非阻塞I/O多路复用机制I/O操作的阻塞:当用户线程发出IO请求之后,内核会去查看数据是否就绪,如果没有就绪就会等.原创 2020-09-05 13:24:35 · 473 阅读 · 0 评论 -
Redis中哨兵的工作原理
1.监控阶段sentinel(哨兵1)----->向master(主)和slave(从)发起info,拿到全信息。sentinel(哨兵2)----->向master(主)发起info,就知道已经存在的sentinel(哨兵1)的信息,并且连接slave(从)。sentinel(哨兵2)----->向sentinel(哨兵1)发起subscribe(订阅)。2.通知阶段sentinel不断的向master和slave发起通知,收集信息。3.故障转移阶段通知阶原创 2020-08-26 17:29:52 · 558 阅读 · 0 评论 -
Redis中过期数据的定期删除。
Redis中对于TTL已经过期的数据,删除策略是不同的。1.定时删除(用时间换空间)2.惰性删除(用空间换时间)3.定期删除 对比上俩个择中一些。详细原理 如下图:W值可以在配置文件中进行设置。...原创 2020-08-24 16:28:46 · 1043 阅读 · 0 评论 -
Jedis操作Redis的常用命令
class RedisTests { Jedis jedis = JedisUtils.getJedis(); @Test public void testKey(){ System.out.println("清空数据:"+jedis.flushDB()); System.out.println("判断某个键是否存在:"+jedis.exists("username")); System.out.println("新增<'username','zzh'>的键值对:"+je.原创 2020-08-27 17:53:54 · 497 阅读 · 0 评论 -
Redis中缓存预热,缓存雪崩,缓存击穿,缓存穿透的简单解释及解决方案。
1.缓存预热系统启动前,提前将热点数据加载到缓存系统,避免系统已启动,大量请求直接查询数据库,然后再将数据缓存。2.缓存雪崩如在一个短时间内,缓存中的KEY集中过期,此时又有请求访问过期的KEY,redis无法提供数据,从而大量数据直接请求数据库,导致数据库崩溃。针对KEY集中过期的问题,我们可以将Key的有效期分类错峰,或者超热数据设置永久KEY。3.缓存击穿和缓存雪崩类似,他是某一个高热点Key过期了,但是超级大量的数据发起请求访问这个过期Key。4.缓存穿透原创 2020-08-27 10:16:09 · 593 阅读 · 1 评论