元原生系列第一篇:元原生微服务概览/阿里云

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 微服务领域已经从框架的选用上升到平台化治理,云原生下的微服务已经成为大势所趋。本系列文章将对阿里云下的云原生服务做一些系统性的梳理。本章是系列文章第一篇,主要对阿里云云原生服务做一个概览性介绍。

微服务领域已经从框架的选用上升到平台化治理,云原生下的微服务已经成为大势所趋。本系列文章将对阿里云下的云原生服务做一些系统性的梳理。本章是系列文章第一篇,主要对阿里云云原生服务做一个概览性介绍。



一、微服务建设


1.1 微服务基础概念


单体:一个拥有所有服务功能的单一项目架构

微服务:一组专注、内聚、独立、有自己数据域的服务架构


走向微服务的原因:

  1. 水平扩展
  2. 高可用性
  3. 数据压力
  4. 系统升级
  5. 团队协作

1.1.1 微服务核心要点



API Getway:API 网关,是服务调用的起点,它通常提供API鉴权、路由、过滤等功能,不同客户端可以通过网关调用我们的核心服务。


注册中心:提供服务注册与发现的功能,微服务实例会将自己的元信息(比如ip、端口、实例名等)上报记录到注册中心,调用段在请求时根据读取注册中心的数据来访问微服务实例。


服务间通信: 微服务间通信最常见的方式是以http为基础的Rest API,或者是各框架自己开发的RPC协议。


负载均衡:微服务通常以多实例集群的形式存在,在调用某微服务时,需要根据某种规则进行“分散式”调用,即负载均衡。负载均衡的策略一般有:轮询、随机、一致性Hash、基于资源的分配负载等。


容错与重试:大规模微服务集群出错的几率较高,比如网络抖动、资源故障等,此时需要考虑容错能力,一把微服务框架都会提供容错策略,有时候为了保证数据最终一致性,也会考虑一些重试机制的运用。


数据分布: 在微服务架构阶段,通常是以垂直业务做拆分,所以通常来说数据库至少是垂直分库,即每个微服务集群管辖自己所属的数据库。


1.1.2 微服务技术架构图



围绕着微服务,在不同场景下有不同的技术选型和核心考量点。比如API层,需要考虑路由、鉴权、限流等;Web服务层,考虑负载、扩展、高可用等;在数据层,考虑事务/一致性、高可用、高性能、扩展性等。要保障微服务的高质量建设,离不开平台化、体系化的基础设施保障。


1.2 云原生基础概念


很多人会问:什么是云原生?不同的平台都有自己的相关定义。

Pivotal(就是发布了SpringBoot/SpringCloud的巨牛公司)于 2015 年提出了“Cloud Native”的概念:云原生是一种可以充分利用云计算优势的构建和运行应用的方式。云原生技术栈应该包含:微服务、容器、DevOps、持续交付。

CNCF(云原生计算基金会)关于云原生技术栈的描述,包含:微服务、容器、服务网格、不可变基础设施和声明式API。

这个问题没有标准答案,大家其实都有相似的定义和技术栈的描述,最终还是看各家的落地实现,能否达成云原生的价值。



1.2.1 发展历程




任何技术的发展都不是一蹴而就的。在早期,我们从硬件机器到虚拟化主机,然后商业级IaaS、PaaS开始崭露头角,逐步带动了开源IaaS、PaaS的快速发展。互联网的高速发展,催生了单体式走向服务化的架构体系,为了解决微服务的高扩展性、高可用性、交付一致性,以Docker/K8s为代表的容器化技术开始走入技术决策层的视野。接着,大规模微服务的持续集成与交付、动态资源伸缩、运维治理等,造就了基于云原生的微服务架构体系及相关技术栈的实现。


1.2.2 基础范畴


云原生并非指某一个特定的技术,它是一系列技术概念的统称。从阿里云官方来看,云原生相关的服务支持包括:



同样要指出的是,在实践过程中,我们只需要按需选择部分技术即可,比如说你可以自己搭建CI/CD工作流,然后使用阿里云的容器服务,或者使用阿里云云效来实现CI/CD工作流,自己管理容器集群。这其实也是云原生资源解耦的应有之义。


1.2.3 技术架构


云原生基于云计算理念的深化,是面向云应用设计的一种新的架构设计理念,充分发挥云效能的最佳实践路径,帮助企业构建弹性可靠、松耦合、易管理可观测的应用系统,提升交付效率,降低运维复杂度。无论任何关于云原生的描述,都可以提炼出这样几个核心词汇:微服务、容器化、DevOps。



上图中的所有技术概念,都有对应的开源产品可供选择,但是对于中小企业来讲,从零打造完整的云原生平台,投入是非常大的。从最简单的角度来讲:云原生是依托云的,要实现云原生,前提是得有“一朵云”。依照笔者的经验,中小企业/团队要能快速的紧跟技术发展脉搏,享受到云原生的红利,建议优先考虑以阿里云为代表的云原生服务厂商,先享受下开箱即用的快感吧。

目录
相关文章
|
1天前
|
API
阿里云微服务引擎及 API 网关 2024 年 2 月产品动态
阿里云微服务引擎及 API 网关 2024 年 2 月产品动态
|
1天前
|
Cloud Native 关系型数据库 分布式数据库
阿里云原生数据库 PolarDB MySQL:云原生时代的数据库新篇章
阿里云原生数据库 PolarDB MySQL,它是阿里云自主研发的下一代云原生关系型数据库。PolarDB具有多主多写、多活容灾、HTAP等特性,交易性能和存储容量均表现出色。此外,PolarDB MySQL Serverless具有动态弹性升降资源和全局一致性等特性,能够适应高吞吐写入和高并发业务场景。本文详细分析了PolarDB的性能、稳定性和可扩展性,以及它在成本、性能和稳定性方面的优势。PolarDB为企业提供了高效、可靠的数据库解决方案,是值得考虑的选择。
317 0
|
1天前
|
人工智能 API
阿里云微服务引擎及 API 网关 2024 年 4 月产品动态
阿里云微服务引擎及 API 网关 2024 年 4 月产品动态。
|
1天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2024 年 04 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
1天前
|
消息中间件 人工智能 监控
|
1天前
|
API
阿里云微服务引擎及 API 网关 2024 年 3 月产品动态
阿里云微服务引擎及 API 网关 2024 年 3 月产品动态。
|
1天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2024 年 03 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
1天前
|
消息中间件 人工智能 监控
|
1天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2024 年 02 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
1天前
|
Cloud Native Dubbo Java
阿里云微服务引擎 MSE 2024 年 01 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。