当前位置: 首页 > news >正文

怎么样在百度做网站苏州知名网站制作公司

怎么样在百度做网站,苏州知名网站制作公司,设计图片手绘图片,淘宝网站开发的意义微服务网格Istio 介绍服务注册和发现服务度量灰度发布 Istio核心特性断路器互动1#xff1a;举个生活中的例子解释断路器互动2#xff1a;服务降级#xff08;提高用户体验效果#xff09; 超时重试多路由规则 Istio架构istio组件详解PilotEnvoyCitadelGalleyIngressgatewa… 微服务网格Istio 介绍服务注册和发现服务度量灰度发布 Istio核心特性断路器互动1举个生活中的例子解释断路器互动2服务降级提高用户体验效果 超时重试多路由规则 Istio架构istio组件详解PilotEnvoyCitadelGalleyIngressgatewaySidecar-injector其他组件 介绍 An open platform to connect, secure, control and observe services. 就是”连接、安全加固、控制和观察服务的开放平台“。开放平台就是指它本身是开源的服务对应的是微服务也可以粗略地理解为单个应用。 1、连接Connect智能控制服务之间的调用流量能够实现灰度升级、AB 测试和蓝绿部署等功能2、安全加固Secure自动为服务之间的调用提供认证、授权和加密。3、控制Control应用用户定义的 policy保证资源在消费者中公平分配。4、观察Observe查看服务运行期间的各种数据比如日志、监控和 tracing了解服务的运行情况。 Istio是ServiceMesh的产品化落地可以通过在现有的服务器新增部署边车代理(sidecar proxy)应用程序不用改代码或者只需要改很少的代码就能实现如下基础功能 1、帮助微服务之间建立连接帮助研发团队更好的管理与监控微服务并使得系统架构更加安全2、帮助微服务分层解耦解耦后的proxy层能够更加专注于提供基础架构能力例如 1服务发现(discovery); 2负载均衡(load balancing); 把前端的请求分发到后台多个服务器 3故障恢复(failure recovery); 出现故障具备自恢复的能力 4服务度量(metrics); 5服务监控(monitoring); 6A/B测试(A/B testing); 7灰度发布(canary rollouts); 8限流限速(rate limiting); 9访问控制(access control); 10身份认证(end-to-end authentication)。 服务注册和发现 RPCRPCRemote Procedure Call远程过程调用简单的理解是一个节点请求另一个节点提供的服务 服务度量 对于 HTTPHTTP/2 和 GRPC 流量Istio 生成以下指标 1、请求计数istio_requests_total这是一个用于累加每个由 Istio 代理所处理请求的 COUNTER 指标。2、请求持续时间istio_request_duration_seconds这是一个用于测量请求的持续时间的 DISTRIBUTION 指标。3、请求大小istio_request_bytes这是一个用于测量 HTTP 请求 body 大小的 DISTRIBUTION 指标。4、响应大小istio_response_bytes这是一个用于测量 HTTP 响应 body 大小的 DISTRIBUTION 指标。 对于 TCP 流量Istio 生成以下指标 1、Tcp 发送字节数istio_tcp_sent_bytes_total这是一个用于测量在 TCP 连接下响应期间发送的总字节数的 COUNTER 指标。2、Tcp 接收字节数istio_tcp_received_bytes_total这是一个用于测量在 TCP 连接下请求期间接收的总字节数的COUNTER指标。3、Tcp 打开连接数istio_tcp_connections_opened_total这是一个用于累加每个打开连接的 COUNTER 指标。4、Tcp 关闭连接数 (istio_tcp_connections_closed_total) : 这是一个用于累加每个关闭连接的 COUNTER 指标。 灰度发布 在灰度发布开始后先启动一个新版本应用但是并不直接将流量切过来而是测试人员对新版本进行线上测试启动的这个新版本应用就是我们的金丝雀。如果没有问题那么可以将少量的用户流量导入到新版本上然后再对新版本做运行状态观察收集各种运行时数据如果此时对新旧版本做各种数据对比就是所谓的A/B测试。当确认新版本运行良好后再逐步将更多的流量导入到新版本上在此期间还可以不断地调整新旧两个版本的运行的服务器副本数量以使得新版本能够承受越来越大的流量压力。直到将100%的流量都切换到新版本上最后关闭剩下的老版本服务完成灰度发布。如果在灰度发布过程中灰度期发现了新版本有问题就应该立即将流量切回老版本上这样就会将负面影响控制在最小范围内。 Istio核心特性 1、流控(traffic management) 断路器(circuit breakers)、超时、重试、多路由规则、AB测试、灰度发布、按照百分比分配流量等。2、安全(security) 加密、身份认证、服务到服务的权限控制、K8S里容器到容器的权限控制等。3、可观察(observability)追踪、监控、数据收集通过控制后台全面了解上行下行流量服务链路情况服务运行情况系统性能情况国内微服务架构体系这一块做得比较缺乏。4、平台无关系(platform support) K8s物理机自己的虚机都没问题。5、集成与定制(integration and customization) 可定制化扩展功能。 断路器 互动1举个生活中的例子解释断路器 当电路发生故障或异常时伴随着电流不断升高并且升高的电流有可能能损坏电路中的某些重要器件也有可能烧毁电路甚至造成火灾。若电路中正确地安置了保险丝那么保险丝就会在电流异常升高到一定的高度和热度的时候自身熔断切断电流从而起到保护电路安全运行的作用。 断路器也称为服务熔断在多个服务调用的时候服务A依赖服务B服务B依赖服务C如果服务C响应时间过长或者不可用则会让服务B占用太多系统资源而服务A也依赖服B同时也在占用大量的系统资源造成系统雪崩的情况出现。 Istio 断路器通过网格中的边车对流量进行拦截判断处理避免了在代码中侵入控制逻辑非常方便的就实服务熔断的能力。 在微服务架构中在高并发情况下如果请求数量达到一定极限可以自己设置阈值超出了设置的阈值断路器会自动开启服务保护功能然后通过服务降级的方式返回一个友好的提示给客户端。假设当10个请求中有10%失败时熔断器就会打开此时再调用此服务将会直接返回失败不再调远程服务。直到10s钟之后重新检测该触发条件判断是否把熔断器关闭或者继续打开。 互动2服务降级提高用户体验效果 比如电商平台在针对618、双11的时候会有一些秒杀场景秒杀的时候请求量大可能会返回报错标志“当前请求人数多请稍后重试”等如果使用服务降级无法提供服务的时候消费者会调用降级的操作返回服务不可用等信息或者返回提前准备好的静态页面写好的信息。 超时 什么时候需要用到超时 在生产环境中经常会碰到由于调用方等待下游的响应过长堆积大量的请求阻塞了自身服务造成雪崩的情况通过超时处理来避免由于无限期等待造成的故障进而增强服务的可用性。 通过例子来理解 nginx 服务设置了超时时间为3秒如果超出这个时间就不在等待返回超时错误httpd 服务设置了响应时间延迟5秒任何请求都需要等待5秒后才能返回client 通过访问 nginx 服务去反向代理 httpd 服务由于 httpd 服务需要5秒后才能返回但nginx 服务只等待3秒所以客户端会提示超时错误。 重试 istio 重试机制就是如果调用服务失败Envoy 代理尝试连接服务的最大次数。而默认情况下Envoy 代理在失败后并不会尝试重新连接服务。 客户端调用 nginxnginx 将请求转发给 tomcat。tomcat 通过故障注入而中止对外服务nginx 设置如果访问 tomcat 失败则会重试 3 次。 多路由规则 1、HTTP重定向HTTPRedirect 2、HTTP重写HTTPRewrite 3、HTTP重试HTTPRetry 4、HTTP故障注入HTTPFaultInjection 5、HTTP跨域资源共享CorsPolicy Istio架构 istio服务网格从逻辑上分为数据平面和控制平面。 1、数据平面由一组以Sidecar方式部署的智能代理(EnvoyPolit-agent)组成。这些代理承载并控制微服务之间的所有网络通信管理入口和出口流量类似于一线员工。 Sidecar 一般和业务容器绑定在一起在Kubernets中以自动注入的方式注入到到业务pod中来劫持业务应用容器的流量并接受控制面组件的控制同时会向控制面输出日志、跟踪及监控数据。 Envoy 和 pilot-agent 打在同一个镜像中即sidecar Proxy。 2、控制平面负责管理和配置代理来路由流量。 istio1.5中使用了一个全新的部署模式重建了控制平面将原有的多个组件整合为一个单体结构istiod这个组件是控制平面的核心管理Istio的所有功能主要包括Pilot、Mixer、Citadel等服务组件。 istiod是新版本中最大的变化以一个单体组件替代了原有的架构降低了复杂度和维护难度但原有的多组件并不是被完全移除而是在重构后以模块的形式整合在一起组成了istiod。 结合下图我们来理解Istio的各组件的功能及相互之间的协作方式。 自动注入在创建应用程序时自动注入 Sidecar代理Envoy程序。在 Kubernetes中创建 Pod时Kube-apiserver调用控制面组件的 Sidecar-Injector服务自动修改应用程序的描述信息并注入Sidecar。在真正创建Pod时在创建业务容器的Pod中同时创建Sidecar容器。 流量拦截在Pod初始化时设置iptables 规则基于配置的iptables规则拦截业务容器的Inbound流量和Outbound流量到Sidecar上。而应用程序感知不到Sidecar的存在还以原本的方式 进行互相访问。上图中流出frontend服务的流量会被 frontend服务侧的 Envoy拦截而当流量到达forecast容器时Inbound流量被forecast 服务侧的Envoy拦截。 服务发现服务发起方的 Envoy 调用控制面组件 Pilot 的服务发现接口获取目标服务的实例列表。上图中frontend 服务侧的 Envoy 通过 Pilot 的服务发现接口得到forecast服务各个实例的地址。 负载均衡服务发起方的Envoy根据配置的负载均衡策略选择服务实例并连接对应的实例地址。上图中数据面的各个Envoy从Pilot中获取forecast服务的负载均衡配置并执行负载均衡动作。 流量治理Envoy 从 Pilot 中获取配置的流量规则在拦截到 Inbound 流量和Outbound 流量时执行治理逻辑。上图中 frontend 服务侧的 Envoy 从 Pilot 中获取流量治理规则并根据该流量治理规则将不同特征的流量分发到forecast服务的v1或v2版本。 访问安全在服务间访问时通过双方的Envoy进行双向认证和通道加密并基于服务的身份进行授权管理。上图中Pilot下发安全相关配置在frontend服务和forecast服务的Envoy上自动加载证书和密钥来实现双向认证其中的证书和密钥由另一个管理面组件 Citadel维护。 服务监测在服务间通信时通信双方的Envoy都会连接管理面组件Mixer上报访问数据并通过Mixer将数据转发给对应的监控后端。上图中frontend服务对forecast服务的访问监控指标、日志和调用链都可以通过这种方式收集到对应的监控后端。 策略执行在进行服务访问时通过Mixer连接后端服务来控制服务间的访问判断对访问是放行还是拒绝。上图中Mixer 后端可以对接一个限流服务对从frontend服务到forecast服务的访问进行速率控制等操作。 外部访问在网格的入口处有一个Envoy扮演入口网关的角 色。上图中外部服务通过Gateway访问入口服务 frontend对 frontend服务的负载均衡和一些流量治理策略都在这个Gateway上执行。 问题1为什么代理会叫sidecar proxy 看了上图就容易懂了sidecar和proxy相生相伴就像摩托车(motor)与旁边的车厢(sidecar)。未来sidecar和proxy就指微服务进程解耦成两个进程之后提供基础能力的那个代理进程。 istio组件详解 Istio服务组件有很多从上面的流程中基本能看出每个组件如何协作的下面具体讲解每个组件的具体用途和功能。 Pilot Pilot 是 Istio 的主要控制组件下发指令控制客户端。在整个系统中Pilot 完成以下任务 1、从 Kubernetes 或者其他平台的注册中心获取服务信息完成服务发现过程。2、读取 Istio 的各项控制配置在进行转换之后将其发给数据面进行实施。 Pilot 将配置内容下发给数据面的 EnvoyEnvoy 根据 Pilot 指令将路由、服务、监听、集群等定义信息转换为本地配置完成控制行为的落地。1Pilot为Envoy提供服务发现2提供流量管理功能例如A/B 测试、金丝雀发布等以及弹性功能超时、重试、熔断器等3生成envoy配置4启动envoy5监控并管理envoy的运行状况比如envoy出错时pilot-agent负责重启envoy或者envoy配置变更后reload envoy Envoy Envoy是用 C 开发的高性能代理用于协调服务网格中所有服务的入站和出站流量。 Envoy有许多强大的功能例如: 动态服务发现负载均衡TLS终端HTTP/2与gRPC代理断路器健康检查流量拆分灰度发布故障注入 Istio中Envoy与服务什么关系 为了便于理解Istio中Envoy与服务的关系下图为Envoy的拓扑图如图所示 Envoy和Service A同属于一个Pod共享网络和命名空间Envoy代理进出Pod A的流量并将流量按照外部请求的规则作用于Service A中。 Pilot-agent是什么 Envoy不直接跟k8s交互通过 pilot-agent管理的Pilot-agent进程根据K8S APIserver中的配置信息生成Envoy的配置文件并负责启动Envoy进程。Envoy由Pilot-agent进程启动启动后Envoy读取Pilot-agent为它生成的配置文件然后根据该文件的配置获取到Pilot的地址通过数据面从pilot拉取动态配置信息包括路由route监听器listener服务集群cluster和服务端点endpoint。 Citadel 负责处理系统上不同服务之间的TLS通信。 Citadel充当证书颁发机构(CA)并生成证书以允许在数据平面中进行安全的mTLS通信。 Citadel是 Istio的核心安全组件提供了自动生 成、分发、轮换与撤销密钥和证书功能。Citadel一直监听 Kube- apiserver以 Secret的形式为每个服务都生成证书密钥并在Pod创建时挂载到Pod上代理容器使用这些文件来做服务身份认证进而代 理两端服务实现双向TLS认证、通道加密、访问授权等安全功能。如图 所示frontend 服 务对 forecast 服务的访问用到了HTTP方式通过配置即可对服务增加认证功能双方的Envoy会建立双向认证的TLS通道从而在服务间启用双向认证的HTTPS。 Galley Galley是istio的配置验证、提取、处理和分发的组件。Galley是提供配置管理的服务。实现原理是通过k8s提供的ValidatingWebhook对配置进行验证。 Galley使Istio可以与Kubernetes之外的其他环境一起工作因为它可以将不同的配置数据转换为Istio可以理解的通用格式。 Ingressgateway Ingressgateway 就是入口处的 Gateway从网格外访问网格内的服务就是通过这个Gateway进行的。istio-ingressgateway是一个Loadbalancer类型的Service不同于其他服务组件只有一两个端 口istio-ingressgateway 开放了一组端口这些就是网格内服务的外部访问端口。如下图所示网格入口网关istio-ingressgateway的负载和网格内的Sidecar是同样的执行流程也和网格内的其他 Sidecar一样从 Pilot处接收流量规则并执行。 Sidecar-injector Sidecar-injector是负责自动注入的组件只要开启了自动注 入在Pod创建时就会自动调用istio-sidecar-injector向Pod中注入Sidecar 容器。 在 Kubernetes环境下根据自动注入配置Kube-apiserver在拦截到 Pod创建的请求时会调用自动注入服务 istio-sidecar-injector 生成 Sidecar 容器的描述并将其插入原 Pod的定义中这样在创建的 Pod 内除了包括业务容器还包括 Sidecar容器这个注入过程对用户透明。 其他组件 除了以“istio”为前缀的Istio自有组件在集群中一般还安装Jaeger-agent、Jaeger-collector、Jaeger-query、Kiali、Prometheus、Grafana、 Tracing、Zipkin等组件这些组件提供了Istio的调用链、监控等功能可以选择安装来完成完整的服务监控管理功能。
http://www.lakalapos1.cn/news/19798/

