java面试总结之微服务与redis【四】

前言

如有错误的地方还请指出,免得误人子弟。。。

正文

 

微服务

微服务概念理解
1.将业务服务拆分成多个细小独立的服务
2.每个微服务都是独立可运行的
3.微服务本质是soa(面向服务架构)其是一种架构设计理念

4.(更多请自行搜索)

 微服务的好处

1.每个服务独立运行不受技术,数据库,等影响
2.由于其划分精细,小部分功能升级不影响其他功能使用
3.松耦合 
4.接口通用

spring cloud常用组件
1.eureka  注册中心
2.ribbon  负载均衡
3. feign  http调用框架
4.config  配置中心
5.hystrix 熔断
6. bus消息总线
7.dashbord(hystrix仪表盘)  
8.Zuul网关   
9.sleuth调用链追踪(一般配合zipkin)

 

spring cloud 7种负载均衡策略 
1. 轮询  2.随机   3.最大可用策略(过滤不可用选择并发数最小的)
4.可用过滤(过滤并发大于阈值的再轮询)
5.加权轮询   6.重试策略(配置时间段内访问不成功则一直尝试使用subRule方式重试 )
7.区域感知策略(先使用主过滤条件,判断最小过滤数和最小过滤百分比,满足条件的服务才使用)

 

什么是高可用
服务降级    自动重试  快速失败(熔断)
负载均衡  健康检测   回退部署  

 

服务降级
暂时关闭不重要的服务   分级降级 降级权重

 

redis优势
1.单线程与上下文切换消耗
2.多路复用io模型,非阻塞io
3.基于内存操作,hashmap时间复杂度是o(1)
4.redis实现了自己的vm机制

redis哨兵模式
故障转移 投票选举 监控

 

网络io模型

epoll
io复用模型中的一种,其优势有
1.没有并发了解限制,上限是最大可打开文件数目,这个数目和系统内存关系很大
2.redis能够处理高并发的大量请求,使用epoll是其中原因之一

select代理网络io
无差别轮询,遍历所有流的io事件,去过有流发生了io事件则唤醒线程去处理,时间复杂度为o(n)

epoll
为每一个流增加标记,这样重缓冲区读取流时就知道当前流的状态了,在获取到流之前处于阻塞状态
select所有流轮询,限制大小为1024
poll无大小限制和select一样
共3种io复用模型

redis使用的是epoll模型

 

redis数据淘汰策略
1.当内存达到限制的值且尝试使用更多的内存时。
2.回收最少使用的键
3.回收最少使用的键,但是仅仅从过期的集合中回收
4.随机回收
5.随机回收过期集合中的键
6.从过期集合中优先回收存活时间简短的键

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值