- 博客(40)
- 收藏
- 关注
原创 服务异步通讯(rabbitmq的高级特性)
服务异步通讯(rabbitmq的高级特性)MQ的一些常见问题消息可靠性问题:如何确保发送的消息至少被消费一次。延迟消息问题:如何实现消息的延迟问题。消息堆积问题:如何解决数百万消息堆积,无法及时消费的问题。高可用问题:如何避免单点的MQ故障而导致的不可用问题消息的可靠性消息可靠性问题消息从生产者发送到exchange,在到queue,在到消费者,有哪些导致消息丢失的可能?发送时丢失:生产者将消息未发送到exchange;消息到达exchange后未到达queueMQ宕机,queu
2021-12-26 13:48:22 1789
原创 缓存同步策略
缓存同步策略缓存数据同步的常见方式有三种:设置有效期给缓存设置有效期,到期后自动删除。再次查询时更新。- 优点:简单,方便。- 缺点:时效性差,缓存过期之前可能不一致。- 场景:更新频率较低,时效性要求低的业务。同步双写在修改数据库的同时,直接修改缓存。- 优点:时效性强,缓存与数据库强一致。- 缺点:有代码侵入,耦合度高。- 场景:对一致性,时效性要求较高的缓存数据。异步通知修改数据库时发送事件通知,相关服务监听到通知后修改缓存数据。- 优点:低耦合,可以同时通知多个缓存服务
2021-11-28 22:14:15 1094
原创 本地进程缓存
本地进程缓存缓存在日常开发中起到至关重要的作用,由于是存储在内存中,所以数据的读取速度非常快,能大量的减少对数据库的访问,减少数据库的压力。我们把缓存分为两类:*分布式缓存(例如Redis)进程本地缓存(例如Hashmap,Caffeine)优点存储容量更大,可靠性更好,可以在集群间共享读取本地内存,没有网络开销,速度更快缺点访问缓存有网络开销存储容量有限,可靠性较低(服务重启缓存就没了),无法共享(多个服务直接无法互相访问)场景缓存数据量较大,可靠性要求较高
2021-11-27 14:01:38 413
原创 Docker下搭建Redis分片集群
分片集群结构主从和哨兵可以借鉴高可用,高并发读的问题。但是依然有两个问题没有解决:1. 海量数据存储问题2. 高并发写的问题使用分片集群可以很好的解决以上2个问题,分片集群的特征如下:1. 集群中有多个master,每个master保存不同的数据2. 每个master主节点都可以有多个slave从节点3. master直接通过ping来感知彼此的健康状态4. 客户端的访问都可以转发到任意节点,最终转发到正确的节点。![在这里插入图片描述](https://img-blog.csdni
2021-11-14 19:22:46 1642
原创 docker容器中搭建Redis哨兵集群以及RedisTemplate的哨兵模式
docker容器中搭建Redis哨兵集群下载Redis镜像docker pull redis创建Redis集群(一主两从)创建主节点容器(redis-master)[root@192 ~]# docker run -d -v --name redis-master \ > -p 16379:16379 -p 6379:6379 > -v /home/docker/redis/node-1/data:/data \ > -v /home/docker/redis/node
2021-11-14 14:24:44 1736
原创 Redis主从数据同步的原理
主从第一次同步是全量同步:主节点和从节点一次建立连接是从节点需要执行一个replicaof命令或者slaveof的命令,并且指定master的ip和端口,向master请求数据同步。 master会判断是否是第一次同步,如果是第一次则会返回的数据版本信息 从节点会保存这些版本信息 主节点会将数据进行bgsave,生成快照RDB并发送给从节点,主节点还会将记录RDB期间的所有命令保存到内存缓冲区repl_baklog 从节点收到数据时清空本地数据,并将RDB文件加载到内存 主节点将缓冲区的re.
2021-11-13 15:32:05 1529 1
原创 在docker容器中搭建redis主从集群
# 1. 去远程拉去redis镜像[root@192 ~]# docker pull redis# 2. 查看下载的redis[root@192 ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEredis latest 7faaec683238 4 weeks ago 113MB# 3. 由于r...
2021-11-12 23:58:00 1372
原创 SpringCloud+feign+Sentinel启动出现依赖错误
spring-cloud的依赖版本Hoxton.SR10sentinel版本1.8spring-cloud-statrter-openfeign版本 2.2.5.RELEASE 在feign中使用sentinel做异常处理后启动项目报错如下:
2021-11-10 21:07:58 992 1
原创 docker中启动ES报错:AccessDeniedException: /usr/share/elasticsearch/data/nodes
运行docker命令,部署单点es:docker run -d \ --name es \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ -e "discovery.type=single-node" \ -v /home/docker/es/data:/usr/share/elasticsearch/data \ -v /home/docker/es/plugins:/usr/share/elasticsearch/plugins \
2021-11-04 22:36:46 12448 7
原创 求解决:驱动程序无法通过使用安全套接字层(SSL)加密与SQL Server建立安全连接。错误“No appropriate protocol”
1. 代码:2. 打包:SQLServerConnect.jar3. linux环境测试报错(windows环境测试可以连接成功):4. linux中jdk的位置:cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64/jre/lib/security/# 查看jdk版本[root@localhost share]# clear[root@localhost share]# java -versio...
2021-11-02 16:44:57 631 1
原创 Nginx代理https(使用自签证书)
Linux中使用Nginx来代理https:# 生成CA根证书密钥openssl genrsa -out /home/ca.key 2048
2021-08-25 14:30:58 825
原创 The valid characters are defined in RFC 7230 and RFC 3986
完整报错:org.apache.coyote.http11.Http11Processor.service 解析 HTTP 请求 header 错误 Note: further occurrences of HTTP request parsing errors will be logged at DEBUG level. java.lang.IllegalArgumentException: Invalid character found in the request target
2021-08-04 15:00:32 176
原创 意外停电导致mysql服务器无法启动
意外停电以后linux系统中的mysql服务器无论怎样也无法启动解决方法:1. 查看mysql.sock的位置find / -name mysql.sock2. 将这个mysql.sock文件进行备份或者删掉,最好是备份一下mv -f mysql.sock mysql.sock111...
2021-07-23 13:40:26 445
原创 ftp中下载文件
使用Python编写实现FTP文件的下载代码from ftplib import FTPimport osimport sysimport timeimport socketimport yamlimport configparserclass MyFTP: def __init__(self, host, port=21): """ 初始化 FTP 客户端 参数: host:ip地址
2021-06-28 17:54:08 333
原创 脚本设置谷歌浏览器默认访问及属性并全屏显示
使用Python编写脚本设置谷歌浏览器默认访问及属性并全屏显示下载对应的谷歌浏览器驱动http://npm.taobao.org/mirrors/chromedriver/代码如下from selenium import webdriverfrom selenium.webdriver.chrome.options import Optionsimport yamlimport os# 请求服务地址fileName = "config.yml"print("文件名:" + file
2021-05-22 19:42:50 1720
原创 JS中多线程的使用
JS中如何使用多线程介绍Worker可以为JavaScript创建多线程,且Worker 是运行在后台的JavaScript,独立于其他脚本,不会影响页面的性能。主线程在运行的时候,worker也在后台运行,两者互不干扰,当worker线程完成任务后就可以将结果返回给主线。当创建一个新的worker时,该代码会运行在一个全新的javascript的环境中,是完全和原JS隔离,这时我们把原JS(创建新worker的)脚本叫做主线程,而被创建的新的worker叫做子线程浏览器的支持程度除了
2021-05-22 19:16:26 7624
原创 JS中使用LODOP实现打印html
进入LODOP官网,下载对应的控件官网下载地址:http://www.lodop.net/download.htmlCLodop_Setup_for_Win32NT.exe[注意:下载和本机对应的版本]下载LodopFuncs.jsvar CreatedOKLodop7766=null;function getLodop(oOBJECT,oEMBED){/************************** 本函数根据浏览器类型决定采用哪个页面元素作为Lodop对象: IE系列、I
2021-03-23 22:48:39 1245
原创 Python中文件相关的练习题(包含集合字典的常用操作方法)
# 名称: python-workspace# 日期: 2020/12/27# 用户: DELLimport random, math, string"""文件相关的练习"""# 1. 创建文件data.txt,从1-100顺序打印,共100行with open('data.txt', 'w') as src_write: for i in range(1, 101): # print(f'i:{i}') src_write.writelines(f
2020-12-27 20:03:19 239
原创 Spring boot中使用WebService和对象XML之间的转换
Spring boot中使用WebService依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web-services</artifactId> </dependency> <dependency>
2020-08-10 17:35:10 1972 2
原创 实体转XML时使用泛型报“nor any of its super class is known to this context.”
Spring Boot中实体转成XMl时使用泛型报nor any of its super class is known to this context.报错信息:avax.xml.bind.MarshalException - with linked exception:[com.sun.istack.SAXException2: class com.landicorp.entity.patrent.search.PatrentInData nor any of its super class
2020-08-10 17:16:04 1157
转载 使用xStream报类转换失败
https://blog.csdn.net/vison155142/article/details/102959365
2020-08-08 12:23:55 727
转载 linux中用户组和权限问题
转载:https://www.cnblogs.com/miaozhihang/p/9808814.html用户组在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念所有者所在组其它组改变用户所在的组所有者一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者用ls ‐ahl命令可以看到文件的所有者也可以使用chown 用户名 文件名来修改文件的所有者文件所在组当某个用户创建了一个文件后,这个文件的所在
2020-07-12 10:10:11 729
转载 Linux中防火墙firewalld、iptables随笔
细说firewalld和iptables在RHEL7里有几种防火墙共存:firewalld、iptables、ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等。firewalld跟iptables比起来至少有两大好处:1、firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;2、firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对
2020-06-08 21:36:32 829
原创 修改tomcat配置文件后启动项目自动还原问题解决
场景:eclipst中的web项目由于tomcat的版本问题,需要修改catalina.properties 文件(在请求json文件时会有特殊字符,所以需要修改这个配置)tomcat.util.http.parser.HttpParser.requestTargetAllow=|{}在启动项目后修改的配置又会被还原回去,所以修改eclipse配置可以解决...
2020-05-16 11:43:17 1625
原创 Java平台调用.NET的webService服务报错:{http://xml.apache.org/axis/}stackTrace:服务器无法处理请求。 ---> 值不能为 null。
SOAPJava测试代码java测试结果SoapUI测试工具测试结果
2020-05-10 11:09:28 3680 3
原创 spring cloud创建服务注册中心报错
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘bootstrapImportSelectorConfiguration’: Initialization of bean failed; nested exception is java.lang.NoClassDefFo...
2020-02-24 19:33:48 340
原创 SpringCloud微服务实战—翟永超 读书笔记
SpringCloud微服务实战—翟永超 读书笔记什么是微服务建构微服务是系统架构上的一种风格的设计,将原本独立的系统拆分成多个小型服务。小型的服务都运行在自己独立的进程当中,服务之间基于HTTP通过Restful api进行通信写作。被拆分成的每个小型服务都围绕系统中的某一项或一些耦合度较高的业务功能进行构建。每个服务维护自身的数据存储,业务开发,自动化测试,独立部署。由于有了...
2020-02-24 13:33:43 1399 1
原创 使用Canal监听数据库配置时所报的异常记录
使用docker容器来安装canal和mysql待解决的问题:监听mysql以后对数据据库所做的操作canal监听不到怀疑canal没有配置好,检查canal的日志后发现异常:2020-02-15 10:58:24.506 [destination = example , address = /192.168.0.105:3306 , EventParser] ERROR com.aliba...
2020-02-15 12:25:08 8218 2
原创 Docker中启动storage以后,docker ps 列表中却没有解决办法
描述第一次启动tracker和storage都没有问题第二次重新启动的时候也没问题,但是docker ps命令确没有storage,此时可以在docker ps -a中看到解决需要在/var/fdfs/storage/data 将fdfs_storaged_pid 删除,然后docker rm 容器id 删除docker ps -a中的这个,重新执行命令: docker run -...
2020-02-11 13:33:12 3753
原创 mybatis的xml中执行批量CRUD须注意
执行批量update执行的sql报错解决添加:allowMultiQueries=true说明添加语句:“allowMultiQueries=true”的作用:1.可以在sql语句后携带分号,实现多语句执行。2.可以执行批处理,同时发出多个SQL语句。...
2020-02-07 14:12:04 120
原创 JDK1.8新特性笔记
Lambda表达式Lambda是一个匿名函数,我们可以把Lambda表达式理解为一段传递代码(将代码像数据一样进行传递)。使用它可以写出更简洁,跟灵活的代码。作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。Lambda表达式的使用1. 举例: 2. 格式: -> :lambda操作符或箭头操作符 -> 左边:lambda形参列表(其实就是接口...
2020-02-03 10:48:31 203
原创 Java常用类常用方法详解
StringString的特性String类:代表字符串,Java中所有字符串字面值都作为此类的实例实现String是一个final类,实现了Serializable接口,代表不可变字符串序列实现了Comparable接口:表示String可以比较大小字符串是常量,用双引号表示,值在创建后不能改变String对象的字符内容存储在一个字符(char)数组value[]中的。publ...
2020-02-01 11:00:40 150
原创 线程笔记
基本概念1. 程序- 是为了完成特定任务,用某种语言编写的一组指令的集合,即指一段静态的代码,静态对象。2.进程:- 正在运行的一个程序- 进程负责为程序的运行提供必备的环境- 进程就相当于工厂中的车间3.线程:- 一个程序中的一条执行路径- 线程是计算机中最小的计算单位,线程负责执行进程中的程序-线程就相当于工厂中的工人单线程:JS属于单线程多线程:主流的程序都是多...
2020-01-30 11:38:02 110
原创 Docker中启动Tomcat外部访问报HTTP Status 404 – 未找到
Docker中启动Tomcat外部访问报HTTP Status 404 – 未找到场景在docker启动tomcat(版本是从阿里云上拉下的)时,访问tomcat首页时出现HTTP Status 404 – 未找到,在网上找了许多教程,也没有解决,最后在视频讲解中查看到了问题具体情况使用命令: docker exec -it tomcat容器ID /bin/bash 进入到tomcat的...
2020-01-20 18:31:47 3836 2
原创 MySQL基础
MySQL的优势运行速度快,使用成本低,可移植性强,适用用户广。数据模型三要素:数据结构,数据操作,完整性约束MySQL运行机制:可插入式存储引擎,内存\索引和存储管理MyISAM:不支持事务,空间小,查询速度快InnoDB:安全性高,支持事务;MySQL的基本操作帮助命令:获得当前版本的完整选项列表:mysqldump --help 打开服务的DOS命令:net start...
2019-10-13 11:11:19 307 1
原创 面试遇到的算法题目
面试遇到的算法题目把一个数分解为几个数之和package com.arit;import java.util.ArrayList;import java.util.Collections;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Scanne...
2019-10-13 11:07:39 409
原创 Hibernate基础
HibernateEJB:企业级JavaBean 现在被spring代替了。JBoss:web服务器,和tomcat一样Hibernate的优缺点:优点: 简化了jdbc繁琐的编码 Sessiong session=HibernateUtil.currentSession(); Query query = session.createQuery("...
2019-07-29 18:51:05 164
原创 Servlet
Servlet简介Servlet是一个符合特定规范的Java程序,基于Java技术的Web组件,Servlet运行在服务器端,由Servlet容器所管理,用于处理客户请求并做出响应说明:Servlet容器也叫Servlet引擎,是Web服务器或应用程序服务器的一部分,用于在发送和请求之上提供网络服务,管理和运行Servlet/JSP的容器也称为Web容器Servlet主要用于生成动态的...
2019-04-06 15:27:46 131
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人