Skip to content

网关部署

1.网关运行态服务

1.1.获取comet-gateway-service-xxx.zip的安装包

1.2.上传安装包至~/app-run安装目录下执行如下命令解压

shell
unzip comet-gateway-service-xxx.zip

1.3.修改配置文件

1.3.1.单中心配置

修改配置文件(dc01/dc02/sit/fat中的一种)

配置项配置项说明
ribbon.dcRoute双中心路由负载均衡配置类的加载,单中心默认为false
db.driverClassName数据库驱动
db.url数据库地址
db.username数据库用户名
db.password数据库密码
db.validationQuery该配置项在mysql和oracle的情况下配置有所不同 mysql:SELECT 'X' oracle:SELECT 'X' from dual
db.databaseId数据库类型(mysql和oracle两种)
platform.eurekaEureka地址
platform.kafkakafka地址
db.type使用的数据源类型(网关可使用druid【com.alibaba.druid.pool.DruidDataSource】数据源或者libra【com.dcits.libra.client.core.jdbc.api.LibraDataSource】数据源)
redis.host单中心redis的ip
redis.port单中心redis的端口
yaml
#=================================环境相关属性 start=======================================
db:
  url: jdbc:oracle:thin:@dcits.cbs.database:1521:DCITS
  password: ENS_GATEWAY
  username: ENS_GATEWAY
  validationQuery: SELECT 'X'
  databaseId: mysql
  driverClassName: oracle.jdbc.driver.OracleDriver
  type: com.alibaba.druid.pool.DruidDataSource
ribbon:
  dcRoute: false
platform:
  eureka: dcits.cbs.eureka.dev:9527
  kafka: dcits.cbs.kafka.dev:9092
redis:
  host: 192.168.164.180
  port: 7379
#=================================环境相关属性 end=======================================

1.3.2.双中心配置

(1)使用druid数据源

application-dc01.yml/application-dc02.yml中的基础配置:

yaml
#=================================环境相关属性 start=======================================
db:
  url: jdbc:oracle:thin:@192.168.161.17:1521:DCITS
  password: ENS_GATEWAY_ZL
  username: ENS_GATEWAY_ZL
  driverClassName: oracle.jdbc.driver.OracleDriver
  databaseId: oracle
  type: com.alibaba.druid.pool.DruidDataSource
#双中心路由负载均衡
ribbon:
  dcRoute: false
platform:
  kafka: 192.168.164.179:9092
#=================================环境相关属性 end=======================================

在application-dc01.yml/application-dc02.yml中再加入如下配置:

yaml
eureka:
  instance:
    metadata-map:
      #本服务地区
      zone: dc01
  client:
    prefer-same-zone-eureka: true
    #区域
    region: xian
    #可用地区
    availability-zones:
      #区域下的可用地区
      xian: dc01,dc02
    #地区对应的url
    service-url:
      dc01: http://192.168.164.180:9527/eureka/
      dc02: http://192.168.164.181:9527/eureka/
    healthcheck:
      enabled: true
gateway:
  doubleCenter:
    enable: true #是否启用双中心
  redis:
    redis01:
      id: dc01 #默认redis, 非双中心模式下只需配置redis01即可。
      database: 0
      host: 192.168.164.179
      port: 6379
    redis02:
      id: dc02 #双中心的另一个redis, 此处要确保另一个中心的zone名称与此处一致
      database: 0
      host: 192.168.164.179
      port: 6379
(2)使用libra数据源

修改application.yml文件,将数据源连接改为libra连接,注释掉原来的druid数据源连接配置:

yaml
spring
datasource:
  libra:
    schemaName: TestDb
    userName: root
    configUrl: file:xml//local
  type: ${db.type}
#    driver-class-name: ${db.driverClassName}
#    url: ${db.url}
#    username: ${db.username}
#    password: ${db.password}

修改application-dc01.yml/application-dc02.yml中的数据源类型为libra数据源配置:

yaml
db:
  # Libra 数据源
  type: com.dcits.libra.client.core.jdbc.api.LibraDataSource
(3)基于双中心libra数据源配置使用双中心路由

修改application-dc01.yml/application-dc02.yml配置:

yaml
#双中心路由负载均衡
ribbon:
  dcRoute: true

在application-dc01.yml/application-dc02.yml中再加入如下配置:

yaml
comet:
  mq:
    type: kafka
    producer:
      groupName: mqproducer
      namesrvAddr: 192.168.164.179:9092
      sendMsgTimeout: 6000
      maxMessageSize: 1024000
    consumer:
      destination: ROUTER_KEY_MAPPING  #监听队列
      groupName: mqproducer
      namesrvAddr: 192.168.164.179:9092
      consumeThreadMax: 512
      consumeThreadMin: 64
      consumeMessageBatchMaxSize: 128
  hint:
    type: com.dcits.comet.gateway.comet.dbsharding.galaxy.libra.HintLibraManager

