1 概述
数据开发平台目前相关的微服务主要包括:平台微服务、离线开发微服务、实时同步微服务、调度微服务、数据服务微服务。
平台微服务主要负责知识项的增、删、改、查等功能;
离线开发微服务主要负责离线数据同步、数据转换的执行;
实时同步微服务主要负责监控数据库实时数据变化并进行数据同步;
调度微服务主要负责调度计划的管理及调度执行;
数据服务微服务主要负责提供数据访问API定义及执行;
2 微服务配置
2.1 平台微服务(lczPlatformServer)
1) 配置知识库相关信息
修改 lczPlatformServer\conf\server.config 文件,配置知识库的类型、地址、端口等信息。
本微服务中的server.config暂不支持界面配置,可从lczServer/conf目录下复制过来。
2) 配置yml文件
配置lczPlatformServer\application.yml 文件:
#当前微服务信息
server:
#平台微服务访问端口
port: 8081
servlet:
#与乐创者服务应用名保持一致
context-path: /lczServer
tomcat:
threads:
#最小线程数
min-spare: 10
#最大线程数
max: 500
#等待最大队列长度
accept-count: 1000
#最大链接数
max-connections: 2000
spring:
application:
name: lczPlatform
mvc:
throw-exception-if-no-handler-found: true
logging:
config: classpath:conf/log4j2.xml
feign:
httpclient:
#客户端请求连接池
enabled: true
max-connections: 100
connection-timeout: 1000
time-to-live: 10
time-to-live-unit: minutes
lcz_server:
#离线开发微服务
batch_work:
name: lczBatchWork
url: http://127.0.0.1:8081/lczServer
#熔断配置
hystrix:
command:
execution:
#熔断超时时间(ms)
timeoutInMilliseconds: 2000
isolation:
strategy: THREAD
threadPool:
coreSize: 20
maxQueueSize: 200
maximumSize: 200
keepAliveTimeMinutes: 6
一般只需要进行以下配置:
(1) 修改 feign->lcz_server 下各微服务的 url 访问地址。
url的配置规则:直接配置代理的nginx访问地址即可,格式: http(https)://nginx地址:端口/平台应用名;
(2) 修改应用上下文路径(可选):默认为lczServer,如果访问地址中需要重命名,那么 server-> servlet -> context-path、feign->lcz_server -> url 中都需要一致性修改。同时,nginx.conf文件中也做对应调整。
(3) 调整微服务端口(可选):如果默认的微服务端口已经被占用,可用过 server->port 属性进行调整。
2.2 离线开发微服务(lczBatchWorkServer)
1) 配置yml文件
配置lczBatchWorkServer\application.yml 文件:
#当前微服务信息
server:
#离线开发微服务访问端口
port: 14685
servlet:
#与乐创者服务应用名保持一致
context-path: /lczServer
tomcat:
threads:
#最小线程数
min-spare: 10
#最大线程数
max: 500
#等待最大队列长度
accept-count: 1000
#最大链接数
max-connections: 2000
spring:
application:
name: lczBatchWork
servlet:
multipart:
enabled: true
max-file-size: 100MB
max-request-size: 100MB
mvc:
throw-exception-if-no-handler-found: true
logging:
config: classpath:conf/log4j2.xml
feign:
httpclient:
#客户端请求连接池
enabled: true
max-connections: 100
connection-timeout: 1000
time-to-live: 10
time-to-live-unit: minutes
lcz_server:
platform:
name: lczPlatform
url: http://127.0.0.1:8081/lczServer
#熔断配置
hystrix:
command:
execution:
timeoutInMilliseconds: 2000 #熔断超时时间
isolation:
strategy: THREAD
threadPool:
coreSize: 20
maxQueueSize: 200
maximumSize: 200
keepAliveTimeMinutes: 6
# datax job config
datax:
job:
setting:
speed:
channel: 5 # channel并发数
#record: # 全局配置channel的record限速 ,最终的单个channel的限速 = 全局配置channel的record限速 / channel并发数
byte: 1048576 #全局配置 channel 的 byte 限速,最终的单个channel的限速 = 全局配置channel的byte限速 / channel并发数
# python 环境配置
python:
# 执行命令,默认环境变量windows-python、linux-python3
#自定义说明:
#1)Linux 示例
#cmd=/home/python/bin/python3
#2)Windows 示例
#cmd=E:\\Python3x\\python.exe
#注:Windows 中路径为双反斜杠 \\ 。
#cmd: python
spark:
executor:
memory: 2g # 执行器分配2g
lcz:
localCache:
open: true
timeToIdle: 200 #单位为秒
timeToLive: 0
memory:
type: T1_16 #占用内存最大百分比 现在是16分之一 T1_3,T1_4,T1_5,T1_6,T1_8,T1_10,T1_16
disk:
path: ./localcache
maxBytes: 20480 #占用硬盘最大容量 单位MB
一般只需要进行以下配置:
(1) 修改 feign->lcz_server 下各微服务的 url 访问地址。
url的配置规则:直接配置代理的nginx访问地址即可,格式: http(https)://nginx地址:端口/平台应用名;
(2) 修改应用上下文路径(可选):默认为lczServer,如果访问地址中需要重命名,那么 server-> servlet -> context-path、feign->lcz_server -> url 中都需要一致性修改。同时,nginx.conf文件中也做对应调整。
(3) 调整微服务端口(可选):如果默认的微服务端口已经被占用,可用过 server->port 属性进行调整。
(4) 分配spark内存(可选):默认2GB,如果通过SparkSQL处理的数据量比较大,需要做适当调大,大致推荐如下:
2g: 一次性处理数据量在10列100万行左右。
4g: 一次性处理数据量在10列200万行左右。
8g: 一次性处理数据量在10列500万行左右。
(5) python环境配置(可选):默认按照对应操作系统命令执行,如果系统未配置命令或命令名称不是规范的,则可用过 python-> cmd 进行个性化配置
2.3 实时同步微服务(lczStreamWorkServer)
1) 配置yml文件
配置lczStreamWorkServer\application.yml 文件:
#当前微服务信息
server:
#实时同步微服务访问端口
port: 14686
servlet:
#与乐创者服务应用名保持一致
context-path: /lczServer
#Tomcat
tomcat:
threads:
#最小线程数
min-spare: 10
#最大线程数
max: 500
#等待最大队列长度
accept-count: 1000
#最大链接数
max-connections: 2000
spring:
application:
name: lczStreamWork
servlet:
multipart:
enabled: true
max-file-size: 100MB
max-request-size: 100MB
mvc:
throw-exception-if-no-handler-found: true
logging:
config: classpath:conf/log4j2.xml
feign:
client:
config:
default:
readTimeout: 1800000
httpclient:
enabled: true
max-connections: 100
connection-timeout: 1000
time-to-live: 10
time-to-live-unit: minutes
lcz_log: false
lcz_server:
platform:
name: lczPlatform
url: http://127.0.0.1:8081/lczServer
#熔断配置
hystrix:
command:
execution:
timeoutInMilliseconds: 2000 #熔断超时时间
isolation:
strategy: THREAD
threadPool:
coreSize: 20
maxQueueSize: 200
maximumSize: 200
keepAliveTimeMinutes: 6
lcz:
localCache:
open: true
timeToIdle: 200 #单位为秒
timeToLive: 0
memory:
type: T1_16 #占用内存最大百分比 现在是16分之一 T1_3,T1_4,T1_5,T1_6,T1_8,T1_10,T1_16
disk:
path: ./localcache
maxBytes: 20480 #占用硬盘最大容量 单位MB
flink:
rpc:
platformUrl: http://127.0.0.1:8081/lczServer
streamWorkUrl: http://127.0.0.1:14686/lczServer
rest:
host: 127.0.0.1 # rest 主机地址
port: 8091 # rest 端口
runMode: 1 # 运行环境 1:本地 2:远程
checkpoint: # 检查点
checkpointInterval: 60000 #检查点间隔 单位:ms
maxConcurrentCheckpoints: 1 #最大并发数
checkpointTimeout: 60000 #检查点超时时间,单位:ms
checkpointStorage: file:///${user.dir}/checkpoint # 检查点保存路径,可以是本地文件路径,HDFS路径等
savepointStorage: file:///${user.dir}/savepoint # 保存点路径,可以是本地文件路径,HDFS路径等
一般只需要进行以下配置:
(1) 修改 feign->lcz_server 下各微服务的 url 访问地址。
url的配置规则:直接配置代理的nginx访问地址即可,格式: http(https)://nginx地址:端口/平台应用名;
(2) 修改应用上下文路径(可选):默认为lczServer,如果访问地址中需要重命名,那么 server-> servlet -> context-path、feign->lcz_server -> url 中都需要一致性修改。同时,nginx.conf文件中也做对应调整。
(3) 调整微服务端口(可选):如果默认的微服务端口已经被占用,可用过 server->port 属性进行调整。
(4) flink访问乐创者服务的配置(可选):通过flink->rpc配置平台微服务和实时同步微服务的访问url
(5) 实时同步微服务启动flink任务的配置(可选):通过flink->rest配置主机地址和端口
2.4 调度微服务(lczScheduleServer)
1) 配置yml文件
配置lczScheduleServer\application.yml 文件:
#当前微服务信息
server:
#调度微服务接口
port: 14683
servlet:
context-path: /lczServer
tomcat:
threads:
#最小线程数
min-spare: 10
#最大线程数
max: 500
#等待最大队列长度
accept-count: 1000
#最大链接数
max-connections: 2000
spring:
application:
name: lczSchedule
mvc:
throw-exception-if-no-handler-found: true
logging:
config: classpath:conf/log4j2.xml
feign:
httpclient:
enabled: true
max-connections: 100
connection-timeout: 1000
time-to-live: 10
time-to-live-unit: minutes
lcz_server:
platform:
name: lczPlatform
url: http://127.0.0.1:8081/lczServer
batch_work_engine:
name: lczBatchWorkEngine
url: http://127.0.0.1:14685/lczServer
#熔断配置
hystrix:
command:
execution:
timeoutInMilliseconds: 2000 #熔断超时时间
isolation:
strategy: THREAD
threadPool:
coreSize: 20
maxQueueSize: 200
maximumSize: 200
keepAliveTimeMinutes: 6
一般只需要进行以下配置:
(1) 修改 feign->lcz_server 下各微服务的 url 访问地址。
url的配置规则:直接配置代理的nginx访问地址即可,格式: http(https)://nginx地址:端口/平台应用名;
(2) 修改应用上下文路径(可选):默认为lczServer,如果访问地址中需要重命名,那么 server-> servlet -> context-path、feign->lcz_server -> url 中都需要一致性修改。同时,nginx.conf文件中也做对应调整。
(3) 调整微服务端口(可选):如果默认的微服务端口已经被占用,可用过 server->port 属性进行调整。
【警告】yml文件修改时,不要随意调整对象和属性的缩进格式,否则文件配置读取会失败。
2.5 数据服务微服务(lczDataProvideServer)
1) 配置yml文件
lczDataProvideServer\application.yml 文件:
#当前微服务信息
server:
#调度微服务接口
port: 14684
servlet:
context-path: /lczServer
tomcat:
threads:
#最小线程数
min-spare: 10
#最大线程数
max: 500
#等待最大队列长度
accept-count: 1000
#最大链接数
max-connections: 2000
spring:
application:
name: lczDataProvide
mvc:
throw-exception-if-no-handler-found: true
logging:
config: classpath:conf/log4j2.xml
feign:
httpclient:
enabled: true
max-connections: 100
connection-timeout: 1000
time-to-live: 10
time-to-live-unit: minutes
lcz_server:
platform:
name: lczPlatform
url: http://127.0.0.1:8081/lczServer
#熔断配置
hystrix:
command:
execution:
timeoutInMilliseconds: 2000 #熔断超时时间
isolation:
strategy: THREAD
threadPool:
coreSize: 50
maxQueueSize: 300
maximumSize: 300
queueSizeRejectionThreshold: 200
keepAliveTimeMinutes: 6
一般只需要进行以下配置:
(1) 修改 feign->lcz_server 下各微服务的 url 访问地址。
url的配置规则:直接配置代理的nginx访问地址即可,格式: http(https)://nginx地址:端口/平台应用名;
(2) 修改应用上下文路径(可选):默认为lczServer,如果访问地址中需要重命名,那么 server-> servlet -> context-path、feign->lcz_server -> url 中都需要一致性修改。同时,nginx.conf文件中也做对应调整。
(3) 调整微服务端口(可选):如果默认的微服务端口已经被占用,可用过 server->port 属性进行调整。
【警告】yml文件修改时,不要随意调整对象和属性的缩进格式,否则文件配置读取会失败。
3 启动微服务
五个微服务的启动顺序依次为:
平台微服务 –> 离线开发微服务 –> 调度微服务
平台微服务 –> 数据服务微服务
平台微服务 –> 实时同步微服务
需要等待前一个微服务启动成功后,再启动后一个微服务。
3.1 windows
双击执行lczPlatformServer/startup.bat、lczBatchWorkServer/startup.bat、lczScheduleServer/startup.bat、lczDataProvideServer/startup.bat、lczDataProvideServer/startup.bat、lczStreamWorkServer/startup.bat可分别启动平台微服务、离线开发微服务、调度微服务、数据服务微服务、实时同步微服务等。
【小提示】如果并发处理的任务多、数据转换的数据量比较大需要适当调大lczBatchWorkEServer/startup.bat中的 -Xmx4096m
-Xmx的值一般建议设置为1024的倍数
3.2 linux
命令窗口中分别进入lczPlatformServer、lczBatchWorkServer、lczScheduleServer、lczDataProvideServer、lczStreamWorkServer目录,执行“./startup.sh”即可分别启动微服务,如下图所示:
1、启动时如果报权限错误,可以先执行: chmod 777 ./*
2、如果要修改startup.sh中的配置,可通过 vim进行修改,不能在windows中通过编辑器修改。
服务启动完成后,可以通过以下命令查看微服务的启动状态:
ps -ef|grep java
最后编辑:柳杨 更新时间:2025-04-22 15:31
