逅弈逐码

其他

什么是 Arthas

在listen方法中,主要是根据之前注册的TermServer来逐个启动,这里以TelnetTermServer为例讲解,接下来看下TelnetTermServer中的listen方法。
2019年3月30日
其他

线程池是怎样工作的

我们在工作中或多或少都使用过线程池,但是为什么要使用线程池呢?从他的名字中我们就应该知道,线程池使用了一种池化技术,和很多其他池化技术一样,都是为了更高效的利用资源,例如链接池,内存池等等。
2019年3月28日
其他

Nacos 服务注册与发现原理分析

负载均衡有很多种实现方式,包括轮询法,随机方法法,对请求ip做hash后取模等等,从负载的维度考虑又分为:服务端负载均衡和客户端负载均衡。
2019年3月17日
其他

手写 Nacos 配置中心插件 | 文末有完整代码

3.配置的修改应该做到最小化,如果将所有的配置项全部暴露,可能会存在用户在修改时不小心将其中某一个配置项删除的情况,这将会带来灾难性的后果
2019年3月15日
其他

Spring Cloud Alibaba Nacos 原理:推+拉打造客户端配置信息的实时更新

所以最好的方式是客户端每隔一段长度适中的时间去服务端请求,而在这期间如果配置发生变更,服务端能够主动将变更后的结果推送给客户端,这样既能保证客户端能够实时感知到配置的变化,也降低了服务端的压力。
2019年3月8日
其他

Nacos配置中心原理

dataID,group可以获取到具体的配置信息,当服务端的配置发生变更时,客户端会收到通知。当客户端拿到变更后的最新配置信息后,就可以做自己的处理了,这非常有用,所有需要使用配置的场景都可以通过
2019年3月3日
其他

用责任链模式设计拦截器

方法来获取所有的拦截器,如果这样每次都扫描一次的话性能会有影响,所以我们只需要第一次调用一下该方法,然后把结果保存在一个私有的变量中,获取的时候直接读取该变量的值即可,如下图所示:
2019年2月16日
其他

Netty 实战:如何编写一个麻小俱全的 web 容器

集群模式是由一个主节点和若干个从节点构成的。主节点接收到请求后,将请求转发给从节点来处理,从节点把处理好的结果返回给主节点,由主节点把结果响应给请求。
2019年2月1日
其他

Sentinel原理:控制台是如何获取到实时数据的

的,没有进行加密或鉴权,可能会存在数据安全性的问题,不过这些数据并非是很机密的数据,对安全性要求并不是很高,另外增加了鉴权或加密之后,对于性能和实效性有一定的影响。
2019年1月31日
其他

Sentinel 实战-集群限流环境搭建(详细图文描述)

ClusterServerConfigManager.registerServerTransportProperty(transportConfigDs.getProperty());
2019年1月27日
其他

Sentinel 实战-集群限流

我们已经知道如何为应用接入限流了,但是到目前为止,这些还只是在单机应用中生效。也就是说,假如你的应用有多个实例,那么你设置了限流的规则之后,每一台应用的实例都会生效相同的流控规则,如下图所示:
2019年1月13日
其他

技巧-Stream 中异常处理的4种方式

RuntimeException中,那你会看到很多重复的代码。为了避免一遍又一遍地重写相同的代码,我们可以将它抽象为一个方法,这样,你只需编写一次然后每次需要的时候直接调用他就可以了。
2019年1月10日
其他

Sentinel 实战-控制台篇

客户端配置好了与控制台的连接参数之后,并不会主动连接上控制台,需要触发一次客户端的规则才会开始进行初始化,并向控制台发送心跳和客户端规则等信息。
2019年1月5日
自由知乎 自由微博
其他

Sentinel 实战-限流篇

根据关联流量限流。当两个资源之间具有资源争抢或者依赖关系的时候,这两个资源便具有了关联,可使用关联限流来避免具有关联关系的资源之间过度的争抢。
2019年1月3日
其他

每个程序员都该学会的Maven知识

来下载我们所需要的jar包。试想一下如果你所在的公司有几千甚至上万的开发者,每个人都单独配置一个中央仓库,那每个人都到中央仓库中去下载所需的jar,这就退化成最原始的模式,并且是一个巨大的资源浪费。
2018年12月29日
其他

让人欢喜让人忧的正则表达式

本篇文章主要整理了正则表达式匹配的规则,使用中的一些要点,以及用图形化的方式列举出一些常见的正则表达式,希望能给大家带来一定的帮助,能在以后的工作中,用上正则,爱上正则。
2018年12月22日
其他

每个程序员都该学会的Git知识

reset是之间把某些commit在某个branch上删除,因而和老的branch再次merge时,这些被回滚的commit应该还会被引入,产生很多冲突。关于这一点,不太理解的可以看这篇文章。
2018年12月20日
其他

带你了解「sentinel」中的概念实体

方法中创建的,并且该方法会根据当前请求的资源先去一个静态的HashMap中获取,如果获取不到才会创建,创建后会保存到HashMap中。这就意味着,同一个资源会全局共享一个SlotChain
2018年11月9日
其他

限流降级神器「sentinel」基于滑动时间窗口的实时指标统计分析

的作用。首先一个时间窗口是用来在某个固定时间长度内保存一些统计值的虚拟概念。有了这个概念后,我们就可以通过时间窗口来计算统计一段时间内的诸如:qps,rt,threadNum等指标了。
2018年10月28日
其他

限流降级神器-哨兵(sentinel)的资源调用链原理分析

PS:这里图中的node0,node1,node2可能是相同的node,因为在同一个context中从map中获取的node是同一个,这里只是为了表述的更清楚所以用了不同的节点名。
2018年9月30日
其他

限流降级神器-哨兵(sentinel)原理分析

Chain是链条的意思,从build的方法可看出,ProcessorSlotChain是一个链表,里面添加了很多个Slot。具体的实现需要到DefaultProcessorSlotChain中去看。
2018年9月5日