更新时间:2024-10-23 GMT+08:00
分享

开发简介

微服务简介

随着微服务架构模式被越来越多的开发者作为应用系统构建的首选,稳定可靠的微服务运行环境变得非常重要。

微服务引擎(CSE)是应用管理与运维平台(ServiceStage)针对微服务解决方案提供的一站式管理平台,使用微服务引擎,开发者可以更加专注于业务开发,提升产品交付效率和质量。微服务架构模式通常包含如下内容:

  • 微服务之间的RPC(Remote Procedure Call,远程过程调用)通信。微服务架构模式要求微服务之间通过RPC进行通信,不采用其他传统的通信方式,比如共享内存、管道等。常见的RPC通信协议包括REST(HTTP+JSON)、gRPC(HTTP2+protobuffer)、Web Service(HTTP+SOAP)等。使用RPC通信,能够降低微服务之间的耦合,提升系统的开放性,减少技术选型的限制。一般建议采用业界标准协议,比如REST。对于性能要求非常高的场景,也可以考虑私有协议。
  • 分布式微服务实例和服务发现。微服务架构特别强调架构的弹性,业务架构需要支持微服务多实例部署来满足业务流量的动态变化。微服务设计一般会遵循无状态设计原则,符合该原则的微服务扩充实例,能够带来处理性能的线性提升。当实例数很多的时候,就需要有一个支持服务注册和发现的中间件,用于微服务之间的调用寻址。
  • 配置外置及动态、集中的配置管理。随着微服务和实例数的增加,管理微服务的配置会变得越来越复杂。配置管理中间件给所有微服务提供统一的配置管理视图,有效降低配置管理的复杂性。配置管理中间件搭配治理控制台,可以在微服务运行态对微服务的行为进行调整,满足业务场景变化、不升级应用的业务诉求。
  • 提供熔断、容错、限流、负载均衡、降级等微服务治理能力。微服务架构存在一些常见的故障模式,通过这些治理能力,能够减少故障对于整体业务的影响,避免雪崩效应。
  • 调用链、集中日志采集和检索。查看日志仍然是分析系统故障最常用的手段,调用链信息可以帮助界定故障和分析性能瓶颈。

有很多开源框架,比如Spring CloudApache ServiceComb Java Chassis(简称Java Chassis)等,实现了微服务架构模式。微服务引擎支持这些开源的微服务框架接入并使用注册发现、集中配置、服务治理等功能。关系如下图所示:

使用Spring Cloud和Java Chassis微服务开发框架接入微服务引擎,能够获得好的开发体验和技术支持。使用其他开发框架,比如使用Mesher接入微服务引擎依赖于开源社区技术支持。

本文重点描述Spring Cloud和Java Chassis的开发指导,其他框架如Mesher开发的微服务应用使用CSE引擎请参考Mesher使用CSE指南

开发能力要求

本文档的主要目的就是说明这些开源微服务开发框架如何接入和使用微服务引擎的功能,假设您已经熟悉和掌握如下开发能力:

  • 使用Java语言进行微服务开发。假设您已经基于一种ServiceStage支持的微服务开发框架开发了应用系统,并期望将应用系统托管在微服务引擎上运行。本文档提供微服务应用接入微服务引擎的相关技术支持。开源微服务开发框架如何使用不是本文档的范围,您可以通过开源社区获取相关微服务开发框架的入门材料和开发指南。
  • 理解注册中心、配置中心在微服务应用中的作用,并在项目中搭建和使用注册中心。不同的微服务开发框架默认支持的开源注册中心会有差异,理解注册中心的作用,可以更加容易的更换注册中心。

相关文档