基础配置
通过spring.application.name属性,我们可以指定微服务的名称后续在调用的时候只需要使用该名称就可以进行服务的访问。 spring.http.encoding.charset=UTF-8通过此配置来解决编码问题,相当于web项目中的编码过滤器,可以有效的解决乱码问题。 mybatis-plus.typeAliasesPackage:有了此配置之后,mapper映射中的实体类就不用写全路径了。 mybatis-plus.configuration.log-impl:org.apache.ibatis.logging.stdout.StdOutImpl 配置数据库输出语句的日志输出
RocketMq
###producer
#该应用是否启用生产者
rocketmq. producer. isOnOff= on
#发送同一类消息的设置为同一个group,保证唯一, 默认不需要设置,rocketmq会使用ip@pid ( pid代表jvm名字) 作为唯一标示
rocketmq. producer. groupName= ${ spring. application. name}
#mq的nameserver地址
rocketmq. producer. namesrvAddr= 127.0 .0 .1 : 9876
#消息最大长度 默认1024 * 4 ( 4 M)
rocketmq. producer. maxMessageSize= 4096
#发送消息超时时间, 默认3000
rocketmq. producer. sendMsgTimeout= 3000
#发送消息失败重试次数,默认2
rocketmq. producer. retryTimesWhenSendFailed= 2
###consumer
##该应用是否启用消费者
rocketmq. consumer. isOnOff= on
rocketmq. consumer. groupName= ${ spring. application. name}
#mq的nameserver地址
rocketmq. consumer. namesrvAddr= 127.0 .0 .1 : 9876
#该消费者订阅的主题和tags ( "*" 号表示订阅该主题下所有的tags) , 格式:topic~ tag1|| tag2|| tag3; topic2~ * ;
rocketmq. consumer. topics= DemoTopic~ * ;
rocketmq. consumer. consumeThreadMin= 20
rocketmq. consumer. consumeThreadMax= 64
#设置一次消费消息的条数,默认为1 条
rocketmq. consumer. consumeMessageBatchMaxSize= 1
Eureka
Eureka server
eureka:
server:
#* * * * * * * * * * * * node- 节点* * * * * * * * * * * * * *
#服务端开启自我保护模式,前面章节有介绍
enable- self- preservation: true
#清除无效服务实例的时间间隔,默认1 分钟
eviction- interval- timer- in- ms: 60000
#客户端续约间隔,用于计算每分钟续约数Renews threshold
expected- client- renewal- interval- seconds: 30
#请求频率限制器
rate- limiter- burst- size: 1
#是否开启请求频率限制器
rate- limiter- enabled: false
#请求频率的平均值
rate- limiter- full- fetch- average- rate: 100
#设置信任的client list
rate- limiter- privileged- clients:
#注册服务、拉去服务列表数据的请求频率的平均值
rate- limiter- registry- fetch- average- rate: 500
#是否对标准的client进行频率请求限制。如果是false ,则只对非标准client进行限制
rate- limiter- throttle- standard- clients: false
#在服务节点启动时,eureka尝试获取注册信息的次数
registry- sync- retries: 0
#在服务节点启动时,eureka多次尝试获取注册信息的间隔时间
registry- sync- retry- wait- ms: 30000
#Eureka服务器是否应该登录clientAuthHeaders,默认为true
log- identity- headers: true
#允许备份到备份池的最大复制事件数量。而这个备份池负责除状态更新的其他事件。可以根据内存大小,超时和复制流量,来设置此值得大小
max- elements- in- peer- replication- pool: 10000
#允许备份到状态备份池的最大复制事件数量
max- elements- in- status- replication- pool: 10000
#在设置的时间范围类,期望与client续约的百分比。
renewal- percent- threshold: 0.85
#多长时间更新续约的阈值, 默认15 分钟
renewal- threshold- update- interval- ms: 900000
#对于缓存的注册数据,多长时间过期,3 分钟
response- cache- auto- expiration- in- seconds: 180
#多长时间更新一次缓存中的服务注册数据,30 秒
response- cache- update- interval- ms: 30000
#缓存增量数据的时间,以便在检索的时候不丢失信息,默认3 分钟
retention- time- in- m- s- in- delta- queue: 180000
#当时间戳不一致的时候,是否进行同步
sync- when- timestamp- differs: false
#* 是否采用只读缓存策略,只读策略对于缓存的数据不会过期。
use- read- only- response- cache: true
#当eureka server启动的时候,不能从对等节点获取instance注册信息的情况,应等待多长时间。5 分钟
wait- time- in- ms- when- sync- empty: 300000
my- url:
#* * * * * * * * * * * * peer- 集群* * * * * * * * * * * * * *
#指示群集节点之间的复制是否应批处理以提高网络效率。
batch- replication: false
#间隔多长时间,清除过期的 delta 数据
delta- retention- timer- interval- in- ms: 30000
#是否开启禁用增量功能,默认为false
disable- delta: false
#增量信息是否可以提供给客户端或一些远程地区,默认为false
disable- delta- for - remote- regions: false
#如果在远程区域本地没有实例运行,对于应用程序回退的旧行为是否被禁用, 默认为false
disable- transparent- fallback- to- other- region: false
#复制的数据在发送请求时是否被压缩
enable- replicated- request- compression: false
#eureka服务器中获取的内容是否在远程地区被压缩
g- zip- content- from- remote- region: false
#用于定义二级响应缓存的容量大小,默认1000
initial- capacity- of- response- cache: 1000
#复制线程可以保持存活的空闲时间,默认为15 分钟
max- idle- thread- age- in- minutes- for - peer- replication: 15
#状态复制线程可以保持存活的空闲时间,默认为10 分钟
max- idle- thread- in- minutes- age- for - status- replication: 10
#获取将被用于复制线程的最大数目,默认为20
max- threads- for - peer- replication: 20
#被用于状态复制的线程的最大数目,默认为1
max- threads- for - status- replication: 1
#尝试在丢弃复制事件之前进行复制的时间,默认为30000 毫秒
max- time- for - replication: 30000
#正常的对等服务instance最小数量。- 1 表示服务中心为单节点。
min- available- instances- for - peer- replication: - 1
#获取将被用于复制线程的最小数目,默认为5
min- threads- for - peer- replication: 5
#被用于状态复制的线程的最小数目,默认为1
min- threads- for - status- replication: 1
#获取集群里服务器尝试复制数据的次数,默认为5
number- of- replication- retries: 5
#eureka server更新集群节点间隔时间,默认10 分钟,集群节点发送变化时使用。
peer- eureka- nodes- update- interval- ms: 60000
#eureka服务状态的相互更新的时间间隔。
peer- eureka- status- refresh- time- interval- ms: 30000
#eureka对等节点间连接超时时间
peer- node- connect- timeout- ms: 200
#eureka对等节点连接后的空闲时间
peer- node- connection- idle- timeout- seconds: 30
#eureka服务节点间的读数据连接超时时间, 会一致进行重试,如果过小容易造成占用cpu过高
peer- node- read- timeout- ms: 200
#eureka server 节点间连接的总共最大数量
peer- node- total- connections: 1000
#eureka server 节点间连接的单机最大数量
peer- node- total- connections- per- host: 500
#* * * * * * * * * * * * * * remote- 远程* * * * * * * * * * * * * * * * * *
#必须通过远程区域中检索的应用程序的列表
remote- region- app- whitelist:
#连接到对等远程地eureka节点的超时时间,默认为1000 毫秒
remote- region- connect- timeout- ms: 1000
#http连接被清理之后远程地区服务器的空闲时间,默认为30 秒
remote- region- connection- idle- timeout- seconds: 30
#用于执行远程区域注册表请求的线程池的大小,默认为20
remote- region- fetch- thread- pool- size: 20
#获取从远程地区eureka节点读取信息的超时时间,默认为1000 毫秒
remote- region- read- timeout- ms: 1000
#从远程区域取出该注册表的信息的时间间隔,默认为30 秒
remote- region- registry- fetch- interval: 30
#获取远程地区对等节点上http连接的总数,默认为1000
remote- region- total- connections: 1000
#获取远程地区特定的对等节点上http连接的总数,默认为500
remote- region- total- connections- per- host: 500
#用来合格请求远程区域注册表的信任存储文件,默认为空
remote- region- trust- store: ""
#获取偏远地区信任存储文件的密码,默认为“changeit”
remote- region- trust- store- password: changeit
#远程地区的URL列表
remote- region- urls: 11
#针对远程地区发现的网址域名的map
remote- region- urls- with- name:
#* * * * * * * * * * * * * * codec- 解析器* * * * * * * * * * * * * * * * * *
#如果没有设置默认的编解码器将使用xml编解码器,获取的是编码器的类名称
xml- codec- name:
#如果没有设置默认的编解码器将使用全JSON编解码器,获取的是编码器的类名称
json- codec- name:
#属性解析器
property- resolver:
#* * * * * * * * * * * * AWS- 节点* * * * * * * * * * * * * *
#AWS缓存时间
a- s- g- cache- expiry- timeout- ms: 60000
#从AWS上更新ASG信息的时间间隔,单位为毫秒
a- s- g- update- interval- ms: 300000
#查询AWS上ASG(自动缩放组)信息的超时值,单位为毫秒,默认为300
a- s- g- query- timeout- ms: 300
#获取aws访问的id,主要用于弹性ip绑定,此配置是用于aws上的,默认为null
a- w- s- access- id:
#获取aws私有秘钥,主要用于弹性ip绑定,此配置是用于aws上的,默认为null
a- w- s- secret- key:
#aws获取配置绑定EIP或Route53的策略。
binding- strategy: eip
#获取服务器尝试绑定到候选的EIP的次数,默认为3
e- i- p- bind- rebind- retries: 3
#与上面的是同一作用,仅仅是稳定状态检查,默认为5 * 60 * 1000
e- i- p- binding- retry- interval- ms: 300000
#服务器检查ip绑定的时间间隔,单位为毫秒,
e- i- p- binding- retry- interval- ms- when- unbound: 60000
#用来描述从AWS第三账户的自动缩放组中的角色名称,默认为“ListAutoScalingGroups”
list- auto- scaling- groups- role- name: ListAutoScalingGroups
#对AWS集群中服务器节点的准备连接,默认为true
prime- aws- replica- connections: true
#AmazonRoute 53 是一项高可用性及高可扩展性域名服务
#服务器尝试绑定到候选Route53域的次数,默认为3
route53- bind- rebind- retries: 3
#服务器应该检查是否和Route53域绑定的时间间隔,默认为5 分钟
route53- binding- retry- interval- ms: 300000
#用于建立route53域的ttl,默认为30
route53- domain- t- t- l: 30
Eureka Client配置项
eureka:
client:
#服务器是否能够重定向客户端请求到备份服务器。
#如果设置为false ,服务器将直接处理请求,
#如果设置为true ,它可能发送HTTP重定向到客户端。默认为false
allow- redirects: false
#获取实例所在的地区下可用性的区域列表,用逗号隔开。
availability- zones: zone1, zone2
#获取实现了eureka客户端在第一次启动时读取注册表的信息作为回退选项的实现名称
backup- registry- impl: ""
#执行程序指数回退刷新的相关属性,是重试延迟的最大倍数值,默认为10
cache- refresh- executor- exponential- back- off- bound: 10
#执行程序缓存刷新线程池的大小,默认为5
cache- refresh- executor- thread- pool- size: 2
#客户端数据接收的名称????
client- data- accept: full
#这是一个短暂的解码器的配置,如果最新的解码器是稳定的,则可以去除,默认为null
decoder- name: null
#指示eureka客户端是否禁用增量提取
disable- delta: false
#eureka服务器序列化/ 反序列化的信息中获取“$”符号的替换字符串。默认为“_- ”
dollar- replacement:
#该客户端是否可用
enabled: true
#编码器名称
encoder- name: ""
#eureka服务器序列化/ 反序列化的信息中获取“_”符号的的替换字符串。默认为“__“
escape- char - replacement:
#连接到 Eureka Server 空闲连接的超时时间(s),默认30
eureka- connection- idle- timeout- seconds: 30
#连接Eureka Server 超时时间(s),默认5 秒
eureka- server- connect- timeout- seconds: 5
#* * * * * * * * * * * DNS* * * * * * * * * * * * * * *
#获取要查询的DNS名称来获得eureka服务器,此配置只有在eureka服务器ip地址列表是在DNS中才会用到。默认为null
eureka- server- d- n- s- name:
#获取eureka服务器的端口,此配置只有在eureka服务器ip地址列表是在DNS中才会用到。默认为null
eureka- server- port:
#表示eureka注册中心的路径,
#如果配置为eureka,则为http: / / ip: port/ eureka/ ,
#在eureka的配置文件中加入此配置表示eureka作为客户端向注册中心注册,从而构成eureka集群。此配置只有在eureka服务器ip地址列表是在DNS中才会用到,默认为null
eureka- server- u- r- l- context: "eureka"
#指示eureka客户端是否应使用DNS机制来获取要与之通信的eureka服务器列表。
#当DNS名称更新为具有其他服务器时,eureka客户端轮询eurekaServiceUrlPollIntervalSeconds中指定的信息后立即使用该信息。
use- dns- for - fetching- service- urls: false
#读取Eureka Server 超时时间(s),默认8 秒
eureka- server- read- timeout- seconds: 8
#获取从eureka客户端到所有eureka服务器的连接总数, 默认200 个
eureka- server- total- connections: 200
#获取从eureka客户端到eureka服务器主机允许的连接总数,默认50 个
eureka- server- total- connections- per- host: 50
#询问Eureka Server信息变化的时间间隔(s),默认为300 秒
eureka- service- url- poll- interval- seconds: 300
#客户端是否获取eureka服务器注册表上的注册信息,默认为true
fetch- registry: true
#eureka服务注册表信息里的以逗号隔开的地区名单,如果不这样返回这些地区名单,则客户端启动将会出错。默认为null
fetch- remote- regions- registry:
#是否过滤掉,非UP的实例。默认为true
filter- only- up- instances: true
#当服务端支持压缩的情况下,是否支持从服务端获取的信息进行压缩。默认为true
g- zip- content: true
#心跳执行程序回退相关的属性,是重试延迟的最大倍数值,默认为10
heartbeat- executor- exponential- back- off- bound: 10
#心跳保持线程池初始化线程数,默认2 个
heartbeat- executor- thread- pool- size: 2
#是否开启健康检查
healthcheck:
enabled: true
#是否记录eureka服务器和客户端之间在注册表的信息方面的差异,默认为false
log- delta- diff: false
#客户端的状态更新到远程服务器上,默认为true
on- demand- update- status- change: true
#客户端优先级
order: 0
#实例是否使用同一zone里的eureka服务器,默认为true ,理想状态下,eureka客户端与服务端是在同一zone下
prefer- same- zone- eureka: true
#获取此实例所在的区域
region: "us-east-1"
#自动刷新开启
refresh:
enable: true
#是否注册到eureka
register- with- eureka: true
#从eureka服务器获取注册表信息的频率,默认30 秒
registry- fetch- interval- seconds: 30
#此客户端只对单一的VIP注册表的信息感兴趣。默认为null
registry- refresh- single- vip- address:
#与Eureka注册服务中心的通信zone和url地址, 分区时使用,一般默认使用defaultZone
service- url:
defaultZone: http: / / ip: port/ eureka/ , http: / / ip: port/ eureka/
Zone1: http: / / ip: port/ eureka/ , http: / / ip: port/ eureka/
#client是否在初始化阶段强行注册到服务中心,默认为false
should- enforce- registration- at- init: false
#client在shutdown情况下,是否显示从注册中心注销,默认为true
should- unregister- on- shutdown: true
#更新实例信息的变化到Eureka服务端的间隔时间,(s)
instance- info- replication- interval- seconds: 30
#初始化实例信息到Eureka服务端的间隔时间,(s)
initial- instance- info- replication- interval- seconds: 40
#* * * * * * * * * * codec- 解析器* * * * * * * * * * * * *
property- resolver:
#* * * * * * * * * * proxy- 代理* * * * * * * * * * * * *
#获取eureka server 的代理主机名
proxy- host:
#获取eureka server 的代理主机密码
proxy- password:
#获取eureka server 的代理主机端口
proxy- port:
#获取eureka server 的代理用户名
proxy- user- name:
Eureka Instance配置项
eureka:
instance:
#* * * * * * * * * * * instance- 属性* * * * * * * * * * * * * * * * *
#注册到注册中心的应用所属分组名称
app- group- name:
#* 注册到注册中心的应用名称
appname: unknown
#指定服务实例所属数据中心
data- center- info:
#默认地址解析顺序
default - address- resolution- order:
#该服务实例环境配置,默认test
environment: test
#* 该服务实例所在主机名
hostname:
#* 该服务实例在注册中心的唯一实例ID
instance- id:
#* 该服务实例的IP地址
ip- address:
#该服务实例注册到Eureka Server 的初始状态
initial- status: up
#指示是否应在eureka注册后立即启用实例以获取流量
instance- enabled- onit: false
#表示eureka client发送心跳给server端的频率, 默认30 秒
#如果在leaseExpirationDurationInSeconds后, server端没有收到client的心跳,则将摘除该instance。
#除此之外,如果该instance实现了HealthCheckCallback,并决定让自己unavailable的话,则该instance也不会接收到流量。
lease- renewal- interval- in- seconds: 30
#表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,默认90 秒
#在这个时间内若没收到下一次心跳,则将移除该instance。
#如果该值太大,则很可能将流量转发过去的时候,该instance已经不存活了。
#如果该值设置太小了,则instance则很可能因为临时的网络抖动而被摘除掉。该值至少应该大于
lease- expiration- duration- in- seconds: 90
#自定义的元数据,key/ value都可以随便写。
metadata- map:
myKey: myvalue
#获取用于查找属性的命名空间。 在Spring Cloud中被忽略。
namespace: eureka
#http通信端口
non- secure- port: 80
#是否启用HTTP通信端口
non- secure- port- enabled: true
#* 是否优先使用服务实例的IP地址,相较于hostname
prefer- ip- address: false
registry:
#默认与eureka server开启通信的数量
default - open- for - traffic- count: 1
#每分钟向eureka server的续约次数
expected- number- of- clients- sending- renews: 1
#* * * * * * * * * check- 健康检查* * * * * * * * * * * * *
#该服务实例的健康检查地址(url),绝对地址
health- check- url:
#该服务实例的健康检查地址,相对地址
health- check- url- path: / actuator/ health
#该服务实例的主页地址(url),绝对地址
home- page- url:
#该服务实例的主页地址,相对地址
home- page- url- path: /
#该服务实例的状态检查地址(url),绝对地址
status- page- url:
#该服务实例的状态检查地址,相对地址
status- page- url- path: / actuator/ info
#* * * * * * * * * * * * * * https* * * * * * * * * * * * * * * *
#该服务实例安全健康检查地址(URL),绝对地址
secure- health- check- url:
#HTTPS通信端口
secure- port: 443
#是否启用HTTPS通信端口
secure- port- enabled: false
#服务实例安全主机名称(HTTPS)
secure- virtual- host- name: unknown
#该服务实例非安全注解名称(HTTP)
virtual- host- name: unknown
#* * * * * * * * * * * AWS* * * * * * * * * * * * * * *
#注册到注册中心的应用所属分组名称(AWS服务器)
a- s- g- name: ""