
# 准备环境
环境准备包括本地开发调试环境和云上环境准备。
#### 准备本地开发调试环境
请参考开源社区的<https://servicecomb.apache.org/cn/docs/getting-started/>搭建一个简易的测试环境。
#### 准备云上环境
微服务应用部署到云上，需要先准备云上环境。准备环境一般包含如下任务：
- 创建ServiceComb引擎，请参考[创建ServiceComb引擎](https://support.huaweicloud.com/usermanual-cse/cse_usermanual_0005.html)。
- 创建环境，请参考[创建环境](https://support.huaweicloud.com/usermanual-servicestage/servicestage_03_0008.html)。创建的环境，需包含CCE集群、ELB及ServiceComb引擎等资源。
- 创建应用，请参考[创建应用](https://support.huaweicloud.com/usermanual-servicestage/servicestage_03_0023.html)。
 
#### 常用环境变量说明
通过ServiceStage管理环境和部署应用，能够简化用户的配置。ServiceStage会设置一些环境变量，供应用使用，常用的环境变量包括下表所示内容：
表1常用环境变量 
| 环境变量名称               | 含义                     |
|:---|:---|
| PAAS_CSE_SC_ENDPOINT | ServiceComb引擎注册中心地址信息。 |
| PAAS_CSE_CC_ENDPOINT | ServiceComb引擎配置中心地址信息。 |
| 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        | 关系型数据库实例的数据库密码                               |
     
  
 
