微服务初级

什么是服务治理:
Spring Cloud封装了Netflix公司开发的Eureka模块来实现服务治理
在传统的rpc远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务于服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现于注册。
什么是服务注册与发现:
Eureka采用了CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心,而系统中的其他微服务,使用Eureka的服务端连接到Eureka Server并维持心跳链接。这样系统的维护人员就可以通过Eureka Server来监控系统中各个微服务是否正常运行。
在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器的信息,比如 服务地址 通讯地址等以别名方式注册到注册中心上。另一方(消费者,服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址,然后在实现本地RPC调用RPC远程调用框架核心设计思想
:在注册中国新,因为使用注册中心管理每个微服务与服务之间的一个依赖关系(服务治理概念)。在任何rpc远程框架中,都会有一个注册中心(存放服务地址相关信息(接口地址))
 
 
 
 
Eureka包含两个组件:Eureka Server和Eureka Client
Eureka Server提供服务注册服务:
各个微服务节点通过配置启动后,会在EurekaServer中进行注册,这样EurekaServer中的服务注册表中会将存储所有可用服务节点的信息,服务节点的信息可以在界面中直观看到。
EurekaClient通过注册中心进行访问:
是一个Java客户端,用于简化Eureka Server的交互,客户端同事也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。在应用启动后,将会向Eureka Server发送心跳(默认周期为30秒)。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,EurekaServer将会从服务注册表中把这个服务节点移除(默认90秒)
 
Eureka Server
服务注册:将服务信息注册进注册中心
服务发现:从注册中心上获取服务信息
实质:存key服务命 取value调用地址
工作流程:
1.先启动eureka注册中心
2.启动服务提供者payment制醋服务
3.支付服务启动后会把自身信息(比如服务地址以别名方式注册进eureka)
4.消费者order服务在需要调用接口时,使用服务别名取注册中心获取实际的RPC远程调用地址
5.消费者获得调用地址后,底层实际是利用HttpClien技术实现远程调用
6.消费者获得服务地址后会缓存在本地jvm内存中,默认每间隔30秒更新一次服务调用地址
 
微服务RPC远程服务调用最核心的是什么:高可用
搭建Eureka注册中心集群,实现负载均衡+故障容错
 
Eureka保护模式:
保护模式主要用于一组客户端和Eureka Server之间存在网络分区场景下的保护。议案进入保护模式,Eureka Server将会尝试保护器服务注册表中的信息,不在删除服务注册表中的数据,也就是不会注销任何微服务。
如果在Eureka Server的首页看到了以下这段提示,则说明Eureka进入了保护模式
 
 
为什么而会产生Eureka自我保护机制:
为了防止EurekaClient可以正常运行,但是与EurekaServer网络不通情况下,EurekaServer不会立刻将EurekaClint服务剔除。
自我保护机制:
默认情况下,如果EurekaServer在一定时间内没有接收到某个微服务实例的心跳,EurekaServer将会注销该实例(默认90秒)。但是当网络分区故障发生(延迟、卡顿、拥挤)时,微服务与EurekaServer之间无法正常通信,以上行为可能变得非常危险了,因为微服务本身其实时健康的,此时本不应该注销这个微服务。Eureka通过“自我保护模式”来解决这个问题,当EurekaServer节点在短时间内丢失过多客户端时(可能发生了网络分区故障),那么这个节点就会进入自我保护模式。
 
在自我保护模式中,Eureka Server会保护服务注册表中的心思,不再注销任何服务实例。它的设计哲学就是宁可保留错误的服务注册信息,也不盲目注销任何可能健康的服务实例。
综上,自我保护模式是一种应对网络异常的安全保护措施。他的架构哲学时宁可同时保留所有的微服务(健康的微服务和不健康的微服务都会保留)也不盲目注销任何健康的微服务。使用自我保护模式,可以让Eureka集群更加的健壮、稳定。
 
-----------------------------------------------我是分割线-----------------------------------------------
 
 
 
Hei~好久不见
不知道你现在过得怎样
也不敢去找你
是我当时的自私导致今日的结局
我也没资格找你
又要过一个没有你陪伴的新年了
照顾好自己
希望能有再见面的一天
愿 一切安好
 
下班!
(0)

相关推荐

  • SpringCloud不归路---Eureka

    一 Eureka服务治理体系 1.1 服务治理 服务治理是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现. Spring Cloud Eureka是Spring Cl ...

  • 进来抄作业:分布式系统中保证高可用性的常用经验

    系统可用性指标 系统可用性指标简单来将就是系统可用时间与总运行时间之比 Availability=MTTF/(MTTF+MTTRMTTF) MTTF 是 Mean Time To Failure,指平 ...

  • Spring Cloud架构的各个组件的原理分析

    搜索公纵号:JavaCat,关注回复[ vue ]获取前后端入门教程! 作者:白羽毛 来源:toutiao.com/i6888099913867985422/ 我们先认识一下SpringCloud的各 ...

  • Eureka的几个小知识点总结

    前几天接触了Spring Cloud,了解了Eureka,现在简单的对几个比较重要的点做一个小总结,算是小小的复习; 首先是Eureka的简单的工作原理,Eureka框架包含两个组件,一个是Eurek ...

  • 微服务实践之分布式定时任务

    承接上篇:上篇文章讲到改造 go-zero 生成的 app module 中的 gateway & RPC .本篇讲讲如何接入 异步任务 以及 log的使用. Delay Job 日常任务开放 ...

  • 一文了解四种软件架构:Serverless架构、微服务架构、分布式架构、单体架构

    如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存.晋升空间.这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面. 一.单体架构 单体架构 ...

  • 通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权-百度版

    曾宇平 dotNET跨平台 今天 目录: 一.通过Dapr实现一个简单的基于.net的微服务电商系统 二.通过Dapr实现一个简单的基于.net的微服务电商系统(二)--通讯框架讲解 三.通过Dapr ...

  • 去中心化计算的未来:通过 RPC 从微服务过渡到 WASM

    在另外一篇文章<区块链.硬件与面向服务的架构,WASM 即将迎来大爆发?>,里面有绝佳的浏览器内的 WASM 应用程序示例,并辅以了对WebAssembly(Wasm)的详细解释. 但正如 ...

  • 微服务调用链日志追踪分析

    一.技术原理 1.1 背景 微服务架构是一个分布式架构,它按业务划分服务单元,一个分布式系统往往有很多个服务单元.由于服务单元数量众多,业务的复杂性,如果出现了错误和异常,很难去定位.主要体现在,一个 ...

  • .NET Core with 微服务 - 什么是微服务

    今天 以下文章来源于馒哥不光会玩当耐特 ,作者MJZHOU 馒哥不光会玩当耐特这个号主要分享.NET相关知识,但也不光是.NET,也会涉及其他任何技术. 微服务是这几年最流行的架构,说起架构不提微服务 ...

  • 微服务架构的前世今生

    传统行业向互联网行业的转型 背景 2012年以后,因为移动互联网的兴起,随着网名数量的增多,需求变化大,用户群体大.导致已有的应用程序无法抗住大规模的并发,且版本迭代麻烦,扩展不够灵活,应对外界环境能 ...

  • 分布式事务+DDD+负载均衡+服务治理已撸!微服务不就这点事?

    Go语言中文网 今天 最近有看到"微服务,分久必合.合久必分"的言论,我同意,微服务不是架构演变的终点,细说还有Serverless.FaaS等方向.但纠结要不要拆分是没有必要的, ...

  • 微服务的隐性收益

    引言:微服务并不适用于每个公司,而且实现微服务化的过程也并不容易.但是,实现微服务除了明显优势之外,还有一些隐性的收益值得关注.本文编译自 Tom Killalea的一篇旧文 https://queu ...