2019年10月1日

摘要:  前面介绍了sentinel core的流程,提到在进行流控判断时,会判断当前是本地限流,还是集群限流,若是集群模式,则会走另一个分支,这节便对集群模式做分析。 一.基本概念  namespace:限流作用于,用于区分一个规则作用于什么范围  flowId:代表全局唯一 阅读全文
posted @ 2019-10-01 08:11 程序猿啊驼 阅读(1151) 评论(0) 推荐(0) 编辑
 

2019年9月30日

摘要:  上次介绍了Sentinel的基本概念,并在文章的最后介绍了基本的用法。这次将对用法中的主要流程和实现做说明,该部分主要涉及到源码中的sentinel core模块。 1.token获取   如上为token获取的主流程,首先会先获取线程的上下文对象Context,然后根据Res 阅读全文
posted @ 2019-09-30 09:08 程序猿啊驼 阅读(707) 评论(0) 推荐(0) 编辑
 

2019年9月29日

摘要:  Sentinel是阿里开源的一款高性能的限流框架。这里将对Sentinel的使用和实现进行介绍。  这里先介绍下Sentinel中涉及到的基本概念,包括使用上或者实现上。主要是笔者在阅读文档和源码时经常会接触到的对象。 Resource  资源是整个Sentinel最 阅读全文
posted @ 2019-09-29 09:23 程序猿啊驼 阅读(955) 评论(0) 推荐(0) 编辑
 
摘要:  这篇是关于JAVA中EOF标识的讲解,之前在工作上碰到过一个问题,有人问过,不能通过判断EOF来知道文件有没有读取完毕吗?其实,还真不能。  直接从JDK接口文档入手,以FileInputStream为例,JDK接口文档给出了明确的说明:  使用FileInputSt 阅读全文
posted @ 2019-09-29 09:14 程序猿啊驼 阅读(2406) 评论(0) 推荐(0) 编辑
 

2019年9月27日

摘要:  介绍常见的分布式一致性协议 一.CAP/BASE 1. CAP理论  CAP理论又称之为布鲁尔定理(Brewer’S theorem),认为在设计一个大规模可扩放的网络服务时候不能同时兼容:一致性(consistency)、可用性(Availability)、分区容错(Part 阅读全文
posted @ 2019-09-27 07:55 程序猿啊驼 阅读(1018) 评论(0) 推荐(2) 编辑
 

2019年9月26日

摘要:  这节介绍Redis的集群模式  主从模式提供了读写分离的支持,Sentinel提供了高可用的保障,满足了读模式下的横向扩展,但主节点只有一个,集中式的写模式无法应对不断增长的写需求。  Redis 3.x 版本提供了Redis 功能,服务端sharding使用槽作为分 阅读全文
posted @ 2019-09-26 07:52 程序猿啊驼 阅读(449) 评论(0) 推荐(0) 编辑
 

2019年9月25日

摘要:  这节介绍Redis的高可用解决方案:Sentinel 1.介绍  Sentinel是Redis官方推荐的高可用(HA)解决方案,当用Redis做master slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换。 &e 阅读全文
posted @ 2019-09-25 06:20 程序猿啊驼 阅读(197) 评论(0) 推荐(0) 编辑
 

2019年9月24日

摘要:  这节介绍Redis的发布与订阅  Redis提供了发布与订阅的功能,客户端能够向服务器订阅某个频道,当其他客户端向服务器的该频道发布消息时,服务器会将消息推送到订阅该频道的客户端。提供的命令包括: 该命令可以向服务器订阅多个频道的消息。与之对应的有UNSUBSCRIBE命令。 阅读全文
posted @ 2019-09-24 00:13 程序猿啊驼 阅读(184) 评论(0) 推荐(0) 编辑
 

2019年9月23日

摘要:  这节介绍Redis的主从复制过程,包括建立和复制。 1.复制的建立 1.1 SLAVEOF命令  Redis支持主从模式以提供读写分离,可以通过在从服务器的客户端上执行如下命令以连接主服务器: 或者在配置文件中配置SLAVEOF选项。 1.2 建立过程  SLAVEO 阅读全文
posted @ 2019-09-23 00:30 程序猿啊驼 阅读(184) 评论(0) 推荐(0) 编辑
 

2019年9月22日

摘要:  这节介绍Redis的持久化,包括RDB和AOF两种方式。 1.RDB持久化  Redis能够将内存中的数据持久化到RDB文件中,避免数据丢失。RDB文件的格式如下示:  第一部分是开头的5个字节,值为REDIS,第二部分是长度为4个字节的版本号,值为一个字符串表示的整 阅读全文
posted @ 2019-09-22 00:30 程序猿啊驼 阅读(281) 评论(0) 推荐(0) 编辑