- 博客(29)
- 收藏
- 关注
原创 rocketmq警告日志:auto-read is disabled, bytes to drain before it turns writable
3、Turns writable, bytes to buffer before changing channel to un-writable: 当通道变为可写时,会记录可以缓冲的字节数,直到通道再次变为不可写。2、Bytes to drain before it turns writable: 这表示在通道可以再次开始写操作之前,还需要从通道中排出多少字节的数据。1、Auto-read is disabled: 当auto-read被禁用时,Netty不会自动从网络中读取数据,直到明确命令它这么做。
2024-06-11 15:08:48
284
原创 mysql报错解决:Illegal mix of collations (utf8mb4_0900_ai_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT)
更改Mysql表字符集为utf8_general_ci;
2024-04-23 17:07:56
1351
原创 SSL浏览器导入自建证书
2)要为这个证书开启受 SSL/TLS 信任,请前往“设置”>“通用”>“关于本机”>“证书信任设置”。在“针对根证书启用完全信任”下,开启对这个证书的信任。右键单击,选择所有任务 -> 导入,然后按照向导操作,选择你的rootCA.pem文件。设置 => 隐私与安全=> 查看证书 => 证书颁发机构 =>导入(按照提示导入)1)在浏览器下载证书后,到“设置”查看描述文件,根据提示安装证书。打开管理用户证书或管理计算机证书(通过在开始菜单搜索来找到)。导航到受信任的根证书颁发机构 -> 证书。
2024-03-22 18:03:16
693
原创 简单自建SSL证书(ios无法使用)
Common Name (eg, your name or your server’s hostname) []: 这里填写你的域名,也可以使用通配符:*.xxx.com,这样所有子域名都可以使用这个证书。subjectAltName 可以指定多个,如DNS.2 = app2.xxx.com。
2024-03-22 17:53:46
474
原创 自建SSL证书(兼容ios)
对于SSL/TLS服务器证书,特别是那些用于HTTPS网站的证书,有几个关键的扩展和属性是必要的,以确保证书可以被客户端(如浏览器)正确识别和信任。这些细节对于确保加密连接的安全性至关重要。
2024-03-22 17:37:18
1108
1
原创 DNS设置keepalived
为了保证DNS节点的高可用,我们使用keepalived将两台机器分别作为主从节点,做一个简单的主从节点方式的高可用。正常情况下,主节点的priority为100,从节点的priority为90,此时VIP在主节点上,请求和流量从VIP进入,由主节点提供服务,从节点作为备用。当主节点出现异常时,VIP偏移到从节点,从节点进入MASTER状态,直到主节点本身的服务恢复正常再切换过去。
2023-03-03 14:40:54
478
原创 spring cloud kubernetes集群开启https/http2
介绍springcloud版本:2021.0.2HTTP2是对HTTP1.1的升级,对HTTP1.1性能问题进行了优化,主要从以下两个方面来优化:1、头部压缩HTTP1.1主要是对Body进行压缩,而头部却没有压缩。HTTP2通过HPACK算法对头部进行压缩,减少了传输时间。2、队头阻塞HTTP1.1使用的是TCP协议,并且为了节省资源,采用了长连接,长连接引入了队头阻塞的问题。HTTP2引入了流和帧,解决了HTTP层面上的队头阻塞。...
2022-05-24 18:05:46
834
1
原创 Feign HTTPS 关闭SSL证书验证
方式一:添加feign-httpclient依赖:<dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-httpclient</artifactId></dependency>feign.httpclient.disableSslValidation=true使用 okhttp,则必须使用另一个应用程序属性启用 okhttp 并添
2022-05-21 15:12:44
3218
原创 访问spring cloud configserver:No subject alternative names matching IP address xxxx found
最近在给集群配置https的时候。服务启动访问配置中心的时候报了如下错误:No subject alternative names matching IP address xxxx found谷歌了一大堆资料,都是要关闭ssl验证,然而试了一圈后查看源码,config client使用的是restTemplate访问配置中心,config client自己定义了一个restTemplate,无法修改其配置:ConfigServicePropertySourceLocator.getRemoteEnv
2022-05-19 16:56:42
1256
原创 eureka+configserver+gateway集群使用https/http2
介绍本文介绍spring cloud 集群配置https 。ssl证书的生成这里就不再赘述,网上有一大堆。集群成员eureka:注册中心configserver:配置中心gateway:网关其他server配置eureka:server: port: 8761 http2: enabled: true ssl: enabled: true #证书配置 key-store-password: **** key-store-type: PK
2022-05-19 16:37:53
682
原创 SpringCloud2021.0.2使用k8s作为注册中心
介绍springCloud使用k8s作为注册中心,实现服务的发现和注册。本文使用Provider和Comsumer两个服务官网:https://docs.spring.io/spring-cloud-kubernetes/docs/2.1.0-M3/reference/html/#starters版本springBoot:2.6.7springCloud:2021.0.2源码https://gitee.com/wfh_fly/springcloud-k8sProvider主要依赖dep
2022-05-17 13:40:47
3727
原创 使用nio文件操作工具方法
kotlin编写的,java的话大体相同object FileUtils { /** * 创建并写入文件 * 如果是临时文件请在finally调用删除方法 * * @param url url 文件名/地址 * @param json json内容 * @throws IOException 由调用方法处理 */ @JvmStatic @Throws(IOException::class) fun c
2022-05-09 15:15:26
582
原创 Exception caught: mqAdminExt get broker stats data TOPIC_PUT_NUMS failed
最近发现部署rocketmq-dashboard的服务器磁盘满了,查找了一番原因:后台每秒打印警告:Exception caught: mqAdminExt get broker stats data TOPIC_PUT_NUMS failed...Exception caught: mqAdminExt get broker stats data GROUP_GET_NUMS failed, topic...查看rocketmq-dashboard代码,是收集统计数据的定时任务打印的警告日志,遍历
2022-05-09 15:06:46
5754
1
原创 Elasticsearch7.x证书过期简单解决方法
此方法可能只适用于7.x的basic版本,其他版本笔者尚未尝试。笔者所使用的是7.6.1 basic版开发环境使用的Elasticsearch在经过一次断电后,显示证书不可用:网上搜索一番后,大部分都是需要申请更新证书及破解之类的方法问题是如图所示6.3版本后basic版本Elasticsearch已包含证书。经过一番捣鼓(查看官方文档后)得出更新方法:首先需要删除原证书:curl -X DELETE "localhost:9200/_license?pretty"打印如下表示成功.
2022-04-12 16:00:19
3121
原创 okhttp3 url轮询负载均衡和重试切换失效url拦截器
okhttp3添加拦截器new OkHttpClient.Builder().addInterceptor(new PollAndRetryInterceptor(urls)).build()自定义轮询和重试切换Url拦截器拦截器实现思路:1、需要一个简单的算法来切换url,直接使用RoundRobinRule的算法2、请求失败后需要重试,即捕获异常然后递归切换url重试3、不能一直使用到失效的url,url重新恢复使用后需要加入到切换url队列中,因此我们需要一个定时任务来定时的检测url的
2022-02-12 16:26:12
1208
原创 okhttp3 url轮询负载均衡拦截器
okhttp3添加拦截器new OkHttpClient.Builder().addInterceptor(new PollInterceptor()).build()
2022-02-12 15:41:41
925
原创 k8s节点images自动清理
功能介绍同一个服务,发版本时通过命令行删除旧镜像,但保留最新3个镜像,用以回滚一行docker命令删除多余镜像docker images |grep 'command-demo'|awk '{print $3}'|awk 'BEGIN {FS=\" \"} NR > 3 {print $NF}'|xargs docker rmi||true删除command-demo服务的多余镜像,具体可自定义***yaml文件增加内容容器创建执行shell命令:lifecycle: postSt
2022-02-10 14:22:26
1837
原创 springboot webflux/gateway 异常处理
相关类WebExceptionHandler/** * Contract for handling exceptions during web server exchange processing. */public interface WebExceptionHandler { /** * */ Mono<Void> handle(ServerWebExchange exchange, Throwable ex);}ErrorWebExceptionHandle
2022-02-08 14:28:57
1184
原创 linux服务启动报错:*.service: Main process exited, code=exited, status=203/EXEC
启动rocketmq服务报错:[root@rocketmq1-nameserver-test bin]# systemctl start rocketmq-nameserver[root@rocketmq1-nameserver-test bin]# systemctl status rocketmq-nameserver● rocketmq-nameserver.service - nameserver Loaded: loaded (/usr/lib/systemd/system/rocke
2021-12-11 14:28:46
18595
1
原创 spring.cloud.stream3.0整合rocketmq
本文简单介绍spring cloud stream 3.x较之前版本有很大的不同,废除了@Input、@Output、@EnableBinding、@StreamListener等注解以下内容包括生产者消费及单元测试1、引入gradle依赖ext { set('springCloudVersion', "2020.0.1")}dependencies { implementation("org.springframework.cloud:spring-cloud-stream-bind
2021-12-09 15:57:27
1566
1
原创 springboot使用json文件对mongo数据进行初始化
功能说明使用json文件对mongo数据进行初始化,文件保存目录为 resources/mongo/, json文件规则及dao文件规则1、配置json文件在resources/mongo目录 文件需以_insert.json(Insert.json) 或 _update.json(Update.json)结尾2、文件命名格式如 新增文件:test_action_insert.json,则对应的dao文件名为 TestActionDao(TestActionRepository) ,dao文件需继
2021-12-09 15:46:37
2308
原创 spring cloud stream3.0 rocketmq替换rabbit全过程
1、依赖implementation("org.springframework.cloud:spring-cloud-stream-binder-rabbit")更改为:implementation("org.springframework.cloud:spring-cloud-stream-binder-rocketmq:0.9.0.RELEASE")或者maven:<dependency> <groupId>org.springframework.cloud
2021-12-06 10:22:21
2229
原创 RocketMQ后台启动和设置为系统服务、开机启动
1、服务基本介绍序号ip角色安装位置节点1192.168.1.1nameserver1、master1、slave1/home/rocketmq2、nohup &方式后台运行启动cd /home/rocketmq/binnohup sh mqnamesrv >namesrv.log &nohup sh mqbroker -c /home/rocketmq/conf/2m-2s-sync/broker-a.properties >mast
2021-12-01 15:57:26
4131
原创 Rocketmq可视化管理界面rocketmq-dashboard,rocketmq-console已被单独列为一个项目:rocketmq-dashboard
1、简单介绍原有的rocketmq-console已被rocketmq-externals单独列为一个项目,现在取名:rocketmq-dashboardrocketmq-externals地址:https://github.com/apache/rocketmq-externals2、下载git项目地址:https://github.com/apache/rocketmq-dashboard本地使用git:git clone https://github.com/apache/rocketm
2021-12-01 15:20:12
9906
1
原创 RocketMQv4.9.0双主双从同步集群搭建
1、服务器环境序号IP角色1192.168.1.1nameserver1、master1、slave22192.168.1.2nameserver2、master2、slave1java环境:jdk1.82、下载压缩包并解压下载地址:https://archive.apache.org/dist/rocketmq/4.9.0/rocketmq-all-4.9.0-source-release.zip解压:unzip rocketmq-all-4.9.0-b
2021-12-01 14:28:51
430
原创 JPA标签@Column字段为null时不保存/更新
JPA字段为null时不保存/更新jpa 实体类中某些字段为null时,执行save操作也会将null值存入,更新时如果将数据查询出再set显得非常的鸡肋,尤其是对于createTime,updateTime这一类记录数据更没必要再次查询。@Column(insertable = false,updatable = false)即可在save时忽略此字段,这样jpa更新插入时就不会去更新这个字段了,而是完全由数据库维护。columnDefinition和后面的设置,就等于在数据库中设置DEFAULT C
2021-07-28 16:44:25
5255
原创 Cannot construct instance of `com.*` (although at least one Creator exists): cannot deserialize
今天在写springboot单元测试的时候,序列化对象时出现一个错误:Cannot construct instance of `com.*.GeneralResponse` (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator) at [Source: (String)"{"transaction_id":"123"}";
2021-04-01 10:43:49
15994
原创 springboot配置resilience4j
resilience4j-ratelimiter:流量控制单位时间内,控制访问方法的数量yml配置:resilience4j.ratelimiter: instances: backendA: # 名称 limit-for-period: 3 #限制连续请求3次 limit-refresh-period: 1s #1s刷新统计值 timeout-duration: 5s #超时等待时长 backendB: # 名称 limit-for
2020-12-29 18:36:27
1271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人