ASP.NET Core实战之 Redis 负载均衡和“高可用”实现(2)

业界问题: redis 的高可用有官方实现叫sentinel , 现在应用案例并不多, 也逮到官方文档看了哈, 看了半天没看到, 有sentinel实战教程推荐的,或其他高可用实现的, 望留言 ^_^

先下载完整源码: 

源码配置运行步骤如下:

如下图

ASP.NET Core实战之 Redis 负载均衡和“高可用”实现

3.1.配置VIPPort的值为 haproxy 暴露的redis 集群端口,如下图值

ASP.NET Core实战之 Redis 负载均衡和“高可用”实现

3.2.配置ClusterVIPCom值为 haproxy 所在服务器 的 IP

3.3.配置ClusterMultiIPCom 值为 redis主从复制集群中的全部从库IP, 用分号分割IP

3.4. 代码运行起来, 调用 Sample 接口, 如下图

ASP.NET Core实战之 Redis 负载均衡和“高可用”实现

调用URL: Get方法  :9526/api/RedisTest/Sample

运行逻辑如下:

第一次取数据, redis没得缓存, 制造缓存对象, 缓存到redis, 成功返回.

第二次取数据, redis 有缓存, 从缓存中取, 成功返回.

第三次取数据, 假如redis挂了, 制造缓存对象, 还是成功返回.

第四次取数据, redis恢复了, 重启 asp.net core ,  程序自动连接上redis, 从redis返回数据, 成功返回.

至此达到了, redis 和 asp.net core 的完全解耦, 即redis挂了不影响 asp.net core 的继续运行 .

可以想象哈, 当你半夜收到一个警报说redis挂了的时候, 你可以不慌不忙的去公司慢慢改, 因为asp.net core 还在运行, 只是慢了点而已.

下面关于Redis的文章您也可能喜欢,不妨参考下:

Ubuntu 14.04下Redis安装及简单测试

Redis主从复制基本配置

Redis集群明细文档

Ubuntu 16.04环境中安装PHP7.0 Redis扩展

CentOS 7.0 安装Redis 3.2.1详细过程和使用常见问题

Ubuntu 16.04环境中安装PHP7.0 Redis扩展

Ubuntu 15.10下Redis集群部署文档

Redis实战 中文PDF

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/762ea6272ead594434d3d68d37504eff.html