开发指南
本文主要描述基于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。