相关文章:

  • 网站设计 中高端网站起名字大全
  • 教育加盟网站建设有招聘网站策划的吗
  • 网站怎么做扫码微信支付接口网络营销的基本职能
  • wordpress上帝模式宁德seo推广
  • 公司网站要怎么做网络引流怎么做啊?
  • 佛山网站优化建设wordpress右侧悬浮搜索菜单
  • 手机网站建站价格win8风格网站开发实例
  • 中国建设银行济南招聘信息网站广东省建设银行招聘网站
  • 乐山 网站建设特种设备作业人员证查询
  • 工信部网站备案查询验证码错误合肥做网站优化哪家好
  • 锋创科技园网站建设印刷行业网站建设
  • 完本小说做多的网站简述jsp网站架构
  • 免费做网站空间自己本地可以做网站服务器吗
  • 台州网站建设公司.福建省建设监理网官方网站
  • 河北省建设厅管网站亳州建设局网站
  • 青海省城乡和住房建设厅网站个人相册网站建设报告
  • 导航类网站模板2023传奇手游排行榜
  • 给别人做网站用做假酒验证网络营销方案的制定思路
  • 福永建网站网站建设开发的流程
  • 网站设计属于什么分类号成都网络关键词排名
  • 网站建设视频教程云盘wordpress表白墙模板
  • 网站购买后如何做wordpress变装博客
  • 交易网站备案中国软件这个公司怎么样
  • 韩国美食网站建设目的二级学院英语网站建设通知
  • 镇江市住房城乡建设局网站好的免费博客网站
  • 怎么制作网站视频教程外贸响应式网站建设
  • 网站说服力 营销...怎么用阿里云做网站
  • 网站建设合理性设计摄影作品
  • 天津建设银行公积金缴费官方网站文职人员招聘2023官网
  • 郑州网站建设国奥大厦手机网站开发位置定位