0%

此为龙果学院课程学习笔记,记录以后翻看

Hystrix是什么?

在分布式系统中,每个服务都可能会调用很多其他服务,被调用的那些服务就是依赖服务,有的时候某些依赖服务出现故障也是很正常的。

Hystrix可以让我们在分布式系统中对服务间的调用进行控制,加入一些调用延迟或者依赖故障的容错机制。

阅读全文 »

此为龙果学院课程笔记,记录以供以后翻看

java系统跟大数据技术的关系

  1. 大数据不仅仅只是大数据工程师要关注的东西

  2. 大数据也是Java程序员在构建各类系统的时候一种全新的思维,以及架构理念,比如Storm,Hive,Spark,ZooKeeper,HBase,Elasticsearch,等等

    阅读全文 »

此为龙果学院课程笔记,记录以供以后翻看

zookeeper集群搭建

将zookeeper-3.4.5.tar.gz拷贝到/usr/local目录下。
对zookeeper-3.4.5.tar.gz进行解压缩:

tar -zxvf zookeeper-3.4.5.tar.gz

对zookeeper目录进行重命名:

mv zookeeper-3.4.5 zk
阅读全文 »

此为龙果学院课程笔记,记录以供以后翻看

上亿流量的商品详情页系统的多级缓存架构

很多人以为做个缓存其实就是用一下redis访问一下就可以了,这只是简单的缓存使用方式。做复杂的缓存,支撑电商等复杂的场景下的高并发的缓存,遇到的问题非常非常之多,绝对不是说简单的访问一下redis就可以了。

阅读全文 »

此为龙果学院课程笔记,记录以供以后翻看

Redis高可用集群实战

如何做到99.99%高可用性

  1. 什么叫99.99%的高可用性?

    在365天 * 99.99%的时间内,你的系统都是可以对外提供服务的,那就是高可用性,99.99%。

  2. redis不可用是什么?单实例不可用?主从架构不可用?不可用的后果是什么?

    如果是master进程被杀了,或者系统宕机了,那就无法提供服务了。但是如果是集群中某一个slave挂掉了,没问题,还有其他的slave可以提供服务。

  3. Redis怎么才能做到高可用?

    如果master挂了怎么办?Redis有个故障转移功能,如果master node故障时,自动检测,并且将某个slave node自动切换为master node,也可以叫做主备切换,这实现了redis主从架构下的高可用性,这其中会用到Redis的哨兵架构(它会去检测)。
    一旦master故障,在很短的时间内,就会切换到另外一个master上去,可能就几分钟,或者几秒钟是不可用的。

阅读全文 »

此为龙果学院课程笔记,记录以供以后翻看

Redis企业应用实战

上一篇说了redis的持久化的原理和操作,但是在企业中,持久化到底是怎么去用的呢?企业级的数据备份和各种灾难下的数据恢复,是怎么做的呢?

企业级的持久化的配置策略

在企业中,RDB的生成策略,用默认的配置也差不多。

save 60 10000:如果你希望尽可能确保,RDB最多丢1分钟的数据,那么尽量就是每隔1分钟都生成一个快照,但是低峰期数据量很少,也没必要这样设置。

1分内10000个key发生变更->生成RDB,1分内1000->RDB,这个根据应用和业务的数据量,自己去决定。

AOF一定要打开,fsync配置everysec

auto-aof-rewrite-percentage 100: 就是当前AOF大小膨胀到超过上次100%,上次的两倍就重写。
auto-aof-rewrite-min-size 64mb: 至少64m才重写,根据你的数据量来定,可改成16mb,32mb等等。

阅读全文 »

此为龙果学院课程笔记,记录以供以后翻看

Redis

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis与其他key-value缓存产品有以下三个特点:

  1. Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  2. Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  3. Redis支持数据的备份,即master-slave模式的数据备份。
阅读全文 »

分片

在Mongodb里面存在另一种集群,就是分片技术,可以满足MongoDB数据量大量增长的需求。

当MongoDB存储海量的数据时,一台机器可能不足以存储数据,也可能不足以提供可接受的读写吞吐量。这时,我们就可以通过在多台机器上分割数据,使得数据库系统能存储和处理更多的数据。

为什么使用分片

  • 复制所有的写入操作到主节点
  • 延迟的敏感数据会在主节点查询
  • 单个副本集限制在12个节点
  • 当请求量巨大时会出现内存不足。
  • 本地磁盘不足
  • 垂直扩展价格昂贵
阅读全文 »

副本集

MongoDB复制是将数据同步在多个服务器的过程。

复制提供了数据的冗余备份,并在多个服务器上存储数据副本,提高了数据的可用性, 并可以保证数据的安全性。

复制还允许您从硬件故障和服务中断中恢复数据。

什么是复制?

  • 保障数据的安全性
  • 数据高可用性 (24*7)
  • 灾难恢复
  • 无需停机维护(如备份,重建索引,压缩)
  • 分布式读取数据
阅读全文 »