基于网关服务治理的研究与实践(二)服务治理

简介: 接上篇,本篇原创系列是对服务治理的相关背景说明,主要介绍了服务治理相关概念、技术及演进历程。

2 服务治理

上一篇介绍了微服务架构相关内容,微服务架构虽然拥有诸多的优势,但也面临着诸多的困难和挑战,其中服务治理是一个永恒的难题,也是下一代微服务架构所要解决的问题。

 

2.1 服务治理是一门技术架构领域

服务治理是一门技术架构领域,它与技术架构本身息息相关,在架构演进的过程中,始终保持着对服务治理的要求,如2-1图架构演进:

image.png

图2-1架构演进

单体架构:通俗的讲,单体架构就是一个应用程中包含了一个系统所有的功能,其特点有功能集中、代码和数据中心化、一个发布包、部署后运行在同一进程中;而其缺点也非常严重,如耦合性高、技术债务、扩展能力有限、维护困难、无法快速创新。

 

垂直架构:典型的是MVC模型架构,也称分层架构,它解决了界面层、控制逻辑层和业务层、前后端分层问题,但其仍是一个应用工程,即全部功能集成在一个工程中,对于大型项目不易开发、扩展及维护。系统性能扩展只能通过扩展集群结点,成本高、有瓶颈。

 

分布式服务架构(RPCRPC解决了模块之间跨进程通信的问题,该架构主要用于屏蔽底层通信框架和序列化框架的实现。

 

面向服务架构(SOA随着垂直应用越来越多,应用与应用之间交互不可避免,将核心业务抽取出来,把业务逻辑抽象成可复用、可组装的独立服务,逐渐形成稳定的服务中心,从而实现业务逻辑的快速复用,使前端应用能更快速的响应多变的市场需求。可以看出SOA架构具有分布式、可重用、扩展灵活、松耦合特点,其优点包括抽取公共的功能作为服务,可提高开发效率;对不同的服务进行集群化部署解决系统压力;基于服务总线ESB模式减少系统耦合。缺点是过度依赖服务总线,服务提供方与调用方有一定的耦合。


微服务架构:在上节中重点介绍了微服务架构模式,此处不在介绍。


2.2 为什么需要服务治理

从架构演进的角度上看,我认为架构主要围绕“分”、“管”、“控”三个方面进行相关设计,也是一直以来我们所面对的问题和挑战。以下对这三个方面进行简述:

分:服务设计与拆分;以微服务架构为例,如何对微服务拆分和设计非常关键,拆分的方面包括:业务拆分、服务拆分、数据拆分、代码拆分;拆分粒度大小如何定夺,拆分的原则如何定义等等。

 

管:多服务运维管理;随着业务的快速发展,微服务拆分,服务的规模也越来越大,此时带来的运维成本也越来越高,单服务流量激增时扩容,调用链条变长,调用关系更加复杂,故障点增多等。

 

控:不稳定的网络环境;分布式系统的复杂性,也影响了服务的稳定性,系统运行过程中难免存在网络超时的情况,可能会造成网络请求积压,继而导致整个服务线崩塌。

 

2.3 什么是服务治理

服务治理,按照Anne Thomas Manes的定义是:企业为了确保事情顺利完成而实施的过程。从服务治理的广义层面,服务治理包括四个方面:业务、组织、系统、技术,即业务决定组织,组织的价值是为业务赋能;组织决定了系统的目标,系统是对业务和组织效能的重要体现;技术是实现业务系统的手段,决定了系统的成败。如图2-2服务治理的四象限。

 

image.png

图2-2 服务治理四象限

2.4 如何进行服务治理

1)服务调用:管理由谁来调用服务、怎样调用服务。

2)流量管理:根据流量的特征,控制服务分发;

3)服务生命周期管控:确保升级服务不会影响目前的服务;

4)服务规范:所有服务都要遵从一定的规则,确保服务的一致性;

5)服务监控:监控服务的性能和可用性,当问题出现的时能马上采取应对措施;

 

2.5 服务治理达到什么样的目的

1)实现服务高度自治和可运营;

2)执行和控制分离,

3)虚拟化、标准化、产品化,定义规范。


2.6 服务治理的实现

目前主流的服务治理框架有Spring Cloud框架、Dubbo框架及Service Mesh框架,本系列文章以Spring Cloud框架为基础,从服务网关的角度研究与实现服务治理。

服务网关除了提供服务认证鉴权及安全过滤核心功能外,并能通过服务网关整合服务治理、服务编排,结合服务熔断机制优化系统。服务治理主要解决服务之间的依赖性,降低耦合性,隔离内部和外部服务,统一对外提供接口,禁止直接访问内部数据,增加系统安全性。服务治理的功能主要包括路由管理、路由转换、访问控制、黑白名单、API管理、流量限额、服务埋点、服务熔断等功能,通过服务治理为整个业务系统的统一入口提供可靠保护。

