1. 服务器时间同步

在部署微服务时,平台使用了seata ,这个时候需要保证服务器时间同步,如果时间不同步会导致事务超时失败。

解决办法
执行命令
ntpdate ntp.aliyun.com

2.微服务线程调整

我们的微服务应用一般是打包成jar 包,默认的jar包是内置的tomcat在运行。一般情况我们可以在 *.yml 属性文件中对tomcat的最大线程数,空闲线程数进行调整,但是这样有个问题。如果将这些数据配置到 yml文件,程序打成包后,如果需要调整这些个参数,就必须重新打包。

实际上我们可以将这些参数配置到 nacos 的文件中。

2.1 全局配置

顾名思义,就是我们配置有个地方,所有的微服务都会使用这个配置。

修改 nacos-config-dev.properties

增加配置:

# 等待连接数
server.tomcat.accept-count=1000
# 最大连接数
server.tomcat.max-connections=1000
# 最大线程数量
server.tomcat.max-threads=1000
# 最小线程数
server.tomcat.min-spare-threads=22

关于这些线程的调整,我们可以参考以下文章。

https://www.cnblogs.com/crazymakercircle/p/11748214.html

2.2 对某个微服务单独配置

有些情况下,我们想对某一个微服务应用进行单独设置,这个时候我们可以做如下配置。

我们可以 使用

  1. 微服务名 +”-dev.properties”
  2. 微服务名称 +”.properties”

其中优先第一条,如果没有配置则获取 第二条,再获取全局的配置。

比如我们想对 jpaas-system 服务设置,我们可以做如下的配置:

修改 jpaas-system-dev.properties

# 等待连接数
server.tomcat.accept-count=100
# 最大连接数
server.tomcat.max-connections=500
# 最大线程数量
server.tomcat.max-threads=500
# 最小线程数量
server.tomcat.min-spare-threads=19

这样就会优先这个配置,具体测试,我们可以使用 普罗米修斯进行验证。

2.3 在nacos中配置微服务端口

有些情况下,客户希望通过改变默认的微服务端口,我们可以在微服务配置中,进行配置。

比如用户的微服务,我们修改配置:jpaas-user-dev.properties

增加配置server.port=7777,添加后重启微服务。

3 日志配置

在开发模式下,我们的日志模式一般使用调试模式,在生产环境下,我们希望使用ERROR模式,这个时候我们可以在运行时指定 log4j 的配置文件。具体的使用方法如下:

将 logback-spring.xml 拷贝到 jar包相同的路径。

然后使用如下命令启动微服务:

java -jar -Xbootclasspath/a:. jpaas-user.jar --nacos.address=localhost:8848

使用 -Xbootclasspath/a:. 指定资源文件路径,这样我们只需要修改 logback-spring.xml 的模式为 ERROR。这样也方便我们直接改成 DEBUG 模式。

4. 前端启用压缩

现在的程序使用单页面应用,因此程序会在一开始就会加载页面JS。如果带宽不够,那么会影响页面下载速度。

我们可以使用NGINX 进行压缩,加快文件下载。

编辑 nginx.conf

gzip  on;
    gzip_min_length 1k;
    gzip_buffers 4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 3;
    gzip_types text/plain application/javascript application/css  text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary off;
    gzip_disable "MSIE [1-6]\.";

gzip_comp_level 是压缩等级,可以使用 1-9 ,值越大,压缩比越高,但是对CPU的消耗也就越高。压缩比达到了 3倍.

5.后端接口拦截配置

如需要对后端接口的url进行拦截,则需要在nacos的配置文件【nacos-config.properties】进行如下的配置:

redxun.security.auth.urlPermission.enable=true

不需要拦截,配置如下:

redxun.security.auth.urlPermission.enable=false

此外,如果配置文件没有该配置项,系统默认开启拦截。机构管理员不受此配置项限制,都不进行接口拦截。

文档更新时间: 2021-08-30 16:56   作者:zyg