Appearance
网关部署
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.eureka | Eureka地址 |
platform.kafka | kafka地址 |
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.meta | apollo-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.enabled | Nacos注册中心启用开关 |
spring.cloud.nacos.discovery.server-addr | Nacos地址 |
spring.cloud.nacos.discovery.group | Nacos分组 |
gateway.discovery | 注册中心类型:eureka 或 nacos |
eureka.client.service-url.defaultZone | eureka地址 |
comet.mq.type | 消息服务类型:rocket/kafka 等 |
comet.mq.consumer.namesrvAddr | 消息服务地址(其余详细配置请参考Comet消息配置说明) |
security.auth.enable | 鉴权开关。默认开启 |
security.auth.contextPath | auth-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