Redis-高可用和集群
我们一起学习配置和管理 Redis 的 Sentinel 和 Redis Cluster。 使用 Redis 的主从复制和持久化可以解决数据冗余备份的问题。但是如果没有人工干预,当主实例宕机,整个 Redis 服务将无法恢复。自 2.6 版本以后,Redis 原生支持的 Sentinel 是使用最广泛的高可用架构。利用 Sentinel 我们可以轻松地构建具备容错能力的 Redis 服务。...
我们一起学习配置和管理 Redis 的 Sentinel 和 Redis Cluster。 使用 Redis 的主从复制和持久化可以解决数据冗余备份的问题。但是如果没有人工干预,当主实例宕机,整个 Redis 服务将无法恢复。自 2.6 版本以后,Redis 原生支持的 Sentinel 是使用最广泛的高可用架构。利用 Sentinel 我们可以轻松地构建具备容错能力的 Redis 服务。...
使用 Redis 进行设计和开发时,首先应该考虑 Redis 原生支持的哪些数据类型最适合我们的场景。 字符串 string 字符串是 Redis 的基本数据类型之一,事实上,Redis 中所有的 key 都必须是字符串。 127.0.0.1:6379> set "mykey" chengchao 127.0.0.1:6379> get "mykey" "chengc...
那台跟了我很久的古老的笔记本,ThinkPad T420i,后来一直使用 Ubuntu。我给他添加了一块固态硬盘,下面是如何将另外一块硬盘挂载的笔记。 硬盘分区 首先,将硬盘物理分区转换成 Linux LVM 使用的物理区段。 chengchao@t420i:~$ sudo -i root@t420i:~# fdisk -l ... Disk /dev/sdb: 232.9 GiB...
Spring Cloud Ribbon 是一个基於 HTTP 和 TCP 的客戶端負載均衡工具,它基於 Netflix Ribbon 實現。通過 Spring Cloud 的封裝,可以讓我們輕鬆地將面嚮服務的 REST 請求自動轉換成客戶端負載均衡的服務調用。 客户端负载均衡 所有客户端节点都维护着自己要访问的服务端清单,而这些服务端的清单来自于服务注册中心,客户端负载均衡中也需要心...
找到一个非常好的 Scala 的学习博客:写点什么。 以下文字转载了博主的我所理解的monad系列。这是我找到的最容易理解的 Monads 的文章,感谢博主。 〇,我所理解的monad http://hongjiang.info/understand-monad-0/ 以前在别人的一篇 blog 里看到过有这样一句话,大意是:关于 monad,几乎每个在学习函数式编程中接...
维基百科这样定义 Actor 模型: 在计算科学领域,Actor 模型是一个并行计算(Concurrent Computation)模型,它把 actor 作为并行计算的基本元素来对待:为响应一个接收到的消息,一个 actor 能够自己做出一些决策,如创建更多的 actor,或发送更多的消息,或者确定如何去响应接收到的下一个消息。 我们先看一下 Akka 中 Actor ...
CompletableFuture 是 Java 8 引入的相当碉堡的函数式异步编程辅助类。 Future 接口 Future 接口在 Java 5 中被引入,设计初衷是对将来某个时刻会发生的结果进行建模。它建模了一种异步计算,返回一个执行运算结果的引用,当运算结束后,这个引用被返回给调用方。在 Future 中触发那些潜在耗时的操作把调用线程解放出来,让它能继续执行其他有价值的工作...
我有一台服务器上面部署了多个docker容器, 并且每个docker容器都往stderr中源源不断的输出日志,导致今天磁盘被占满了。搜索了一下,docker官方网站上提供了一篇解决方案的文章。 Docker容器在启动/重启的时候会往/var/lib/docker中写东西,如果你在启动docker容器遇到No space left on device的问题,可以按照下面的步骤进行清理相关...
话题: 多核计算的出现 使用 Future 进行多核编程 使用 Router 和 Actor 进行多核编程 使用 Dispatcher 隔离性能风险 贾森·古德温(Jason Goodwin). Akka入门与实践(异步图书) “纵向扩展”的意思是:当我们给单个系统添加额外的资源(CPU 或内存)时,应用程序能够利用新添加的资源。 作为一名现代开发者,...
如何在 docker swarm 中部署 spring cloud,这个问题耽误了很久。 后来终于有一个周六,可以专心的搞这个事情了。 测试环境 首先安装 VirtualBox 虚,再虚拟出两个 CentOS 7 的虚拟机。 第一台主机名: vbc701, IP: 192.168.1.11 第二台主机名: vbc702, IP: 192.168.1.12 然后分别安...