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

常州网站快速排名优化贸易公司取什么名字

常州网站快速排名优化,贸易公司取什么名字,百度店铺,dw怎样建设网站一、ServiceMesh概念 背景 随着业务的发展#xff0c;传统单体应用的问题越来越严重#xff1a; 单体应用代码库庞大#xff0c;不易于理解和修改持续部署困难#xff0c;由于单体应用各组件间依赖性强#xff0c;只要其中任何一个组件发生更改#xff0c;将重新部署整…一、ServiceMesh概念 背景 随着业务的发展传统单体应用的问题越来越严重 单体应用代码库庞大不易于理解和修改持续部署困难由于单体应用各组件间依赖性强只要其中任何一个组件发生更改将重新部署整个应用而频繁的部署将增加服务宕机的风险因此频繁地进行部署几乎不可能扩展应用困难单体应用只能从一个维度进行扩展即很容易通过增加实例副本提供处理能力。另一方面单体应用各个组件对资源的使用情况需求不同一些是CPU密集型另一些是内存密集型但是不能独立地扩展单个组件阻碍快速开发随着公司业务的发展单体服务框架变得更加庞大更多的部门将会参与系统的开发但是各个部门又不能独立开发、维护相应的模块即使其中一个部门完成相应的更新仍然不能上线因此需要花费更多时间在部门间协调和统一。还有需要增加新的功能时单体应用最初的设计限制开发人员灵活选择开发语言、工具等导致新功能上线慢迫使开发人员长期专注于一种技术栈由于单体应用本身设计的原因后期引入新的技术栈需要遵循最开始的设计因此存在非常大的局限性、挑战性否则可能需要重写整个框架。 针对上面问题的出现微服务架构应运而生将单体应用拆分后由多个微服务构建的复杂系统系统中各个微服务之间彼此通过网络进行通信很好地解决了上述问题。而微服务中最大的挑战便是如何以标准化的方式管理微服务以及如何保证复杂网络环境中微服务间的可靠通信确保整个系统的最大可用性提供尽可能高的SLA。 当单体应用拆分为微服务后新的通信模型如下 微服务构 每个微服务由两部分构成 业务逻辑定义如何处理应用业务逻辑网络功能网络功能部分主要负责服务间的通信包括上述列出的构建分布式高可用的技术实现如超时、重试、服务发现、负载均衡等由于它基于下层网络协议栈实现因此被称作网络功能 此时相对于传统的单体应用网络功能部分可以通过一个中心化的组件来统一实现或者直接嵌入到业务逻辑中但是在微服务架构中服务的粒度变得更小为了实现它们之间的可靠通信开发人员为每个微服务实现网络功能比实现业务逻辑花费的时间和精力可能更多。 传统微服务架构 从软件设计的角度存在以下缺点 耦合性很高每个应用都需封装负载均衡、服务发现、安全通信以及分布式追踪等功能灵活性差复用率低下不同的应用需要重复实现管理复杂当其中一项如负载均衡逻辑发生变化需要更新所有服务可运维性低所有组件均封装在业务逻辑代码中不能作为一个独立运维对象对开发人员能力要求很高 随着不断发展考虑将应用处理服务发现、负载均衡、分布式追踪、安全通信等设计为一个公用库从而使得应用与这些功能具有更低的耦合性而且更加灵活、提高利用率及运维性。 微服务新架构 而这种方案也存在不足之处 如果将类似Finagle、 Proxygen或者Zipkin的库集成现有的系统中仍然需要花费大量的时间、人力将其集成到现有生态圈甚至需要调整现有应用的代码。缺乏多语言支持由于这些库只针对某种语言或者少数几种语言这使得在一个多技术栈的公司中需要限制开发语言和工具的选择虽然公共库作为一个独立的整体但在管理复杂性和运维性这些方面仍然有更大的提升空间公共库并不能完全使得开发人员只关注业务代码逻辑仍然需要对公共库有很深的认识 针对上面面临的问题发现了更好的解决方案OSI定义了开放系统的层次结构、层次之间的相互关系以及各层所包括的可能的任务上层并不需要对底层具体功能有详细的了解只需按照定义的准则协调工作即可。因此我们也可参照OSI七层模型将公用库设计为位于网络栈和应用业务逻辑之间的独立层即透明网络代理新的独立层完全从业务逻辑中抽离作为独立的运行单元与业务不再直接紧密关联。通过在独立层的透明网络代理上实现负载均衡、服务发现、熔断、运行时动态路由等功能该透明代理在业界有一个非常新颖时髦的名字Service Mesh。率先使用这个Buzzword的产品恐怕非Buoyant的Linkerdhttps://linkerd.io/莫属了随后Lyft也发布了他们的Service Mesh实现Envoyhttps://github.com/envoyproxy/envoy之后Istiohttps://istio.io/也迎面赶上成为Service Mesh领域非常热门的一个项目。 Service Mesh架构 在这种方案中Service Mesh作为独立运行层它很好地解决了上述所面临的挑战使应用具备处理网络弹性逻辑和提供可靠交互请求的能力。它使得耦合性更低、灵活性更强跟现有环境的集成时间和人力代价更小也提供多语言支持、多协议支持运维和管理成本更低。最主要的是开发人员只需关注业务代码逻辑而不需要关注业务代码以外的其他功能即Service Mesh对开发人员是透明的。 什么是Service Mesh Service Mesh的发起人、先驱者Buoyant公司的CEO William Morgan他对Service Mesh的定义如下 专用基础设施层独立的运行单元包括数据平面和控制平面数据平面负责交付应用请求控制平面控制服务如何通信轻量级透明代理实现形式为轻量级网络代理处理服务间通信主要目的是实现复杂网络中服务间通信可靠地交付服务请求提供网络弹性机制确保可靠交付请求与服务部署一起但服务感知不到尽管跟应用部署在一起但对应用是透明的 Service Mesh架构如下告诉Service Mesh控制层和数据层在微服务架构中所处位置、服务间通信模式以及提供的各种功能 Service Mesh控制层和数据层图 Service Mesh是一种用于处理微服务架构中服务间通信的基础设施层。它的主要功能是提供可靠的网络通信并在服务间通信中实现负载均衡、流量管理、安全认证、监控和故障处理等功能。Service Mesh通过在应用程序中部署轻量级代理通常称为Sidecar来实现这些功能这些代理负责拦截和处理服务之间的所有网络流量。 Service Mesh的核心组件 Service Mesh的架构通常包括以下几个核心组件 数据平面Data Plane Sidecar Proxy每个服务实例旁边运行的代理负责拦截出入的网络流量并执行流量管理、安全策略等操作。常见的Sidecar Proxy包括Envoy、Linkerd-proxy等。 Service Proxy在某些实现中代理可能直接嵌入到服务实例中作为服务的一部分运行。 控制平面Control Plane 配置管理提供统一的配置管理接口用于下发和管理数据平面的配置。常见的控制平面包括Istio的Pilot、Linkerd的Controller等。 服务发现管理服务注册和发现确保代理能够正确路由流量。 策略管理用于定义和下发流量管理、安全认证、访问控制等策略。 可观察性组件负责收集和聚合服务网格中的监控数据、日志和追踪信息提供可视化和报警功能。 Service Mesh的工作原理 Service Mesh通过在每个服务实例旁边部署Sidecar Proxy实现了对服务间通信的透明代理。这些代理负责拦截出入的所有流量并根据控制平面下发的配置和策略执行相应的操作。具体工作原理如下 服务发现 当一个服务实例启动时它会向服务注册中心注册自己的信息。控制平面负责管理这些服务实例信息并将更新的服务列表分发给所有Sidecar Proxy。 流量管理 当一个服务需要与另一个服务通信时流量首先经过本地的Sidecar Proxy。代理根据配置的路由规则和负载均衡策略将流量转发到目标服务实例。 控制平面可以动态更新这些路由规则实现蓝绿部署、金丝雀发布等高级流量管理功能。 安全认证 Service Mesh可以在服务间通信中引入双向TLS加密确保数据在传输过程中不被篡改和窃听。控制平面负责管理和分发证书Sidecar Proxy在通信过程中进行加密和解密操作。 通过引入身份认证和访问控制策略可以细粒度地控制哪些服务可以访问其他服务。 可观察性 Service Mesh中的代理会收集每个请求的日志、监控数据和追踪信息并将这些数据发送到可观察性组件进行处理和存储。 运维人员可以通过控制平面提供的接口和仪表盘实时监控服务间的流量情况、延迟、错误率等指标并进行故障排查和性能优化。 常见Service Mesh框架介绍 目前市场上有多种Service Mesh框架每种框架在功能、性能和易用性上都有不同的特点。以下是几个常见的Service Mesh框架 Istio 概述Istio是目前最流行的Service Mesh框架之一具有丰富的功能和广泛的社区支持。它采用Envoy作为数据平面代理并提供了强大的控制平面组件Pilot、Mixer、Citadel等。 特点支持复杂的流量管理、强大的安全特性和丰富的可观察性功能。 应用场景适用于需要复杂流量控制和高级安全特性的企业级应用。 架构图 Linkerd 概述Linkerd是一个轻量级的Service Mesh框架专注于简单易用和性能优化。它最初由Buoyant开发使用Linkerd2时采用了Rust编写的轻量级代理Linkerd2-proxy。 特点安装和配置简单性能高效适合资源受限的环境。 应用场景适用于需要快速部署和高性能的微服务架构。 Consul Connect 概述Consul Connect是HashiCorp的Service Mesh解决方案集成了Consul的服务发现和健康检查功能。它使用Envoy作为数据平面代理并提供了内置的服务网格功能。 特点与Consul的无缝集成提供了强大的服务发现和健康检查功能。 应用场景适用于已经使用Consul进行服务发现的环境。 二、ServiceMesh核心技术 服务发现与负载均衡 服务发现 服务发现是Service Mesh的基本功能之一用于识别和跟踪微服务实例的地址和状态。服务发现机制主要包括以下两种方式 客户端服务发现 原理客户端负责向服务注册中心查询目标服务实例的地址并直接与这些实例进行通信。 优点实现简单适合小规模部署。 缺点客户端需要处理服务注册和实例健康检查逻辑增加了复杂性。 服务端服务发现 原理服务端代理如Sidecar Proxy负责与服务注册中心通信客户端只需将请求发送到代理代理根据查询到的服务实例信息进行转发。 优点客户端无需关心服务发现的细节简化了应用程序逻辑。 缺点依赖服务端代理的高可用性和性能。 常见的服务发现工具包括Consul、Eureka和Kubernetes的内置服务发现机制。Service Mesh通常采用服务端服务发现方式通过控制平面与这些工具集成动态更新Sidecar Proxy的路由表。 负载均衡 负载均衡是优化服务间流量分配、提高系统整体性能的重要机制。Service Mesh提供了多种负载均衡策略包括 轮询Round Robin 原理按照固定顺序轮流将请求分配给可用的服务实例。 优点实现简单分配均匀。 缺点不考虑服务实例的性能和负载情况。 随机Random 原理随机选择一个可用的服务实例处理请求。 优点实现简单避免热点问题。 缺点同样不考虑服务实例的性能和负载。 最少连接Least Connections 原理将请求分配给当前连接数最少的服务实例。 优点能够较均匀地分配负载。 缺点需要实时监控和更新连接数增加系统开销。 加权轮询Weighted Round Robin 原理根据服务实例的权重分配请求权重越高分配的请求越多。 优点可以根据服务实例的性能和资源分配请求。 缺点权重设置和调整较复杂。 哈希一致性Consistent Hashing 原理基于请求的特定属性如客户端IP计算哈希值并将请求分配给对应的服务实例。 优点保证同一属性的请求总是分配到同一实例适合缓存场景。 缺点对负载均衡不均匀的情况可能不适用。 断路器与熔断机制 断路器Circuit Breaker和熔断机制Fallback Mechanism是保障系统稳定性和容错能力的关键技术。 断路器 断路器用于检测和应对服务调用失败防止连锁故障导致系统崩溃。它的工作机制如下 关闭状态Closed 行为正常转发请求。 监控统计请求的成功和失败率。 打开状态Open 行为直接拒绝请求返回错误响应。 触发当失败率超过预设阈值断路器进入打开状态。 半开状态Half-Open 行为允许少量请求通过监控其结果。 恢复如果这些请求成功率高断路器恢复到关闭状态否则重新进入打开状态。 通过断路器机制可以在服务故障时快速响应避免进一步的资源浪费和系统崩溃。 熔断机制 熔断机制是在断路器触发时提供备用路径或降级服务以保证系统的基本功能。常见的熔断策略包括 静态熔断 原理在配置文件中预定义熔断策略当断路器触发时执行。 优点实现简单适用于固定的应急处理。 动态熔断 原理根据实时监控数据动态调整熔断策略。 优点更灵活能够根据实际情况进行调整。 缺点实现复杂需要高质量的监控数据和分析能力。 数据平面与控制平面 数据平面 数据平面负责处理服务间的实际网络流量执行负载均衡、路由、断路器、熔断等操作。主要组件包括 Sidecar Proxy如Envoy、Linkerd-proxy负责拦截和处理服务间的流量。 Ingress/Egress Gateway用于处理外部流量的入口和出口控制服务与外部系统之间的通信。 数据平面的关键特性 低延迟和高吞吐量确保流量处理的效率和性能。 可编程性支持动态配置和策略调整。 安全性支持TLS加密、身份认证和访问控制。 控制平面 控制平面负责管理和配置数据平面提供统一的接口和管理功能。主要组件包括 配置管理负责下发和管理数据平面的配置如Istio的Pilot。 策略管理定义和下发流量管理、安全认证、访问控制等策略。 服务发现管理服务注册和发现如Consul、Eureka。 可观察性组件收集和聚合监控数据、日志和追踪信息如Prometheus、Jaeger。 控制平面的关键特性 集中管理提供统一的配置和管理接口简化运维操作。 动态调整支持实时配置和策略调整适应快速变化的业务需求。 高可用性和扩展性确保控制平面自身的稳定性和可扩展性避免成为单点故障。
http://www.w-s-a.com/news/171593/

