做网站的属于什么岗位,发广告推广平台,互联网行业环境分析,如何查看网站收录情况1.服务注册和发现
服务注册维护一个登记簿#xff0c;管理系统内所有服务地址#xff0c;服务启动后会向登记簿交待自己的地址信息。
服务注册形式#xff1a;客户端注册和第三方注册
客户端注册#xff08;zookeeper#xff09; 服务自身要负责注册和注销工作#xf…1.服务注册和发现
服务注册维护一个登记簿管理系统内所有服务地址服务启动后会向登记簿交待自己的地址信息。
服务注册形式客户端注册和第三方注册
客户端注册zookeeper 服务自身要负责注册和注销工作服务启动后向注册中心注册自身当服务下线时注销自己期间需要和注册中心保持心跳心跳也可以由注册中心负责探活。缺点注册工作与服务耦合在一起 第三方注册独立的服务registrar 由独立的服务registrar负责注册与注销服务启动后以某种方式通知registrar然后负责向注册中心发起注册工作注册中心要维护与服务之间的心跳服务不可用时向注册中心注销服务缺点registrar必须是个高可用的系统否则注册工作没法进展 客户端发现 客户端负责查询服务地址以及负载均衡工作缺点多语言时的重复工作每个语言实现相同逻辑 服务端发现 额外的router服务请求达到router然后router负责查询服务于负载均衡缺点保证router高可用 ConsulEurekaSmartStackEtcd
2.API网关
是进入系统的唯一节点封装内部系统的架构并提供api给各个客户端可能有其他功能授权监控负载均衡缓存请求分片和管理静态响应处理等。
所有来自客户端的请求都要先经过网关然后路由这些请求到对应的微服务
将经常通过调用多个微服务来处理一个请求以及聚合多个服务的结果可以在web协议与内部使用的非web友好型协议间进行转换eghttp协议webSocket协议
请求转发对客户端的请求安装微服务的负载转发到不同的服务上响应合并把业务上需要调用多个服务接口才能完成的工作合并成一次调用对外统一提供服务协议转换支持 SOAP JMS Rest 间的协议转换。数据转换支持 XML 和 Json 之间的报文格式转换能力可选 安全认证 基于 Token 的客户端访问控制和安全策略传输数据和报文加密到服务端解密需要在客户端有独立的 SDK 代理包基于 Https 的传输加密客户端和服务端数字证书支持基于 OAuth2.0 的服务安全认证(授权码客户端密码模式等
3.配置中心
一般用作系统的参数配置它需要满足如下几个要求高效获取、实时感知、分布式访问
zookeeper配置中心采取数据加载到内存方式解决高效获取的问题借助 zookeeper 的节点监听机制来实现实时感知。配置中心数据分类 服务配置数据库服务队列服务缓存服务各类开关功能开关业务开关服务开关业务配置模块AB, C
4.事件调度kafka消息服务和事件的统一调度常用 kafka activemq 等
5.服务跟踪
随着微服务数量不断增长需要跟踪一个请求从一个微服务到下一个微服务的传播过程 Spring Cloud Sleuth 在日志中引入唯一 ID以保证微服务调用之间的一致性。 为了实现请求跟踪当请求发送到分布式系统的入口端点时只需要服务跟踪框架为该请求创建一个唯一的跟踪标识Trace ID同时在分布式系统内部流转的时候框架始终保持传递该唯一标识直到返回给请求方为止 。通过 Trace ID 的记录就能将所有请求过程日志关联起来。为了统计各处理单元的时间延迟当请求达到各个服务组件时或是处理逻辑到达某个状态时也通过一个唯一标识(Span ID)来标记它的开始、具体过程以及结束 对于每个 Span 来说它必须有开始和结束两个节点通过记录开始 Span 和结束 Span 的时间戳就能统计出该 Span 的时间延迟除了时间戳记录之外它还可以包含一些其他元数据比如事件名称、请求信息等。在 Spring Boot 应用中通过在工程中引入 spring-cloudstarter-sleuth 依赖之后 它会自动的为当前应用构建起各通信通道的跟踪机制比如 通过诸如 RabbitMQ、 Kafka或者其他任何 Spring Cloud Stream 绑定器实现的消息中间件传递的请求。通过 Zuul 代理传递的请求。通过 RestTemplate 发起的请求
6.服务熔断
在微服务架构中通常会有多个服务层调用基础服务的故障可能会导致级联故障进而造成整个系统不可用的情况这种现象被称为服务雪崩效应。
服务雪崩效应是一种因“服务提供者”的不可用导致“服务消费者”的不可用,并将不可用逐渐放大的过程。
熔断器的原理很简单如果在一段时间内侦测到许多类似的错误 会强迫其以后的多个调用快速失败不再访问远程服务器从而防止应用程序不断地尝试执行可能会失败的操作使得应用程序继续执行而不用等待修正错误或者浪费 CPU 时间去等到长时间的超时产生。熔断器也可以使应用程序能够诊断错误是否已经修正如果已经修正应用程序会再次尝试调用操作 Hystrix 断路器机制 断路器当 Hystrix Command 请求后端服务失败数量超过一定比例(默认 50%), 断路器会切换到开路状态(Open). 这时所有请求会直接失败而不会发送到后端服务. 断路器保持在开路状态一段时间后(默认 5 秒), 自动切换到半开路状态(HALF-OPEN). 这时会判断下一次请求的返回情况,如果请求成功, 断路器切回闭路状态(CLOSED), 否则重新切换到开路状态(OPEN). Hystrix 的断路器 一旦后端服务不可用, 断路器会直接切断请求链, 避免发送大量无效 请求影响系统吞吐量, 并且断路器有自我检测并恢复的能力
7.API管理SwaggerAPI 管理工具