云服务器其中一台服务器和另外几台互相ping不通的问题排查
现象描述我们在阿里云上有 12 台服务器,其中 2 台服务器是部署了 doris 服务,内网IP(172.21.212.227,172.21.212.225),还有一台后台服务器内网IP(172.18.20.233),目前发现后台服务器和那两台 doris 服务器互相 ping 不通,其余的服务器都能和 doris 互相 ping 通。这说明肯定是后台服务器的设置问题。
问题排查从 IP 可以看到两台 doris 服务和后台服务器的网段不一样,一个是 21,一个是 18。
先使用 route -n 看一下路由表
1234567891011[root@iZbp15ykl21vqt34uyqcolZ ~]# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface0.0.0.0 172.18.31.253 0.0.0.0 UG 0 0 0 eth010.174.215 ...
Vercel绑定自定义域名
❓为什么要绑定自定义域名?
vercel默认提供的域名 *.vercel.app 由于滥用已被大陆屏蔽(DNS污染),如果需要在国内能访问到您的站点,请绑定一个新的域名即可
准备一个域名首先购买自己的域名,您可以选择以下渠道进行购买:
腾讯云
阿里云
这里就不赘述了,域名买好然后备案好
Vercel控制台配置
在Vercel控制面板中找到 Setting→Domains→Add,在这里可以指定当前项目的绑定域名,一个项目可以绑定多个域名。
输入域名,并Add之后,如果看到下图中的提示(Invalid Configuration)👇, 说明域名已经添加,但需要根据提示添加CNAME或Nameserver的方式激活它,图中所示是要在域名后台添加一条CNAME类型的解析,参数名blog1,值为cname.vercel-dns.com。
这里推荐使用CNAME绑定。请按文档后续步骤配置对应的Cname解析。
配置CNAME解析以下分多个平台举例,配置方法大同小异,只是入口不太一样,我这里主要讲阿里云的配置方法
打开控制台 https://dc.console.aliyun.co ...
Docker系列 Uptime Kuma监测网站连通性
前言上周六上午出了一个事故,核心业务接口挂了2个小时没人知道,直到看到数据后不对劲经排查才发现是接口挂了导致的。
然后赶紧启动服务,随后开始查询问题出在哪里,先是看 Nginx 日志发现很大,Nginx 被错误日志打到有45个G,直接 vim 压根打不开。
然后根据 split -b 1G nginx.error.log errLog_ 命令把错误日志按每个文件 1G 来分割成了45个文件,方便查看日志排查问题。
vim 最早的 errLog_aa 文件发现其中最早的报错是 upstream prematurely closed connection while reading response header from upstream
这个报错可能是由于数据量突增导致的,然后发现确实从周五开始请求量和数据量突增,加上是单台机器导致了服务被打挂。
解决加机器首先肯定是加机器来分摊压力,用 Nginx 部署负载均衡
接口状态监控其次是要找一个可以监控接口状态的,如果说接口挂了可以发邮件被动知晓的,又不想很重的。
就找到了本次讲的 uptime-kuma。
uptime-kuma 支持监控 ...
Java的Webmagic爬虫实践
前言有个需求,需要抓取天气的资讯文章,而该项目是用 Java 写的,由于爬虫需求也较小,所以就索性直接用 Java 来爬。
Java 有个包是 webmagic 本次就是用的这个包做的实践。
我们要采集的网址是 https://www.weather.com.cn/index/jqzdtqsj/index.shtml 打开这个网址可以看到是个列表,并且有分页。
配置 Maven 依赖12345678910<dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-core</artifactId> <version>0.10.3</version></dependency><dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-extension</artifac ...
支付宝周期扣款逻辑梳理和代码流程设计
周期扣款支付后签约场景文档支付宝周期扣款产品介绍
业务流程
请求支付字符串时携带签约信息拉起支付,并创建待签约的订阅表信息
处理签约成功回调,添加到订阅表
定时任务自行请求订阅表,把达到扣款日期的订阅,然后请求支付宝扣款,再计算下次扣款时间
处理签约解除回调,修改订阅表数据状态。(需要去设置网关回调地址)
数据表设计1. 用户周期扣款订阅表1234567891011121314151617181920CREATE TABLE `customer_period_subscribe` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `app_id` bigint(20) NOT NULL DEFAULT '0', `customer_id` bigint(20) NOT NULL DEFAULT '0', `vip_config_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '签约时购买的vip配置ID', `chann ...
SpringBoot 接口参数解密的实现方法(使用注解)
前言在 App 开发中,为了防止开发者轻易通过抓包获取到接口请求数据和响应数据,我们会对请求参数进行加密,后端通过解密获取,并加密返回给客户端,客户端通过解密获取。
而如果简单的在每个接口的 Controller 中来对请求参数解密,未免有些太傻,且如果想实现只有正式环境需对请求参数加密,测试环境无需加密,如果这种逻辑在 Controller 中写,更过于傻。
这次通过定义注解的方式来实现接口请求参数的统一解密,并在注解中判断是否需要解密。
加解密本身并不是什么有难度的事情,问题是在何时去处理?定义一个过滤器,将请求和响应分别拦截下来进行处理也是一个办法,这种方式虽然粗暴,但是灵活,因为可以拿到一手的请求参数和响应数据。不过 SpringBoot 中给我们提供了 ResponseBodyAdvice 和 RequestBodyAdvice,利用这两个工具可以对请求和响应进行预处理,非常方便。
所以这篇文章关于接口参数解密我们使用 RequestBodyAdvice 来实现。
定义注解接下来我们先定义一个注解
1234567891011package com.sktk.keepAccou ...
《做点事》读后感
题图拍摄于 2022年3月27日长沙居住地
时隔多日,读完了今年的第二本书,《做点事》。
首先介绍一下书的背景,这本书是不对外售卖的,是我的偶像「stormzhang」,张哥的一本书,属于内部星球球友的福利。
虽然张哥说这本书的书名起的比较随意,但我个人是非常喜欢这个名字的,人生在世,总得做点事。
起初我是从 2 月 4 日开始读的这本书,在读到将近一半的时候,因为星球有一期共读挑战,恰巧共读的书籍就是这本《做点事》,所以,我索性报名参加了这期共读挑战,从头开始读这本书,原因在于我想和大家一起共读这本书,并且每天共读都有一个打卡,要分享自己在书中阅读到的精华笔记,并发表个人感悟。
总共历时 21 天,从 3 月份开始的,到今天已经完整地将书内的内容全部读完,今天就来打卡总结这本书的内容。
书中共有 10 大板块,其中包括「关于赚钱、关于职场、关于产品、关于认知、关于思维、关于践行、关于写作、关于投资、关于商业、关于创业」。
最后还有一部分的对于商业案例的分享,其中包括「知乎好物、小红书、剧本杀、视频号、哔哩哔哩、闲鱼、淘宝蓝海」这几个部分。
今天我对于这 10 大板块和最后一部分的商业 ...
又传来猝死消息,生命只有一次
这件事还要从昨天晚上说起,昨天看到字节跳动员工猝死的消息,本来还在怀疑事情的可信性。
随后,今天一大早铺天盖地的各种网上消息迎面而来,说是字节视频架构部门的图像算法工程师在健身房健身时突发不适,告知工作人员,但未及时处理,导致错过黄金抢救时间,最终抢救了 41 小时无效,彻底的留下了他身怀 2 个月胎儿在身的老婆和按揭 30 年每月需要还 21000 的房贷,而他也才 28 岁。
这对他的老婆来说无疑是晴天霹雳,她现在的想法是想把房子卖掉,等后事办妥后回老家把小孩生出来,孕育小孩长大,抚养成人,度过这一生。若不是因为身怀胎儿,她想过直接随丈夫一起去了。
我很佩服这位当事人妻子的理性,为了肚子里的孩子要强迫自己休息、吃东西。
他们异地恋了 8 年,结婚了 3 年多,他们本应该是欣喜的等着宝宝的降生,原本也有能力承受每月 21000 的房贷,而突如其来的噩耗打破了原本属于 3 个家庭的平静。
下午的时候,字节发了一篇回应,讲了会给当事人家属抚恤和关怀,言语上看着态度还算是诚恳,而具体的事情如何落实就不得而知,如果落实到位,家属没有异议,那也算是给死者一个最后的体面。
在这个信息发展飞速的 ...
《底层逻辑》读后感
这是 2022 年读的第一本书,《底层逻辑》,这本书读了有 6 个小时左右(微信读书 App 记录的时间),从什么时候开始读的忘记了,下本书应该记录一下从什么时候开始读的。这也是第一次写读后感,也不知道怎么落笔,就简单的先从介绍下这本书的内容,到我读这本书的感受,到最后读完这本书有什么感想按照这样的顺序来说吧。
这本书的作者是吕白,是 21 年 9 月份的新书,我是在微信读书 App 上读的,这本书共有四大部分,分别为:人生逆袭的五个核心算法、突破阶层的四个关键、向上进阶的三大思维、锚定未来的四大策略。这本书的作者本身也是个作家,也是运营微信公众号的早期先行者,写过很多爆款,其中还著有《人人都能学会的刷屏文案写作技巧》、《人人都能做出爆款短视频》等书。
这本书中讲了作者从大学到工作多年来的经历,经历中是如何一步步提升的,如何透析任何事情的本质,从个人成长,到职场规则,都以作者个人的经历,一件具体的故事展开。
读这本书最大的感受是不论何时何地不能停止思考,一直思考才能使人进步,要始终保持长期投资的目光,不要计较短期的得失,人生是一场马拉松,不是百米赛跑,不用拼命冲刺,一直努力就好。关于焦 ...
Java 微信提现报错:No appropriate protocol (protocol is disabled or cipher suites areinappropr)
前言今天在新的服务器上搭建 Java 环境,从 Oracle 官网上下载了最新的 jdk 版本 1.8.0_311,然后上传到服务器 jar 包,启动 jar 包,这些常规操作。本以为这个项目搭建就此结束,但是当测试提现功能时,服务器突然报错:No appropriate protocol (protocol is disabled or cipher suites are inappropr
解决首先排查了下微信商户号、支付参数等是否有误,但若参数有误的话微信会直接返回相应错误,所以不是该问题。
然后将思路转移到是否是环境问题,则确认了一下之前的服务器上的 jdk 版本和当前服务器 jdk 版本是否一致,因为下载的是最新的,所以已经不一致了
可以提现的服务器 jdk 版本是 212
当前服务器 jdk 版本是 311
经翻阅互联网文章发现 Java8-291 之后 , 禁用了 TLS1.1, 而我们安装的是 java8-311。并且该禁用该参数会导致微信提现报错,所以我们需要放开该限制。
修改 java.security 文件首先找到安装 java 的目录,如果忘记可以通过环境变量中 ...