准备环境
环境准备包括本地开发调试环境和云上环境准备。
准备云上环境
微服务应用部署到云上,需要先准备云上环境。准备环境一般包含如下任务:
- 获取AK/SK及项目名称,请参考获取AK/SK与项目名称。
- 如果使用微服务引擎专业版,需要配置AK/SK。
- 如果使用微服务引擎专享版,不需要配置AK/SK。
常用环境变量说明
通过ServiceStage管理环境和部署应用,能够简化用户的配置。ServiceStage会设置一些环境变量,供应用使用,常用的环境变量包括下表所示内容:
环境变量名称 |
含义 |
---|---|
PAAS_CSE_ENDPOINT |
CSE注册中心、配置中心等服务的地址信息。这个环境变量在微服务引擎专业版通过APIG访问的时候使用,上述服务的外部访问地址是统一的域名。
说明:
不建议使用这个环境变量,而是使用具体服务的环境变量,避免在微服务引擎专享版的场景下存在歧义,需要修改应用程序。 |
PAAS_CSE_SC_ENDPOINT |
微服务引擎注册中心地址信息。 |
PAAS_CSE_CC_ENDPOINT |
微服务引擎配置中心地址信息。 |
PAAS_PROJECT_NAME |
项目名称。 |
CAS_APPLICATION_NAME |
ServiceStage的应用名称。 |
CAS_COMPONENT_NAME |
ServiceStage的组件名称。 |
CAS_INSTANCE_VERSION |
ServiceStage的部署版本号。 |
您可以结合不同微服务开发框架的机制,比如Spring Cloud提供的Place Holder机制、Java Chassis提供的“mapping.yaml”机制等来合理使用这些变量,减少部署需要手工输入的内容。
ServiceStage创建应用过程中,可以绑定中间件(如DCS、RDS)。应用绑定的中间件配置信息可以通过以下环境变量获取。
- 分布式会话
基于DCS实现的稳定可靠的会话存储,支持主流Web容器的自动注入,如tomcat context,node.js express-session,php的session handler等。
分布式会话相关环境变量说明如下表所示。
表2 DCS分布式会话相关环境变量 环境变量
说明
DISTRIBUTED_SESSION_CLUSTER
实例是否是集群模式,取值true/false
DISTRIBUTED_SESSION_TYPE
分布式会话实例的存储类型,当前只支持Redis
DISTRIBUTED_SESSION_VERSION
分布式会话实例的版本号
DISTRIBUTED_SESSION_NAME
分布式会话实例的名称
DISTRIBUTED_SESSION_HOST
分布式会话实例的连接IP地址
DISTRIBUTED_SESSION_PORT
分布式会话实例的连接IP端口
DISTRIBUTED_SESSION_PASSWORD
分布式会话实例的连接密码
- 分布式缓存
分布式缓存服务(Distributed Cache Service,简称DCS)是华为云提供的一款内存数据库服务,兼容了Redis和Memcached两种内存数据库引擎,为您提供即开即用、安全可靠、弹性扩容、便捷管理的在线分布式缓存能力,满足用户高并发及数据快速访问的业务诉求。
分布式缓存相关环境变量如下表所示。
表3 DCS分布式缓存相关环境变量 环境变量
说明
DISTRIBUTED_CACHE_CLUSTER
实例是否是集群模式,取值true/false
DISTRIBUTED_CACHE_TYPE
分布式缓存实例的存储类型,当前只支持Redis
DISTRIBUTED_CACHE_VERSION
分布式缓存实例的版本号
DISTRIBUTED_CACHE_NAME
分布式缓存实例的名称
DISTRIBUTED_CACHE_HOST
分布式缓存实例的连接IP地址
DISTRIBUTED_CACHE_PORT
分布式缓存实例的连接IP端口
DISTRIBUTED_CACHE_PASSWORD
分布式缓存实例的连接密码
- 云数据库
云数据库(Relational Database Service,简称RDS)是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。
云数据库相关环境变量如下表所示。
表4 RDS关系型数据库相关环境变量 环境变量
说明
RELATIONAL_DATABASE_NAME
关系型数据库实例名称
RELATIONAL_DATABASE_CONNECTION_TYPE
关系型数据库实例的连接类型,取值为JNDI/SPRING_CLOUD_CONNECTOR
RELATIONAL_DATABASE_JNDI_NAME
关系型数据库实例的JNDI名称,如果连接类型为JNDI
RELATIONAL_DATABASE_DB_NAME
关系型数据库实例的数据库名
RELATIONAL_DATABASE_DB_USER
关系型数据库实例的数据库用户
RELATIONAL_DATABASE_DB_TYPE
关系型数据库实例的数据库类型,当前只支持MySQL
RELATIONAL_DATABASE_VERSION
关系型数据库实例的数据库版本
RELATIONAL_DATABASE_HOST
关系型数据库实例的数据库IP地址
RELATIONAL_DATABASE_PORT
关系型数据库实例的数据库端口
RELATIONAL_DATABASE_PASSWORD
关系型数据库实例的数据库密码