相关文章
|
2月前
|
运维 网络协议 安全
长连接网关技术专题(十):百度基于Go的千万级统一长连接服务架构实践
本文将介绍百度基于golang实现的统一长连接服务,从统一长连接功能实现和性能优化等角度,描述了其在设计、开发和维护过程中面临的问题和挑战,并重点介绍了解决相关问题和挑战的方案和实践经验。
147 1
|
2月前
|
敏捷开发 负载均衡 监控
探索微服务架构下的API网关设计与实践
【5月更文挑战第31天】本文将深入剖析微服务架构中的关键组件——API网关,探讨其设计理念、核心功能以及在实际项目中的应用。我们将从API网关的基本概念出发,逐步展开对其路由、负载均衡、认证授权、监控日志等方面的详细讨论,并结合实际案例,分析如何高效地实现和管理一个稳定的API网关。
|
2月前
|
缓存 监控 安全
微服务架构下的API网关设计与实践
【5月更文挑战第31天】本文深入探讨了在微服务架构中,API网关的核心作用与设计策略。通过分析网关的职责、选型标准及实现细节,文章为读者提供了一套完整的API网关解决方案。同时,结合具体案例,展示了如何在实际应用中有效部署和优化API网关,确保系统的高可用性和可扩展性。
|
14天前
|
监控 负载均衡 安全
微服务架构下的API网关设计实践
【6月更文挑战第15天】本文将深入探讨在构建现代软件系统时,如何有效地设计和实现一个API网关。我们将从API网关的核心作用出发,分析其在不同场景下的应用,并结合实际案例,展示如何通过API网关提升系统的可扩展性、安全性和性能。文章旨在为后端开发人员提供一套清晰的指南,帮助他们在微服务架构中实现高效且可靠的API管理策略。
|
18天前
|
负载均衡 监控 应用服务中间件
微服务架构下的API网关设计与实践
【6月更文挑战第11天】在现代软件开发中,微服务架构因其灵活性和可扩展性而受到青睐。作为微服务系统的入口,API网关承担着请求路由、负载均衡、安全认证等关键职责。本文将深入探讨API网关的设计要点与实践策略,旨在为读者提供构建高效、稳定API网关的实用指南。
|
2天前
|
负载均衡 监控 算法
微服务架构下的API网关模式与实践
在现代的后端开发中,微服务架构因其灵活性和可扩展性而受到青睐。本文深入探讨了API网关模式在微服务架构中的应用,并结合实例分析了API网关如何提高系统的可维护性和安全性。通过对比分析,文章展示了API网关在处理跨域请求、负载均衡、认证授权以及日志记录方面的显著优势。
8 0
|
25天前
|
负载均衡 安全 API
微服务架构下的API网关设计与实践
【6月更文挑战第4天】在微服务架构中,API网关作为系统的统一入口,承担着请求路由、负载均衡、安全校验等关键职责。本文将深入探讨API网关的设计原则与实现技术,通过案例分析,展示如何在现代后端开发中构建高效、可靠的API网关。
|
2月前
|
负载均衡 监控 安全
构建高效微服务架构:API网关的实践与挑战
【5月更文挑战第26天】在现代软件工程中,微服务架构因其灵活性、可扩展性和独立性而受到广泛欢迎。然而,随着服务的增多和细化,系统的整体复杂性也随之上升。API网关作为微服务架构中的关键组件,它不仅负责请求的路由、负载均衡、认证授权等核心功能,还面临着性能优化、安全加固和故障处理等挑战。本文将深入探讨API网关在微服务架构中的实践应用,分析其面临的主要技术挑战,并提出相应的解决策略。
|
2月前
|
监控 Devops API
构建高效微服务架构:API网关的作用与实践构建高效稳定的云基础设施:DevOps与容器化技术融合实践
【5月更文挑战第28天】 在当今的软件开发领域,微服务架构因其灵活性、可扩展性和容错能力而备受推崇。本文将深入探讨API网关在构建微服务系统中的关键角色,包括它如何促进系统的高可用性、安全性和性能监控。我们将剖析API网关的核心组件,并借助具体实例展示如何实现一个高效的API网关来服务于复杂的微服务环境。 【5月更文挑战第28天】 随着企业数字化转型的深入,传统的IT运维模式已难以满足快速迭代和持续交付的需求。本文聚焦于如何通过融合DevOps理念与容器化技术来构建一个高效、稳定且可扩展的云基础设施。我们将探讨持续集成/持续部署(CI/CD)流程的优化、基于微服务架构的容器化部署以及自动化监
|
2月前
|
监控 负载均衡 安全
微服务架构下的API网关设计与实践
【5月更文挑战第25天】 在现代软件工程领域,微服务架构以其灵活性、可扩展性以及容错能力受到广泛关注。作为微服务架构中的关键组件,API网关承担着请求路由、负载均衡、安全认证等重要职责。本文将深入探讨在微服务架构下如何高效地设计并实现一个API网关,包括对API网关的功能需求分析、核心组件的选择与配置、以及性能优化等方面进行详细阐述。通过对具体案例的分析,旨在为开发者和企业提供一个清晰、高效的API网关构建指南。