1.4.集成apollo配置中心(可选)

首先在application.yml文件引入使用apollo的配置文件:

yaml
spring:
  profiles:
    #可以包含多项,子项使用逗号分隔或者list形式
    include: apollo

修改application-apollo.yml配置文件

配置项配置项说明
apollo.metaapollo-config的服务地址
apollo.cluster使用单/双中心
apollo.cacheDir配置文件缓存到本地(服务器)的路径
apollo.bootstrap.namespaces在OMS运维平台上配置中心的命名空间(默认application)
yaml
app:
  id: galaxy-gateway
apollo:
  meta: http://dcits.cbs.apoconf.dev1:8080
  cluster: dc01
  cacheDir: /app/dcits/config/
  bootstrap:
    enabled: true
    eagerLoad:
      enabled: true
    namespaces: application

app.id 对应OMS运维平台配置中心页面的项目列表的AppId cluster 使用的集群 namespaces 使用的命名空间

1.5.修改kafka配置

修改collect.properties文件中kafka的配置:

1.6.启动服务

进入的bin目录下,执行如下命令:

./start.sh -p 中心标识(dc01/dc02/sit/fat中的一种)

1.7.检查服务

执行命令:

jps

2 .网关管理态服务

2.1.获取comet-gateway-manage-xxx.zip的安装包

2.2.上传安装包至~/app-run安装目录下执行如下命令解压

shell
unzip comet-gateway-manage-xxx.zip

2.3.修改配置文件

2.3.1.单中心配置

修改配置文件(dc01/dc02/sit/fat中的一种)

配置项配置项说明
spring.datasource.driverClassName数据库驱动
spring.datasource.type数据库连接池类型
spring.datasource.url数据库URL
spring.datasource.username数据库用户名
spring.datasource.password数据库密码
spring.datasource.validationQuery该配置项在mysql和oracle的情况下配置有所不同 mysql:SELECT 'X' oracle:SELECT 'X' from dual
mybatis.configuration.databaseId数据库类型(mysql和oracle两种)
spring.cloud.nacos.discovery.enabledNacos注册中心启用开关
spring.cloud.nacos.discovery.server-addrNacos地址
spring.cloud.nacos.discovery.groupNacos分组
gateway.discovery注册中心类型:eureka 或 nacos
eureka.client.service-url.defaultZoneeureka地址
comet.mq.type消息服务类型:rocket/kafka 等
comet.mq.consumer.namesrvAddr消息服务地址(其余详细配置请参考Comet消息配置说明)
security.auth.enable鉴权开关。默认开启
security.auth.contextPathauth-service 配置的context-path,默认:/oms/uaa
security.auth.whiteList鉴权白名单配置(列表配置)
yaml
#=================================环境相关属性 start=======================================
spring:
  datasource:
    driver-class-name: oracle.jdbc.driver.OracleDriver
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:oracle:thin:@192.168.161.17:1521:DCITS
    password: ENS_GATEWAY_ZL
    username: ENS_GATEWAY_ZL
    validationQuery: SELECT 'X' from dual
  # nacos配置
  cloud:
    nacos:
      discovery:
        enabled: false
        server-addr: 10.7.19.116:30789
        group: DEFAULT_GROUP

# 注册中心类型
gateway:
  discovery: eureka
#注册中心
eureka:
  instance:
    hostname: ${hostname:localhost}
    prefer-ip-address: true
    lease-expiration-duration-in-seconds: 15 #服务过期时间
    lease-renewal-interval-in-seconds: 5 #服务刷新时间,每5s心跳一次
    metadata-map:
      #本服务地区
      zone: zone-1
  client:
    enabled: true
    service-url:
      defaultZone: http://192.168.164.180:9527/eureka
    #是否注册至eureka
    register-with-eureka: true
    #是否获取注册表
    fetch-registry: true
    #地区对应的url
    eurekaServiceUrlPollIntervalSeconds: 60
    #设置拉取服务注册信息时间
    registry-fetch-interval-seconds: 5


#MQ相关依赖,其余MQ配置,请查看comet消息配置规范
comet:
  mq:
    type: rocketmq
    consumer:
      groupName: mqproducer-gateway
      namesrvAddr: 192.168.161.111:9876
      consumeThreadMax: 512
      consumeThreadMin: 64
      consumeMessageBatchMaxSize: 128

# 鉴权配置
security:
  auth:
    enable: true    # 开启鉴权开关,默认开启
    contextPath: /  # auth-service context-path, 默认:/oms/uaa
    whiteList: # 鉴权白名单列表
      - /lhdmon/health
#=================================环境相关属性 end=======================================

2.4.启动服务

进入的bin目录下,执行如下命令:

./start.sh -p 中心标识(dc01/dc02/sit/fat中的一种)

2.5.检查服务

执行命令:

shell
jps