kingbase读取blob,下载文件注意事项 在业务输出的时候,判断是否是人大金仓数据库,如果是人大金仓数据库,就进行转换,如果不是人大金仓就走原先的流程。由于人大金仓存储的blob是16进制,且前后前后还包含了0字节。导致我们原先下载文件的方法有异常。DbUtils.java 转换方法提取到公共包。
ElasticSearch添加xpack认证 要重新申明es client,重新初始化TransportClient 以及ElasticsearchTemplate。说明:如果不需要xpcak认证,则只需要将设置。application.yml 配置。三、es整合xpack实现。其他代码保持不变即可。一、新增xpack依赖包。二、 在其他工程中引用。然后 进入工程 执行。
Job定时任务不允许并行&错过(misfire)策略说明 将所有错过的执行时间点全都补上,例如,任务15s执行一次,执行的任务错过了4分钟,则执行MisFire时,一次性执行4*(60/15)=16次任务。任务完成后,如果下次触发时间为null,则状态变更为COMPLETE,如果下次触发任务不为nul。列,对quartz而言,就已经调度完成了,后续任务的执行状态无法跟追,导致原生注解@Disa。l,则状态变更为WAITING,进入等待下一次任务的触发。当任务执行时间过长、服务停机、任务暂停等原因,导致其超过其下次执行的时间点时,就。
控制某些请求不记录日志 LogPermission(print=false,write=false) //不允许日志存储,也不允许日志输出到控制台。:由于统一拦截日志请求,导致所有匹配的请求都会打印日志,这里需要控制有些请求执行不打印日志,比如定时每隔几秒执行某些请求。@LogPermission(print=false) //不允许日志输出到控制台,但允许日志存储。@LogPermission(write=false) //不允许日志存储,但允许日志输出到控制台。可以根据业务需要,在不需要日志记录的地方,添加下列注解。
mysql JSON特性优化 由于一些特定场景,mysql需要用到json串,例如文档,不同的文档可能包含的属性不一样,且属性个数较多,这个时候用json存储比较合适,不然用宽表,影响性能,维护也麻烦(例如后期新增属性之类的)有朋友问到,mysql如果要根据json中的某个属性过滤,数据量大的话,性能很差,要如何提高性能?后面可以为这个虚拟列创建索引,根据虚拟列来过滤即可。这里可以根据mysql5.7引入的虚拟列来解决。创建表test,包含如下数据。好了,不废话,直接上方案。(全表扫描,效率低)
docker 常用命令 1、启动docker(以centos7安装docker23.0.1为例)12、容器与主机间数据拷贝(容器外操作)6、查看docker存储使用情况。2、查看docker服务状态。5、查看docker容器信息。7、查看本地所有镜像。
服务器带宽忽然暴增,不停的触发告警 线上环境,服务器的外网下行带宽达到某个阈值,触发告警,查了下服务器的带宽监控信息,是从某个时间开始突然串上去的,然后监控图形非常有规律,都是每秒达到顶峰后,又立马下去了,怀疑是不是有测试人员定时压测。),定位到了对应的ip,果然是内部人为测试导致的(正常消耗这些带宽是正常的,只是线上环境带宽不足还未扩容)上面的结果将显示每个请求的统计信息,包括请求数量,各种响应状态码的计数,以及发送的字节数。追踪到耗带宽最大的请求,以及请求频率,差不多定位到了问题,再结合抓包(通过nethogs 网卡查看。
Arthas生成火焰图命令报错汇总 AsyncProfiler error: Can not find libasyncProfiler so, please check the arthas directory.2、发现alpine基础镜像中缺乏libstdc++.so.6库,于是按照提示安装libstdc++,容器中执行命令apk add libstdc++;再次执行profiler start,又出现了如下错误Perf events unavailable. See stderr of the target process.
centos7配置 SFTP(限制指定用户访问指定目录) 确保您已经安装了OpenSSH服务器和vsftpd软件包。如果没有安装,可以使用以下命令进行安装。这样就可以对/home/oss/files/device目录进行读写,文件上传等操作。如果想要在该目录下执行写操作,则再新建目录,并授予当前登录用户的权限。禁用sftpuser用户的SSH登录,以确保只能通过SFTP访问。可以使用以下命令来查看系统中的有效用户和组。创建一个新的系统用户,并设置其密码。编辑OpenSSH服务器的配置文件。
python连接mysql数据库报错pymysql.err.OperationalError 2、可能新版mysql默认使用的caching_sha2_password认证方式,换成mysql_native_password就可以。2、进入msql服务,执行mysql -u root -p 回车,输入密码,也可以通过navicat/DBeaver连接数据库。优化思考,一般程序里头不会直接使用root,权限范围过大,这里新建用户,并授予特定数据库权限,供ai服务使用。1、创建账号:ai_user,密码:pw@666的用户。4、刷新内存,重新加载权限信息。3、刷新内存,重新加载权限信息。
redis缓存失效时间没到,数据莫名丢失问题排查 述:redis缓存了token,失效时间为24小时,可是每次不到多久,就提示token失效,重新登录后,没用多久,又提示token失效。查看了下缓存,发现数据全部没掉了,并且多了几个back1,back2...,怀疑原来redis未设置密码,会不会是被攻击了。3、输入monitor (也可以把监控信息输出到文件中:redis-cli monitor >/data/logs/redis/log0326.txt)修改宿主机/etc/conf/redis/redis.conf配置,加入密码。
浅谈下cdn以及防盗链问题 CDN(Content Delivery Network)是一种分布式网络架构,用于提供高效的内容分发服务。CDN通过将内容缓存在离用户最近的节点上,以降低用户访问内容时的延迟和提高性能。CDN通过在全球范围内部署服务器节点,使用户能够从就近的节点获取内容,从而减少了传输距离和网络拥塞,提供更快的访问速度和更稳定的用户体验。
Prometheus之file_sd_configs配置 基于文件的服务注册方式,可以将target的配置信息单独的写入json或者yaml配置文件中,然后将这些配置文件添加到file_sd_configs中,Prometheus服务会定期检测这些服务是否发生变化,若发生变化,则会重新配置target信息。Prometheus 服务除了通过静态配置【static_configs】配置target地址之外,还可以通过服务发现的方式来抓取目标,例如kubernetes,consol等,如果不基于容器部署,那么这里介绍基于文件的服务发现方式可能适合你。
集群路由策略 路由策略1.第一个:当选择该策略时,会选择执行器注册地址的第一台机器执行,如果第一台机器出现故障,则调度任务失败。2.第二个:当选择该策略时,会选择执行器注册地址的第二台机器执行,如果第二台机器出现故障,则调度任务失败。3.轮询:当选择该策略时,会按照执行器注册地址轮询分配任务,如果其中一台机器出现故障,调度任务失败,任务不会转移。4.随机:当选择该策略时,会按照执行器注册地址随机分配任务,如果其中一台机器出现故障,调度任务失败,任务不会转移。5.一致性HASH:当选择该策略时,每个任务按
网卡重启,导致docker容器暴露端口都无法对外开放 公司内部网络ip冲突,重新分配了某个范围的ip后,修改网络信息(位于/etc/sysconfig/network-scripts目录下对应网卡)后,重启网卡(systemctl restart network);通过iptables -n --line-numbers -vL DOCKE 查看到的数据包都是0。通过iptables -n --line-numbers -vL DOCKE 查看。二:重启docker(生效,具体是否还有其他方式后续有空再试下)一:重启iptables防火墙(不生效)
解析资源文件-PathMatchingResourcePatternResolver PathMatchingResourcePatternResolver可以用来解析资源文件,主要是用来解析下的资源文件。当然它也可以用来解析其它资源文件,如基于文件系统的本地资源文件。
mybatis.mapper-locations=classpath*:/sql/.xml与mybatis.mapper-locations=classpath:/sql/.xml的区别在于资源路径的 需要注意的是,这两种配置方式在MyBatis中都是支持的,选择使用哪种方式取决于具体的需求和项目结构。使用了精确的classpath路径,只在classpath根路径下查找满足指定路径模式(这意味着会在所有的classpath路径下递归搜索。,表示在所有的classpath路径下查找满足指定路径模式(这意味着只会在classpath根路径下的。具体的区别在于资源路径的匹配范围不同,会更加灵活地匹配到更多的资源文件,而。则只会匹配到指定路径下的资源文件。
arthas—阿里开源的Java诊断工具 上面是通过trace命令来获取信息,从结果里,我们可以知道通过stack跟踪HttpServletResponse:sendError(),同样可以知道是哪个Filter返回了401。使用(选择方法或者静态变量,右键,在弹出框中选择arthas command,然后再选择对应的命令,就会copy生成好对应的命令)tt:方法执行数据的时空隧道,记录下指定方法每次调用的入参和返回信息,并能对这些不同的时间下调用进行观测。获取静态类的静态字段(获取UserController类里的logger字段)