# 微服务接入说明
# 1. 微服务接入需要申请账户:
1. 认证中心服务账户
2. VPN账户(开发环境不需要)
# 2. 集群配置修改
- 引入依赖包
<!-- 字典 -->
<dependency>
<groupId>com.jinke.ts</groupId>
<artifactId>ts-module-dict</artifactId>
<version>${ts.last.version}</version>
</dependency>
<!-- 字典管理 -->
<dependency>
<groupId>com.jinke.ts</groupId>
<artifactId>ts-component-dictMg</artifactId>
<version>${ts.last.version}</version>
</dependency>
<!-- 数据源 -->
<dependency>
<groupId>com.jinke.ts</groupId>
<artifactId>ts-module-mybatis</artifactId>
<version>${ts.last.version}</version>
</dependency>
<!-- swagger文档 -->
<dependency>
<groupId>com.jinke.ts</groupId>
<artifactId>ts-module-swagger</artifactId>
<version>${ts.last.version}</version>
</dependency>
<!-- 集群缓存redis -->
<dependency>
<groupId>com.jinke.ts</groupId>
<artifactId>ts-module-cache-redis</artifactId>
<version>${ts.last.version}</version>
</dependency>
<!-- 服务健康 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
<!-- Spring Cloud Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>${spring.cloud.commons.version}</version>
</dependency>
<!-- Spring Cloud Nacos Service Discovery -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${spring.cloud.commons.version}</version>
</dependency>
<!-- sentinel 流控 -->
<dependency>
<groupId>com.jinke.ts</groupId>
<artifactId>ts-module-sentinel</artifactId>
<version>${ts.last.version}</version>
</dependency>
<!-- 单点登录 -->
<dependency>
<groupId>com.jinke.ts</groupId>
<artifactId>ts-module-oauth2-resource</artifactId>
<version>${ts.last.version}</version>
</dependency>
<!--整合Spring cloud-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring.cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
- 修改配置文件
server:
port: {你的端口}
compression:
enabled: true
mime-types: application/javascript,text/css,application/json,application/xml,text/html,text/xml,text/plain
servlet:
session:
cookie:
name: UISESSIONMEMBER
timeout: 7200s
context-path: /{服务名称}
# 统一设置日期格式
spring:
application:
name: @project.artifactId@ #如果不生效检查pom文件中加入
profiles:
active: test #环境
feign:
sentinel:
enabled: true #feign服务
ts:
log:
output-type: fileerror #正式删除fileinfo console
package-level: # 包日志级别配置
org.springframework.boot: error
com.codingapi: error
com.jinke: info
com.alibaba: error
org.apache.commons.beanutils: error
org.apache.tomcat: error
org.apache.catalina: error
io.lettuce.core: error
org.ehcache: error
org.mybatis: error
appender-type:
fileinfo:
appender-loader-class: com.jinke.ts.core.log.logback.config.RollingFileAppenderLoader # 文件配置加载器类名
file-name-pattern: /var/log/webapps/${spring.application.name}/sys_info_%d{yyyy-MM-dd}_%i.log # 配置日志文件的路径和命名规则
format: "%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n" # 日志输出格式
maxHistory: 30 # 文件最大保留天数
maxFileSize: 10mb # 单个文件最大容量(单位可以是kb,mb,gb)
clearSize: 1gb # 所有文件最大容量(单位可以是kb,mb,gb)
use-all-package-level: false # 是否使用package-level所配置的包和包的日志级别(true:使用,false:不使用)
monitor-packages: # 同上
- com.jinke
- com.codingapi
- org.springframework.boot
- com.alibaba
- org.apache.commons.beanutils
- org.apache.tomcat
- org.apache.catalina
- io.lettuce.core
- org.ehcache
- org.mybatis
fileerror:
appender-loader-class: com.jinke.ts.core.log.logback.config.RollingFileAppenderLoader # 文件配置加载器类名
file-name-pattern: /var/log/webapps/${spring.application.name}/sys_error_%d{yyyy-MM-dd}_%i.log # 配置日志文件的路径和命名规则
format: "%d{yyyy-MM-dd HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n" # 日志输出格式
maxHistory: 30 # 文件最大保留天数
maxFileSize: 10mb # 单个文件最大容量(单位可以是kb,mb,gb)
clearSize: 1gb # 所有文件最大容量(单位可以是kb,mb,gb)
use-all-package-level: false # 是否使用package-level所配置的包和包的日志级别(true:使用,false:不使用)
monitor-packages: # 同上
- com.codingapi
- org.springframework.boot
- com.alibaba
- org.apache.commons.beanutils
- org.apache.tomcat
- org.apache.catalina
- io.lettuce.core
- org.ehcache
- org.mybatis
- com.jinke
- 接入NACOS注册中心需配置修改bootstrap-test.yaml bootstrap-prod.yaml 需注意文中自定义地方
spring:
cloud:
inetutils:
preferred-networks: 10.240 # 开发环境用 使微服务集群能调用本地服务
sentinel:
eager: true
transport:
dashboard: sentinel-dashboard.tq-midware.svc.cluster.local:8080 # 注册服务到流控平台
nacos:
discovery:
metadata:
management:
context-path: ${server.servlet.context-path}/actuator
namespace: #46c14238-9f7e-4415-ac0e-1c45953c6f50 #命名空间 如无则留空
# 指定nacos的server的地址 默认无需变更
server-addr: nacos.tq-midware.svc.cluster.local:8848
config:
server-addr: nacos.tq-midware.svc.cluster.local:8848
namespace: #46c14238-9f7e-4415-ac0e-1c45953c6f50
extension-configs[0]:
data-id: ds.yaml # 你的项目数据源
group: DEFAULT_GROUP # 默认为DEFAULT_GROUP
refresh: true # 是否动态刷新,默认为false
extension-configs[1]:
data-id: redis-cluster-dev.yaml # 你的项目缓存资源配置
group: DEFAULT_GROUP # 默认为DEFAULT_GROUP
refresh: true # 是否动态刷新,默认为false
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
banner:
location: banner.txt
output:
ansi:
enabled: always
- @project.artifactId@ #如果不生效检查pom文件中加入
<directory>src/main/resources</directory>
<filtering>true</filtering>
# 在ResourceApplication加注解@EnableDiscoveryClient
# 3. 将服务配置为资源服务
1..注册为资源服务器
<dependency>
<groupId>com.jinke.ts</groupId>
<artifactId>ts-module-oauth2-resource</artifactId>
<version>${ts.last.version}</version>
</dependency>
- 配置客户端账户和密码,客户端账户密码联系管理员开通
security:
oauth2:
enable: true
client:
client-id: {你的客户端账户}
client-secret: {你的客户端密码}
access-token-uri: https://gateway-test.tq-service.com/uaa-center/oauth/token
user-authorization-uri: https://gateway-test.tq-service.com/uaa-center/oauth/authorize
resource:
token-info-uri: https://gateway-test.tq-service.com/uaa-center/oauth/check_token
到此还无法启动项目,因为无法读取注册中心数据源等配置信息,需配置VPN,请检查VPN是否正常启动注册。
openvpn使用说明 下载 (opens new window)
VPN账户默认采用统一账户,申请方式联系管理员
挂载vpn后,启动服务查看是否正常注册到nacos注册中心,以及是否正常加载取配置中心
6.注册到服务中,外部访问需要配置网关转发规则,具体参照[网关配置]