本地调试或者麻烦的,优先打出所有日志定位 logger.info("{}","");
先登录拿到token (密码 11111111),本地直连数据库调用对应服务器 等接口
其他接口需要的 输入Authorization
预生产
tail -f /home/log/cloud/cloud-user.log
启动nacos 详情 https://www.zifangsky.cn/1585.html
https://blog.csdn.net/qq_36537546/article/details/110039657
sh /root/nacos/bin/startup.sh
单机
sh /root/nacos/bin/startup.sh -m standalone
集群
sh /root/nacos/bin/startup.sh -m cluster
tail -f /root/nacos/logs/nacos.log
查找文件
sudo find / -name tomcat
赋予权限
chmod u+x *.sh
编译jar包工具 java Decompoler
解压
unzip zipped_file.zip
工单系统
http://ticket.androidscloud.com:5580/admin.php
IDEA使用Mybatis插件 MyBatisCodeHelper-Pro
https://zhile.io/custom/license
https://www.cnblogs.com/lwcode6/p/12503339.html
https://zhile.io/jetbrains-paid-plugins-license.html
lRU过期策略(过时的使用redis锁)
try catch会超时
线上微服务替换
1.将jar包上传到一个节点的 /tmp目录下
备份到当前节点
cd /opt/vcloud/web/cloud-user/
mv cloud-user.jar cloud-user .jar20210324
拷贝到当前节点
cp /tmp/cloud-user.jar /opt/vcloud/web/cloud-user/
当前节点启动该服务
systemctl restart user
2.从当前节点 SCP 覆盖到其他2个节点
cd /tmp
scp -r cloud-user.jar root@172.16.66.20:/opt/vcloud/web/cloud-user/
scp -r cloud-user.jar root@172.16.66.20:/opt/vcloud/web/cloud-user/
查看当前cloud-user.jar的改动时间
ll -h cloud-user.jar
单个节点逐次无感知启动
跳板机
test@acl ruichi@2021
线上问题 .* (.就可以用)
grep -n '2021-03-22 15:48:.*http-nio-0.0.0.0-8044-exec-107’ /data/log/cloud/cloud-user.log
grep -n ‘订单查询支付成功*’ /data/log/cloud/cloud-user.log
grep -n ‘第三方订单状态查询*’ /data/log/cloud/cloud-user.log
cat /data/log/cloud/cloud-task-info.log | grep ‘脚本信息计算发送入参…’
cat /data/log/cloud/cloud-user.log | grep ‘http-nio-0.0.0.0-8044-exec-141’|grep -n ‘updatePurchaseRecord’
cat /data/log/cloud/cloud-user.log | grep -n ‘云盘用户信息修改失败 username=7DNVv1615007558’
cat /data/log/cloud/cloud-user.log | grep -n ‘云盘用户信息修改失败 username=bVbJc1617193470’
cat /data/log/cloud/cloud-user.log | grep ‘http-nio-0.0.0.0-8044-exec-141’|grep -n ‘updatePurchaseRecord’
cat /data/log/cloud/cloud-user.log | grep -n ‘515sB1626140452SZX95168996219’
less -f /var/log/cloud/cloud-user.log
Q键退出
cat /data/log/cloud/cloud-user.log | grep -n ‘云盘用户信息修改失败 username=7DNVv1615007558’
cat /data/log/cloud/cloud-user.log | grep -n ‘userCardId:13’
cat /data/log/cloud/cloud-user.log | grep -n ‘http-nio-8023-exec-32’ | grep ‘11:29:3*’
cat /data/log/cloud/cloud-user.log | grep -n ‘云盘’ |grep ‘17:26:24.*’
cat /data/log/cloud/cloud-user.log | grep -n ‘设置密码失败’
cat /data/log/cloud/cloud-wsi.log | grep -n ‘str=43210015’
cat /data/log/cloud/cloud-wsi.log | grep -n ‘str=791051063’
243环境
grep -n ‘6hH381616816832SZX41323675233’ /var/log/cloud/cloud-user.log
支付宝的finishTime设置问题
整mapper映射实体数据库
转Json工具 uTools
当前目录打开 cmd shift+鼠标右键
nacos
https://nacos.io/zh-cn/docs/quick-start-spring-boot.html
grep前置
grep ‘lan’ tail -f /var/log/cloud/cloud-mq.log
find / - wKjHU2AYw7-AT1_UAAFLaWf3_iQ288.png
数据库 备份
https://www.cnblogs.com/zhao-shan/p/12176344.html
mysqldump --skip-lock-tables -ucloud -p cloud t_user > /tmp/t_user.sql
#mysql> use cloud
#mysql> source /tmp/t_user_vital.sql
#服务器ip: 127.0.0.1
#redis主节点 端口号 :7080
#以userVital开头(用户密码相关信息)的hashkey:keys userVital*
#cloud:redis密码
查询redis master 主节点
redis-cli -p 6379 -h 127.0.0.1 -a cloud info replication
#批量删除用户密码redis库缓存命令
redis-cli -h 127.0.0.1 -p 6379 -a cloud keys userVital* | xargs -r -t -n1 /bin/redis-cli -h 127.0.0.1 -p 6379 -a cloud DEL
redis-cli -h 127.0.0.1 -p 6379 -a cloud keys Token* | xargs -r -t -n1 /bin/redis-cli -h 127.0.0.1 -p 6379 -a cloud DEL
https://www.cnblogs.com/kiko2014551511/p/11531584.html
查看redis-server进程号
ps -ef|grep redis
查看redis的安装目录
ls -l /proc/进程号/cwd
lrwxrwxrwx 1 redis redis 0 1月 18 11:42 /proc/8003/cwd -> /var/lib/redis
服务器ip: 192.168.31.223
redis主节点 端口号 :7080
一、
进入redis安装目录的bin目录
cd /var/lib/redis
cd /bin
服务器ip: 127.0.0.1
redis主节点 端口号 :7080
以userVital开头(用户密码相关信息)的hashkey:keys userVital*
cloud:redis密码
批量删除用户密码缓存命令
redis-cli -h 127.0.0.1 -p 7080 -a 123456 keys userVital* | xargs -r -t -n1 /bin/redis-cli -h 127.0.0.1 -p 7080 -a 123456 DEL
批量删除用户t_wsi_info缓存
redis-cli -h 127.0.0.1 -p 7080 -a 123456 keys RK3930* | xargs -r -t -n1 /bin/redis-cli -h 127.0.0.1 -p 7080 -a 123456 DEL
redis-cli keys “userVital*” | xargs redis-cli del
https://www.cnblogs.com/iathanasy/p/8484670.html
sz 下载
rz 上传
cd /opt/vcloud/web/file-center/
cd /opt/vcloud/web/cloud-user/
sudo rz
yum install lrzsz
filterRuleMap.put("/v1/order/*", "anon");
kill nginx
ps -ef|grep nginx
kill -QUIT 2072
netstat -apn|grep 80
tail -f /var/log/nginx/access.log
ctrl+shift+i
ctrl+shift+delete
cat /var/log/cloud/cloud-user.log |grep -C 40
-C标识红色
less -f cloud-user.log
/
G
less -f /var/log/cloud/cloud-user.log
tail -f /var/log/cloud/cloud-mq.log
tail -f /var/log/cloud/cloud-user.log | grep ‘微信回调’
cat /var/log/cloud/cloud-wsi.log | tail -n 100
rabbitmq-server restart
auto import
开关的设置,使关闭状态不发送延迟队列
if (newPay) {
WxPayPcSpendController
AliPayPcSpendService
AliPayAppSpendService
WxPayAppSpendService
http://192.168.31.20/api/user/v1/order/query
{
“myOrderNum”:“123123” ,
“orderChannel”:“123123”,
“username”:“12312”
}
x-real-ip
从t_user_vital中的phone_number字段中查找手机号
拿到随机的username LNGfP1600755136
从t_purchase_record_表中查找记录
打印机打印
\
administrator
密码
1.SVN checkout
2.repository Browser
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.9/plugins
路由键名称(direct模式下路由键=队列名称)
参数一:交换器名称,可以省略(省略存储到AMQP default交换器);参数二:路由键名称(direct模式下路由键=队列名称);参数三:存储消息
mq状态
systemctl restart async_msg
systemctl restart user
systemctl status async_msg
systemctl status user
插件状态 rabbitmq-plugins list
rabbitmq-server -detached
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
tail -f /var/log/cloud/cloud-mq.log
t_menu_rule
redis
https://www.cnblogs.com/xinfang520/p/7723102.html
https://blog.csdn.net/aoxiangzhe/article/details/93164823
redis 查看安装目录
ps -ef|grep redis
ls -l /proc/5307/cwd
auth “cloud”
redis-cli -h 127.0.0.1 -p 6379
远程
@FeignClient调用task上的任务
调用方:一个接口类方法的映射 其他类调用此接口类
提供方:一个相同的类方法映射接口
idea上提交者名字的修改 git config user.name git config user.email
https://blog.csdn.net/qq_39629277/article/details/91046341
mysql比较字符 WHERE tuic.user_name <> ‘’ AND tuic.user_name IS NOT NULL <>为<>为!=含义
https://blog.csdn.net/qq_26599807/article/details/52126377
mysql的关联语句
https://segmentfault.com/a/1190000017369618
dos关闭端口
https://www.cnblogs.com/hoobey/p/5996677.html
netstat -aon|findstr “8044”
netstat -aon|findstr “8010”
tasklist|findstr “4820”
taskkill /f /pid 4820
taskkill /f /t /im java.exe
16611111111
启动5005
systemctl stop user
systemctl restart user
标志
Updating port to 8044
无关联
查看keepalived总端口
cat /etc/keepalived/keepalived.conf
bug修复
远程调试
java -Dloader.path=…/lib,…/slib,lib -Dspring.config.location=resources/application.properties -XX:+UseConcMarkSweepGC -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar cloud-user.jar
java -Dloader.path=…/lib,…/slib,lib -Dspring.config.location=resources/application.properties -XX:+UseConcMarkSweepGC -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar cloud-storage.jar
tail -f /var/log/cloud/cloud-user.log
cd /opt/vcloud/web/cloud-user/
启动单个微服务
java -Dloader.path=…/lib,…/slib,lib -Dspring.config.location=resources/application.properties -XX:+UseConcMarkSweepGC -jar cloud-virtual.jar
交接业务
查看端口被占用
netstat -tunlp|grep 8044
swagger使用
https://www.jianshu.com/p/7e543f0f0bd8
校验入参空值
https://www.cnblogs.com/mooba/p/11276062.html
find / -name
ctrl+alt+t try catch各类快捷键
ctrl+shift+u 转大小写
maven --> 右击maven–>reload
git config --system --unset credential.helper
查看分支更新分支
git branch -avv
git fetch origin --prune
微信和支付宝的接口对接
查看支付宝和微信的第3方接口文档
hgetall PayAliConfig
postman
Content-Type
application/json
text/plain
https://192.168.31.220/api/user/v1/designjet/login
https://github.com/YClimb/wxpay-sdk
teamviewer
https://www.yuanchengxiezuo.com/xiazai.html
win+r 自启项
msconfig
测试
spring.profiles.active=local
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})
<property name="consoleLayoutPattern" value="%d{yyyy-MM-dd HH:mm:ss,SSS} %5p [%t] %replace(%caller{1}){'\t|Caller.{1}0|\r\n', ''} - %m%n" />
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<layout name="StandardFormat" class="ch.qos.logback.classic.PatternLayout">
<pattern>${consoleLayoutPattern}</pattern>
</layout>
</appender>
2处内都加上
<root level="INFO">
<appender-ref ref="infoAppender"/>
<appender-ref ref="CONSOLE"/>
</root>
<logger name="com.vcloud.user" additivity="false">
<level value="INFO"/>
<appender-ref ref="infoAppender"/>
<appender-ref ref="CONSOLE"/>
</logger>
任务调度
https://www.cnblogs.com/WangHaiMing/p/8798709.html
www.manongjc.com/article/13628.html
https://blog.csdn.net/pyzheng/article/details/84758994
https://www.cnblogs.com/qlqwjy/p/8721963.html
https://www.iteye.com/blog/eksliang-2208166
https://www.cnblogs.com/deityjian/p/11673470.html
https://blog.csdn.net/qwe6112071/article/details/50991563 使用绑定的方式excute定时任务
http://www.manongjc.com/detail/9-ajwbkxbacfheexg.html quartz 基于 MethodInvokingJobDetailFactoryBean 实现
https://blog.csdn.net/qq_36838191/article/details/80677273 excute传入参数
https://blog.csdn.net/weixin_39207535/article/details/90378586 quartz日志的输出
https://blog.csdn.net/qq_37461349/article/details/82462198 设置到期时间后销毁job任务
无效
关闭日志输出 log4j.logger.org.quartz=INFO 无效
客户端的使用@FeignClient(value = “cloud-user”)映射相同接口参数保持一致
可能由于static无法解析
#将不变的第三方接口url字符串放入配置文件,便于维护
#支付宝常量 网关
aliPay.gateway=https://openapi.alipay.com/gateway.do
#(自定义的)支付宝异步通知请求的接口
aliPay.async_check=/api/user/v1/alipay/spend/async_check
aliPay.http=http://
#请求处理的超时时间 下级服务响应最大时间,超出时间消费方(路由也是消费方)返回timeout
#由于延迟队列需要@Feign远程过程调用,解决报错Read timed out executing POST http://cloud-user/v1/order/query
#故设置时间为300000(5分钟)
ribbon.ReadTimeout=300000
安卓云产品BU
READ UNCOMMITTED、READ COMMITTED、REPEATABLE READ、SERIALIZABLE
一个比一个级别高
READ UNCOMMITTED:完全du不管其他直接读,可能其他的一zhi个transaction才写了一半的数据dao也可以读出来(这就是脏读)
READ COMMITTED:必须没其他事务在写(都写完了)的时候可以读,不会读到别人写了一半的数据,但是在同一个transaction里面执行两次READ COMMITTED,别人可以在中间写数据,就是两次读出来可以不一致(就是所谓不可重复读)
REPEATABLE READ:在读的时候加行锁,第一次读了之后这行不能在被别人写,两次读同一行必定一样,但是如果用select * from xxTable第一次和第二次在这个transaction出来的行数可能都不同(就是所谓幻读),多了一些,因为别人可以在之中加入新的行(因为只加了行锁)
SERIALIZABLE:在读的时候加表锁,可以保证在transaction的多次读操作没有脏读,不可重复读,幻读的问题,但是并发性最差,因为整个表被锁住了
VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。
DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。
DO(Domain Object):领域对象,就是从现实世界中抽象出来的有形或无形的业务实体。
PO(Persistent Object):持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。
https://blog.csdn.net/iefreer/article/details/12627389?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduend~default-1-12627389.nonecase&utm_term=drop%20table%20%E6%89%B9%E9%87%8F&spm=1000.2123.3001.4430
response.设置字符集
//为false输出提示信息“ 用户信息校验错误 ”给前端
response.getWriter().print(jsonObject.get(MSG));
表字段默认值
https://www.cnblogs.com/tongcc/p/13276018.html
auth校验问题 auth框架规定必须secret必须base64解密一次
https://www.it1352.com/1522926.html
模糊查询
https://www.cnblogs.com/chaobest/articles/6737901.html
EXPLAIN SELECT * FROM t_user_vital WHERE username LIKE ‘8%’
EXPLAIN SELECT * FROM t_user_vital WHERE username LIKE ‘%8%’
#包含 的模糊查询
EXPLAIN SELECT * FROM t_user_vital WHERE LOCATE(‘8’, username
)>0
cmd 查看杀死进程
netstat -ano | findstr 服务端口号
taskkill /f /t /im 进程号
ps -ef|grep java
Linux
netstat -apn | grep 8888
java -Dloader.path=lib -Dspring.config.location=application.properties -XX:+UseConcMarkSweepGC -jar website.jar
跨域问题
https://www.cnblogs.com/rxx1005/p/12781797.html
异步
https://www.cnblogs.com/jpfss/p/10273129.html
SpringBoot @Component自动装载继承类、实现类到Map
SQL第一个事务未提交,第二个事务有开始进入,防止重复提交
https://blog.csdn.net/weixin_40471400/article/details/107621847
重启fdfs
fdfs_trackerd /etc/fdfs/tracker.conf restart
fdfs_storaged /etc/fdfs/storage.conf restart
fdfs_monitor /etc/fdfs/storage.conf
https://blog.csdn.net/FYW_wu/article/details/113877338
springboot的配置文件 : nacos客户端
https://www.jianshu.com/p/38b5452c9fec
大佬写的websocket测试工具,支持客户端多开,下载地址:https://github.com/panco95/sockboy
@Async异步
public CardKeepalivedService getCardKeepalivedService() {
if (cardKeepalivedService == null) {
synchronized (CardKeepalivedService.class) {
cardKeepalivedService = applicationContext.getBean(CardKeepalivedService.class);
}
}
return cardKeepalivedService;
}
linux杀死进程
https://blog.csdn.net/lemontree1945/article/details/79169178