跳转到内容

5. 服务依赖项

1. 部署逻辑:

在没有dice底座的环境上部署trantor,需要注意如下:

  1. 在非dice上,参数配置不能通过addon的形式加入,因此均需要用户通过配置参数的形式注入。
  2. 需要使用trantor-geteway作为网关。
  3. Meta_store_management和meta_store 注册到不用的nacos上去,nacos和网关需要两套。
  4. 部署的各个服务配置项均需要设置DISCOVERY_ENABLE_NACOS为true。

2. 公用部署

key注意事项
MySQL
DataStore注册到meta_store对应的nacos

3. console相关部署

key注意事项
gateway(API 网关1)
Nacos(注册中心1)只给Meta_store_management使用
交付控制台前端
Meta_store_management设置DUBBO_ENABLED为false,配置DS_HOST和DS_PORT,与ds使用http请求

4. Workspace相关部署

key注意事项
gateway(API 网关2)为了避免出现oom,可以配置java_opts
Nacos(注册中心2)给meta_store和各个业务使用
统一工作台前端
meta_store

5. 服务依赖项

部署项必要依赖可选依赖
交付控制台前端/后端API 网关、注册中心、DataStoreRocketMQ、Redis、ACL、User Center、Notice
统一工作台前端/后端API 网关、注册中心、DataStoreRocketMQ、Redis、ACL、User Center、Notice
DataStoreMySQL、注册中心RocketMQ、Redis

提醒:

  1. RocketMQ、Redis、Notice 如果需要,请提前部署。

  2. ACL、User Center 为公司其余业务产品,分别是功能权限和用户的功能,请联系相关团队提前部署。

6. 环境变量

6.1 交付控制台/统一工作台 通用

keyvalue是否必填注释
META_STORE_URLStringMeta Store 服务的访问地址,一般为 API Gateway 中注册的地址,获取见微服务治理->api网关,如(dev-gateway.app.terminus.io/zssk/trantor-console/meta-store)
GATEWAY_URLString所在环境的 API Gateway 地址,如(dev-gateway.app.terminus.io)
GATEWAY_PREFIXString所在环境的 API Gateway 地址,如(/zssk/trantor-console)
DISCOVERY_ENABLE_NACOSBoolean注册到nacos
ADDRESS_CACHELOCAL / REDIS地址缓存方式,默认为 LOCAL
DS_PROJECT_IDStringDataStore 中的租户,对应到 MySQL 的一个逻辑库,默认trantor
DS_SUBSCRIBEBoolean是否订阅 DataStore 消息,依赖 MQ,默认false
DUBBO_ENABLEDBoolean调用DataStore是否开启Dubbo服务,默认false
DS_HOSTString当DUBBO_ENABLED为false时,从http调用DataStore
DS_PORTString当DUBBO_ENABLED为false时,从http调用DataStore
USER_MOCKBoolean是否开启 user center mock,默认false
UC_FRONT_URLString取决是否开启USER_MOCK,依赖 User Center 服务实例
UC_FRONT_INNER_URLStringUser Center 自身内部调用地址
LOGIN_SHARE_COOKIE_NAMEStringuc的token-key,取决是否开启USER_MOCK
COOKIE_DOMAINString取决是否开启USER_MOCK
UC_PROTOCOLString取决是否开启USER_MOCK
ACL_MOCKBoolean是否开启 acl mock,默认false
ACL_CLIENT_HOSTString取决是否开启ACL_MOCK
ACL_ADMIN_HOSTString取决是否开启ACL_MOCK
ACL_SYNCURLString可不填
TRANTOR_EVENT_ENABLEDBoolean是否开启事件,依赖 MQ
OSS_HOSTStringOSS 相关配置,目前只支持阿里云 OSS,默认
OSS_REGIONStringOSS 相关配置
OSS_AKStringOSS 相关配置
OSS_ASStringOSS 相关配置
OSS_TIMEOUTIntOSS 相关配置
OSS_ARNStringOSS 相关配置
OSS_ROLEStringOSS 相关配置
SERVER_BUCKETStringOSS 相关配置
OSS_STS_ENABLEDBooleanOSS 相关配置
JAVA_OPTSStringjava启动配置

6.2 交付控制台

keyvalue是否必填注释
DEPLOYMENT_MODESTANDALOAN / INTEGRATION部署模式,集成部署或者独立部署,默认INTEGRATION,一般填写 STANDALOAN
TENANT_ENABLEBoolean是否启用多租户功能,dice上使用true

6.3 统一工作台

keyvalue注释
SLAVE_ACCESSKEYString必填,访问凭证,与跟交付控制台环境上的配置相同即可

