开发指南

本文主要描述基于Spring Cloud的微服务,如何使用IMSE进行配置的管理、服务的注册和发现、服务的监控、依赖分析和分布式事务管理,帮助您快速地进行微服务的开发。

配置管理

下载示例工程

1.通过服务开发下载配置管理示例工程。

配置管理的依赖是“Spring Cloud Alibaba”->“Nacos Configuration”,如下:

部署

可以通过应用管理进行部署,也可以在本地部署

服务注册发现

下载示例工程

1.通过服务开发下载配置管理示例工程。

配置管理的依赖是“Spring Cloud Alibaba”->“Nacos Service Discovery”,如下:

部署

可以通过应用管理进行部署,也可以在本地部署

服务监控

添加依赖

1.在Maven工程的pom.xml中添加依赖。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
    <groupId>io.micrometer</groupId>
    <artifactId>micrometer-registry-prometheus</artifactId>
</dependency>

2.在Maven工程的src/main/resources中的application.properties或者配置管理中设置。

management.endpoints.web.exposure.include=*
management.metrics.tags.application=${spring.application.name}

其中:

  • management.metrics.tags.application为服务的name,即spring.application.name。

部署

通过应用管理进行部署,暂时不支持本地部署。

事务管理

示例包含3个微服务:order、account、storage。其中其中order服务调用account和storage。

创建事务分组

在IMSE控制台事务管理>事务分组下,创建事务分组。

部署

通过应用管理进行部署,也可以在本地部署

本地部署时除了通用的配置,还需要在配置文件中设置事务分组。事务分组,即上述控制台创建的事务分组。

## Seata事务分组
spring.cloud.alibaba.seata.tx-service-group=default-service-group

本地部署

开发和自测时,可以在本地部署,更加方便。本地部署时主要修改配置文件。

示例工程中的配置文件如下所示。需要修改server-addr、namespace、access-key、secret-key。

server.port=${SERVER_PORT:9091}
spring.application.name=provider-example
spring.cloud.nacos.discovery.server-addr=${MSE_DISCOVERY_SERVER_ADDR:10.110.65.32:31489}
spring.cloud.nacos.discovery.namespace=${MSE_DISCOVERY_SERVER_NAMESPACE:}
spring.cloud.nacos.discovery.access-key=${MSE_DISCOVERY_SERVER_AK:app}
spring.cloud.nacos.discovery.secret-key=${MSE_DISCOVERY_SERVER_SK:3a36f9a15a799581c9766342c040739e}
spring.cloud.nacos.config.enabled = false
logging.level.root= INFO
logging.file=/var/logs/mse-app/provider-example.log
management.endpoints.web.exposure.include=*
management.metrics.tags.application=${spring.application.name}

server-addr的地址,可以从微服务引擎实例详情中获取,即注册中心地址。access-key和secret-key的值,即实例详情-安全管理中的AccessKey和SecretKey,如下:

namespace,即微服务空间的ID。