微服务迁移k8s
调整项目根目录下的pom.xml
调整bootstrap-backend和bootstrap-provider的pom.xml
调整application.yml
调整apollo中的配置:
dubbo:
application:
# 此名称务必与将要创建的k8s服务名称保持一致,否则服务无法发现
name: micro-auth-provider
qosEnable: true
qosAcceptForeignIp: true
metadataServicePort: 20885
config:
ignore-duplicated-interface: true
registry:
address: dns://${DNS_SERVER:coredns.kube-system}:${DNS_PORT:53}?registry-type=service&duplicate=false&addressSuffix=.toplion.svc.cluster.local.
consumer:
timeout: 10000
# 必须配置,k8s中服务发现需要用到,指向服务提供者的k8s服务名称,多个服务名称用英文逗号分隔
provided-by: ${DUBBO_PROVIDED_BY:common-provider}
禁用原logback配置
重命名bootstrap项目下src/main/resources/logback-spring.xml为logback-spring.xml.1
推送分支
mvn clean package k8s:build k8s:push
推送完成后登录kubesphere完成后续步骤,登录名为toplion,密码为Tp234567
spring:
jmx.enabled: false
application:
name: micro-resource-center-backend
main:
allow-circular-references: true
security:
user:
name: toplion
password: toplion
dubbo:
application:
# 此名称务必与将要创建的k8s服务名称保持一致,否则服务无法发现
name: micro-resource-center-backend
qosEnable: true
qosAcceptForeignIp: true
metadataServicePort: 20885
config:
ignore-duplicated-interface: true
registry:
address: dns://${DNS_SERVER:coredns.kube-system}:${DNS_PORT:53}?registry-type=service&duplicate=false&addressSuffix=.toplion.svc.cluster.local.
# registry:
# address: zookeeper://192.168.80.249:2181?timeout=30000
consumer:
timeout: 10000
retries: 0
check: false
# 必须配置,k8s中服务发现需要用到,指向服务提供者的k8s服务名称,多个服务名称用英文逗号分隔
provided-by: ${DUBBO_PROVIDED_BY:micro-resource-center-provider}
keycloak:
enabled: true
realm: toplion
auth-server-url: http://iot-sso.toplion.com.cn/auth
resource: toplion-client
public-client: true
cors: true
cors-allowed-methods: GET,POST,PUT,DELETE,OPTIONS
cors-max-age: 1200
server:
port: 8082
spring:
jmx.enabled: false
application:
name: micro-resource-center-provider
main:
allow-circular-references: true
web-application-type: none
datasource:
url: jdbc:mysql://rm-m5eph3132vb09gqi1.mysql.rds.aliyuncs.com:3306/micro_resource_center?characterEncoding=utf-8&autoReconnect=true&useSSL=true&serverTimezone=Asia/Shanghai&socketTimeout=30000&connectTimeout=60000&useLocalSessionState=true
username: tpdev
password: tp234567
tomcat:
init-s-q-l: "SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;"
test-on-borrow: true
validation-query: select 1
test-on-connect: true
test-on-return: true
test-while-idle: true
hikari:
minimum-idle: 10
idle-timeout: 30000
maximum-pool-size: 50
mvc:
pathmatch:
matching-strategy: ant_path_matcher
# dubbo配置
dubbo:
application:
# 此名称务必与将要创建的k8s服务名称保持一致,否则服务无法发现
name: micro-resource-center-provider
qosEnable: true
qosAcceptForeignIp: true
metadataServicePort: 20885
config:
ignore-duplicated-interface: true
registry:
address: dns://${DNS_SERVER:coredns.kube-system}:${DNS_PORT:53}?registry-type=service&duplicate=false&addressSuffix=.toplion.svc.cluster.local.
consumer:
timeout: 10000
# 必须配置,k8s中服务发现需要用到,指向服务提供者的k8s服务名称,多个服务名称用英文逗号分隔
provided-by: ${DUBBO_PROVIDED_BY:}
protocol:
name: dubbo
port: 20880
provider:
timeout: 100000
retries: 0
filter: -exception
# registry:
# address: zookeeper://192.168.80.249:2181?timeout=100000
# 日志配置
#logging:
# path: ${LOGGING_PATH}
# logstash:
# destination: ${LOGSTASH_DESTINATION}
mybatis-plus:
mapper-locations: classpath*:sql/**/*Repository*.xml
type-enums-package: com.toplion.**.enums
global-config:
# 关闭MP3.0自带的banner
banner: false
db-config:
id-type: ASSIGN_ID
configuration:
default-enum-type-handler: org.apache.ibatis.type.EnumOrdinalTypeHandler
#1、SESSION session级别缓存,同一个session相同查询语句不会再次查询数据库 2、STATEMENT 关闭一级缓存
#单服务架构中(有且仅有只有一个程序提供相同服务),一级缓存开启不会影响业务,只会提高性能。 微服务架构中需要关闭一级缓存,原因:Service1先查询数据,若之后Service2修改了数据,之后Service1又再次以同样的查询条件查询数据,因走缓存会出现查处的数据不是最新数据
localCacheScope: STATEMENT
https://apollo-portal.toplion.com.cn/
账号:toplion
密码:toplion@43
https://ks.toplion.com.cn/
账号:project-admin
密码: Tpqwe234