6.4 DataStore

keyvalue是否必填注释
REDIS_HOSTStringRedis地址(部署多个DS节点时需要配置)
REDIS_PORTStringRedis端口(部署多个DS节点时需要配置)
REDIS_PASSWORDStringRedis密码(部署多个DS节点时需要配置)
API_LOG_LEVELStringDML请求日志级别(debug,info,warn,error),默认info
TX_LOG_LEVELString事务日志级别
SQL_LOG_LEVELString真实执行的SQL日志级别(只有debug级别才会打印所有SQL到控制台)
MQ_LOG_LEVELStringMQ消息日志级别
ES_LOG_LEVELStringES请求日志级别
GQL_LOG_LEVELStringGQL请求日志级别
SQL_API_LOG_LEVELStringSQL API日志级别
HIKARI_LOG_LEVELString连接池日志级别
DB_DATABASEStringDS元信息库名称,默认autumn
DB_HOST/MYSQL_HOSTStringDS元信息库地址
DB_PORT/MYSQL_PORTStringDS元信息库端口
DB_USERNAME/MYSQL_USERNAMEStringDS元信息库用户名
DB_PASSWORD/MYSQL_PASSWORDStringDS元信息库密码
MIN_CONNECTIONIntegerDS元信息库最小连接池大小(默认2)
MAX_CONNECTIONIntegerDS元信息库最大连接池大小(默认10)
CONNECTION_TIMEOUTInteger最大连接池等待时间(默认600000)
MAX_LIFE_TIMEInteger连接池空闲连接最大存活时间(默认30000)
MIN_POOL_SIZEInteger业务库最小连接池大小(默认5)
MAX_POOL_SIZEInteger业务库最大连接池大小(默认50)
DDL_FORMATStringDS模型表字段DDL格式,默认CAMELCASE,可选UNDERSCORE
MAX_ALLOW_ROW_SIZEInteger单条SQL可允许的最大结果集条数,默认100万,小于等于0则不限制
DEPLOY_LOCK_TIMEOUTInteger模型发布锁超时时间,单位分钟,默认10分钟
DEPLOY_AUTO_CLEANUP_METADATA_SIZEInteger元信息历史记录保留数量,默认50条,防止元信息表过大
SEARCH_ENABLEboolean是否开启搜索模型
SEARCH_URLString搜索服务URL,SEARCH_ENABLE为true时必填
GLOBAL_SEARCH_ENABLEboolean是否开启全局搜索功能,默认为false
ELASTICSEARCH_HOSTStringElasticSearch Host, SEARCH_ENABLE为true时必填
ELASTICSEARCH_PORTIntegerElasticSearch Port, SEARCH_ENABLE为true时必填
ELASTICSEARCH_NAMEStringElasticSearch Name, SEARCH_ENABLE为true时必填
ELASTICSEARCH_SECRETStringElasticSearch Secret, SEARCH_ENABLE为true时必填
CLUSTER_NAMEStringElasticSearch Cluster Name, SEARCH_ENABLE为true时必填
SUBSCRIBEboolean是否开启消息订阅,默认false,开启之后订阅的模型如果发生变更会发送消息,如果开启则MQ_SERVER_ADDRESS必须配置
MQ_SERVER_ADDRESSStringMQ地址,SUBSCRIBE为true时必填
CLIENT_TYPEStringMQ类型:ROCKETMQ,ONS。SUBSCRIBE为true时必填
ALIYUN_ACCESSKEYString阿里云ONS Accesskey, CLIENT_TYPE为ONS时必填
ALIYUN_SECRETKEYString阿里云ONS Sercret, CLIENT_TYPE为ONS时必填
DUBBO_ENABLEDboolean是否开启dubbo,默认true
DUBBO_VERSIONStringdubbo接口版本,默认1.0.0
DUBBO_MAX_PAYLOADIntegerdubbo接口最大返回数据量大小,默认8388608

6.4.1 注意事项

  1. DS部署多个节点时,必须要配置Redis,否则会造成DS节点间本地缓存不一致问题,该问题业务上出现多次部署DS多节点没有依赖Redis导致的问题。

  2. 开启DS消息订阅时,必须要配置MQ,DS通过MQ发送模型变更消息。

  3. 生产环境配置添加或修改时建议添加配置review流程,防止配置错误导致问题。如某项目生产环境出现了某个模型有时候能查询,有时候查询报错问题,经排查是DS节点间元信息缓存不一致导致的,进一步排查发现该项目DS的REDIS_HOST配置错误,VALUE值也配成了REDIS_HOST,属于比较低级的错误。