
# 准备环境
环境准备包括本地开发调试环境和云上环境准备。
#### 准备本地开发调试环境
请参考开源社区的<https://servicecomb.apache.org/cn/docs/getting-started/>搭建一个简易的测试环境。
#### 准备云上环境
微服务应用部署到云上，需要先准备云上环境。准备环境一般包含如下任务：
- 获取AK/SK及名称，请参考[获取AK/SK与项目名称](https://support.huaweicloud.com/devg-servicestage/cse_04_0045.html)。
  ![](https://support.huaweicloud.com/devg-servicestage/public_sys-resources/note_3.0-zh-cn.png)
  - 如果使用微服务引擎专业版，需要配置AK/SK。
  
  - 如果使用微服务引擎专享版，不需要配置AK/SK。
    

- 创建微服务引擎，请参考[创建微服务引擎](https://support.huaweicloud.com/usermanual-servicestage/servicestage_03_0079.html)。
- 创建环境，请参考[创建环境](https://support.huaweicloud.com/usermanual-servicestage/servicestage_03_0008.html)。创建的环境，需包含CCE集群、ELB及微服务引擎等资源。
- 创建应用，请参考[创建应用](https://support.huaweicloud.com/usermanual-servicestage/servicestage_03_0023.html)。
 
#### 常用环境变量说明
通过ServiceStage管理环境和部署应用，能够简化用户的配置。ServiceStage会设置一些环境变量，供应用使用，常用的环境变量包括下表所示内容：
表1常用环境变量 
| 环境变量名称               | 含义                                                                                                                                                                                                                                                |
|:---|:---|
| 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等。
  分布式会话相关环境变量说明如下表所示。
  表2DCS分布式会话相关环境变量 
  | 环境变量                         | 说明                      |
  |:---|:---|
  | 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 | 分布式会话实例的连接密码            |
     
  
- 分布式缓存 [分布式缓存服务](https://www.huaweicloud.com/product/dcs.html)（Distributed Cache Service，简称DCS）是一款内存数据库服务，兼容了Redis和Memcached两种内存数据库引擎，为您提供即开即用、安全可靠、弹性扩容、便捷管理的在线分布式缓存能力，满足用户高并发及数据快速访问的业务诉求。
  分布式缓存相关环境变量如下表所示。
  表3DCS分布式缓存相关环境变量 
  | 环境变量                       | 说明                      |
  |:---|:---|
  | 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 | 分布式缓存实例的连接密码            |
     
  
- 云数据库 [云数据库](https://www.huaweicloud.com/product/mysql.html)（Relational Database Service，简称RDS）是一种基于云计算平台的即开即用、稳定可靠、弹性伸缩、便捷管理的在线关系型数据库服务。
  云数据库相关环境变量如下表所示。
  表4RDS关系型数据库相关环境变量 
  | 环境变量                                | 说明                                           |
  |:---|:---|
  | 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        | 关系型数据库实例的数据库密码                               |
     
  
 