相关文章:

  • 门窗 东莞网站建设wordpress外链论坛
  • 安徽省建设部网站官网还能用的wap网站
  • 企业网站设计开发网站关键词优化seo
  • 郑州高档网站建设台州网站建设推广
  • 广东省建设信息港网站WordPress手机缩略图设置
  • 优秀网站主题平顶山专业做网站公司
  • wordpress返回顶部插件wordpress站群seo
  • 企业网站建设报价表百度竞价托管哪家好
  • 织梦网站首页打开慢淄博网站推广那家好
  • 苏州高端网站建设kgwl互动网站建设的主页
  • 宿州网站建设哪家公司好个人网站制作方法
  • 网站正能量晚上在线观看视频站长之家关键词挖掘工具
  • 建设网站怎么判断是电脑还是手机仿租号网站源码网站开发
  • seo百度网站排名软件重庆巫山网站设计公司
  • 搭建视频播放网站网站排名诊断
  • 网站域名注册网站centos做网站服务器
  • 网站服务器共享的 vpsh5页面制作软件电脑版
  • 免费手机网站申请上海网站建设设计公司哪家好
  • 站长工具大全企业网上书店网站建设设计
  • 做网站的专业公司公司网站是做的谷歌的
  • 做网站前期工作wordpress图片并排
  • 免费注册网站哪个好wordpress评论修改
  • 合肥模板网站建设软件赤峰公司网站建设
  • 毕业设计都是做网站吗深圳网站制作企业邮箱
  • 网站排名 优帮云小规模公司简介怎么写
  • 那个做头像的网站好选择手机网站建设
  • 设计一个网站花多少时间做视频网站适合用什么服务器
  • asp网站开发环境订单系统单页面网站怎么做
  • 山东网站建设都有那些企业推广策略
  • 网站开发文档是什么概念衣服销售网站建设规划书范文