后端学习笔记三个知识

是极客时间专栏的学习笔记

1.微服务注册和订阅的流程

a.服务端和注册中心建立连接,注册信息

b.注册中心通过心跳机制保存和服务端连接的信息

c.客户端向注册中心订阅

d.客户端和客户端通过心跳机制保持连接

e .客户端向服务端发送请求,获得服务

问题 1 高可用要考虑哪些方面?

主要是从服务端宕机,客户端容错和注册中心选型三个方面去考虑。

对于服务端宕机,注册中心心跳机制发现不存在就需要移除,不过为了防止错误移除,要移除之后继续心跳一段时间确定,在客户端容错是指如果发现错误率持续达到一段时间调用失败,就暂时放入不可用的列表,之后重试。

2.负载均衡

负载均衡的算法有轮询,加权轮询,随机,加权随机,哈希,一致性哈希,根据反馈动态权重。

负载均衡这里动态权重的一个好处是,缓存命中率可能会影响服务端的处理时间,延迟等,所以动态权重可以根据缓存命中之后给我们的延迟来动态调整。

除了这些还有根据服务端连接数去分配权重的负载均衡算法。

在动态调整权重的过程中可以根据调用结果 成功就增加权重,失败就减权重,不能减到 0,因为那代表完全不可用,而且相比于绝对值,相对值才是决定负载均衡的因素。

3.熔断

主要的高可用方案就是负载均衡,熔断限流和降级,其中熔断就是使得服务不可访问,在这里主要面对的是两个问题

第一个是怎么判断服务端出现问题,需要熔断

第二个是熔断之后怎么判断服务端恢复处理能力

判断出现问题需要指标,例如错误率,响应时延,为了防止误判,需要在指标超过阈值,且一段时间之后才能熔断,否则可能是因为网络偶发性问题造成的。

熔断之后客户端可以一段时间之后恢复请求,如果熔断本身是因为高并发造成的,直接恢复全部请求可能会再次熔断,反复熔断恢复熔断恢复造成抖动现象,可以逐步恢复请求。

在客户端也可以做容错如发现错误就把服务节点加入不可用节点,去其他节点请求,如果是因为数据库问题导致所有节点都不可用只能人工介入去解决问题。

这里关于微服务高可用的问题发现和心跳机制是第一次学到的,然后熔断的判断和恢复,这种实际生产环境发现问题,考虑偶发性和严重性的这种考虑方式也很重要。

相关推荐
Zhao-Jichao3 小时前
AI Prompting for Everyone 课程笔记 - P19 数据分析 Data Analysis
人工智能·笔记·数据分析
旖旎夜光3 小时前
【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针
开发语言·c++·笔记·学习
ACP广源盛139246256734 小时前
选型笔记:Type‑C 扩展坞方案评估|DP1.2 转 HDMI2.0 桥接芯片 GSV2201D@ACP
笔记·硬件架构·硬件工程·视频·国产芯片
李长渊哦5 小时前
Qoder 自定义子智能体(Subagent)学习笔记
chrome·笔记·学习
pixelpilot5 小时前
Deta Surf:把笔记、文件和网页塞进同一个 AI 工作台
笔记·其他
蒸蒸yyyyzwd6 小时前
学习笔记 复盘
笔记·八股
旖旎夜光6 小时前
【C++ 基础入门】命名空间、输入输出、缺省参数与函数重载
开发语言·c++·笔记·学习
一支蜉蝣9 小时前
Day26 XD安全学习笔记--PHP 应用&模版引用&Smarty渲染&MVC 模型&数据联动&RCE 安全
笔记·网络安全·html·php
東隅已逝,桑榆非晚9 小时前
算法3.双指针法-快乐数
c++·笔记·学习·算法