专业网站设计企业,旅行社网站规划与建设的流程,化妆品网站 源码,泉州钟南山最新消息1、服务注册发现 
服务注册就是维护一个服务列表#xff0c;它在管理系统内所有的服务地址#xff0c;当新的服务启动后#xff0c;它会向服务列表提交自己的服务地址#xff0c;服务的调用法可以直接向服务列表发送服务列表获取请求#xff0c;就能获得所有的服务地址它在管理系统内所有的服务地址当新的服务启动后它会向服务列表提交自己的服务地址服务的调用法可以直接向服务列表发送服务列表获取请求就能获得所有的服务地址只需要选取需要的服务即可。 
现在的服务注册工具有很多例如ZooKeeperConsulEtcd、Netflix、Eureka 
服务注册有两种形式 客户端注册 和 第三方注册。 
1客户端注册 客户端注册是服务自身负责注册与注销当服务启动后向注册中心提交服务地址当服务下线时注销自己期间还需要和注册中心发送心跳数据心跳机制是注册中心用来判断服务是否存在的机制通常是由注册中心进行心跳监听。 
客户端注册的缺点 注册与服务功能相耦合。 
2第三方注册 第三方注册是由一个独立的注册服务 Registrar 负责注册与注销工作当服务开启时通知 Registrar 进行注册操作然后 Registrar 负责向注册中心发起注册工作同时维护服务与注册中心的心跳当服务不可用时Registrar 发起销毁工作。 
第三方注册的缺点 Registrar 必须是一个高可用的系统否则注册工作无法进行。 
服务发现有两种形式客户端发现 和 第三方发现 
1客户端发现 客户端负责查询可用服务地址也负责负载均衡的实现。这种方式是最为直接也最为方便的一种方式但它的缺点在于多语言时需要重复编写相同逻辑。 
2服务端发现 服务端需要额外添加Router服务服务请求会先发送到Router然后Router负责查询服务与负载均衡这种方式的缺点在于必须保证Router的高可用。 2、API网关 
API Gateway 是一个服务器也可以说是进入系统的唯一通道API Gateway内部封装了一个系统的架构并提供API给客户端它能过实现的功能也非常多例如授权、监控、负载均衡、缓存、请求分片和管理、静态响应处理等。 
API Gateway的作用主要是负责请求转发、合成和协议转换所有来自客户端的请求都必须经过Gateway然后路由到对应的微服务上它可以调用多个微服务来处理一个请求以及聚合多个服务的结果也可以在web协议与内部使用的非web友好型协议进行转换例如HTTP协议、WebSocket协议。 
1请求转发 服务转发主要是对客户端发起的安装微服务的请求负载到不同的服务上。 2响应合并 将业务上需要多个接口共同作用的工作统合并成一次调用对外统一提供服务。 3协议转换 重点是支持SOAP、JMS、Rest间的协议转换 4数据转换 重点是支持XML和JSON之间的格式转换 5安全认证 
基于token的客户端访问控制和安全策略传输数据和报文加密到服务端解密需要在客户端有独立的SDK代理包基于HTTPS的传输加密客户端和服务端的数字证书支持基于OAuth2.0的服务安全认证授权码、客户端、密码模式等 3、配置中心 
配置中心是作用于系统的参数配置它需要满足高效获取实时感知分布式访问的条件。 
例如Zookeeper配置中心采用的是数据加载到内存实现高效获取通过 节点监听机制 实现实时感知 4、事件调度 
事件调度是为了解决高并发环境下快速反馈机制的实现。 
事件调度通过消息队列来解决快速反馈问题常用的消息队列有kafka只在乎高并发不在乎性能activemq、rabbitmq等等… 5、服务追踪 
服务跟踪是随着微服务数量的增长需要跟踪请求在微服务之间的流转情况而采取策略。 
例如 Spring Cloud Sleuth就是一种服务追踪组件它在日志中引入唯一ID确保微服务调用之间的唯一性这样就能跟踪请求在服务间的流转情况。 
1实现请求跟踪 为了实现请求跟踪当请求发送到分布式系统的入口端点时只需要服务跟踪框架为其创建一个唯一标识同时在分布式系统流转时维持这个标识直到完成请求这个唯一标识就是Trace ID通过Trace ID的记录就能将请求过程日志关联起来。 
2统计各处理单元的时间延迟 当请求达到各个服务组件时或者处理逻辑到达某个状态时通过唯一标识来记录它的开始、具体过程以及结束这个标识就是Span ID对于每个Span都有开始和结束两个节点通过记录span的开始和结束时间戳来统计出该Span的时间延迟它还能存储其它数据例如事件名称请求信息等。 6、服务熔断Hystrix 
服务熔断是为了防止基础微服务因某个服务异常而产生的联级故障进而造成系统崩溃的情况这种现象叫做服务雪崩效应。 
1熔断器 
当发生服务雪崩时就可以用到熔断器熔断器的原理是在一段时间内监听到许多类似的错误出现会强迫其以后的多个调用快速失效不再访问远程服务器从而防止应用程序不断尝试执行可能会失败的操作使得应用程序继续执行而不用等待修正错误或浪费CPU去等待长时间的超时产生。 
2断路器 
断路器是一种熔断器的实现当 Hystrix Command 请求后服务失败数量超过一定比例默认一半断路器就切换到 Open状态这时断路器会直接拦截所有请求让请求以错误的状态返回给用户一段时间后默认保持5秒自动切换到 Half-Open 状态这时会判断下一次请求的返回情况若请求成功则恢复到 Closed 状态否则重开 Open 状态。 7、API管理 
有一种工具叫 Swagger API 管理工具