微服务的概念

微服务

微服务是业务概念,即提供某种服务的某个进程。

每一个服务都具有自主运行的业务功能,对外开放不受语言限制的API (最常用的是HTTP)。

多个微服务组成应用程序。

实例

一个微服务的最小运行和部署单元,通常对应一个应用进程。同一个微服务通过部署在多个容器或虚机,可以实现多个实例同时运行。

版本

微服务场景中版本用来标记微服务的迭代记录,方便对微服务的不同迭代进行管理。

契约

微服务场景中的契约是指服务契约,它是基于OpenAPI规范的微服务接口约束规范,是服务端和消费端对于接口的定义。

配置

微服务场景中的配置是指对程序代码中某些变量的取值控制。比如,动态配置就是通过在微服务运行过程中对某些变量的取值进行动态变更。

应用

完成某项完整业务场景的软件系统。应用一般由多个微服务组成,应用里面的微服务能够相互发现和调用。

环境

服务中心建立的一个逻辑概念,比如development、production等。不同环境里面的微服务实例逻辑隔离、无法相互发现和调用。

治理策略

微服务治理中的一个概念,指当前治理使用的某种方法。每一种治理策略都可以绑定一个业务场景,同一种策略不可以绑定多种业务场景。不同的治理策略可以绑定同一个业务场景。

业务场景

用来描述治理中的治理策略作用生效的条件,一个业务场景可以绑定多个不同的治理策略。

微服务的优势

开源开放

支持接入原生SpringCloud、ServiceComb、Dubbo应用,支持使用服务网格接入遗留应用

安全可靠

提供微服务基于角色的安全接入、多AZ容灾等能力

拥抱云原生

华为核心业务云原生转型基础底座,经华为终端业务亿级用户考验

场景化管理

基于业务场景的可视化微服务应用管理及治理

微服务的基础能力

微服务注册发现

微服务启动时,将实例信息注册到CSE,包括实例的基本信息,如应用名称、微服务名称、版本号、服务契约、实例地址等;微服务需要调用其他微服务的接口时,从CSE查询实例信息,并将实例信息缓存到本地,缓存会通过事件通知、定时查询等机制更新;通过本地缓存的地址信息,实现微服务之间的点到点调用,当微服务存在多个实例的情况,可以配置不同的负载均衡策略,包括轮询、权重、灰度发布、同可用区优先等。

运维层面,可以通过CSE查看实例列表、微服务调用关系、服务契约等,帮助客户了解应用系统组成、运行状态等信息。

服务治理

服务治理有两种开启策略:

1、一种是开发态就配置好,这种策略适合通用型,满足全业务场景的策略,比如负载均衡策略。

2、另外一种是运行态修改,这种策略适合根据业务变化需要动态调整的场景,比如限流策略。

两种策略内部实现机制一般是相同的,需要配置管理系统下发治理策略和运行时SDK执行治理策略,运行时治理SDK包含在用户选择的微服务开发框架及其扩展包里面,与微服务一起编译集成。CSE控制台提供了常见的治理策略管理功能,方便用户根据业务变化,调整治理策略。

配置管理

配置管理集中管理微服务的配置,配置管理根据配置项的属性,比如作用域、标签等,将配置下发到具体的微服务。

配置管理提供一系列方便的功能,比如查看历史版本和配置回滚、配置导入导出、灵活的作用域管理等,满足用户管理复杂环境和海量微服务的业务诉求。

微服务的应用场景

微服务应用解决方案

微服务引擎双栈模式同时支持侵入式框架和非侵入式服务网格模式,做到统一接入和统一治理;可同时支持主流的Java微服务框架、多语言场景和企业遗留应用的零成迁移。

微服务应用高可用运维

适用于电商、游戏、教育、媒资、能源及金融等有明显波峰波谷场景的应用,通过CSE可以实现分布式系统细粒度治理和高可用保障。

微服务教程视频

微服务引擎CSE

04:38

微服务引擎CSE

微服务引擎CSE

03:29

微服务引擎CSE