自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (9)
  • 收藏
  • 关注

原创 io.lettuce.core.RedisCommandExecutionException: NOAUTH Authentication require 没权限

RedisCommandExceutionExceptionNOAUTH authentication require

2023-06-29 18:34:54 536

原创 SpringBoot同时并发线程数200

关于Tomcat的默认配置,都在spring-configuration-metadata.json文件中,对应的配置类则是org.springframework.boot.autoconfigure.web.ServerProperties。server.tomcat.threads.min-spare:最少的工作线程数,默认大小是10。server.tomcat.threads.max:最多的工作线程数,默认大小是200。SpringBoot可以处理多少请求,到不如说Tomcat可以处理多少请求。

2023-05-18 23:24:47 339

原创 mybatisplus动态拼查询条件

mybatis plus 动态查询,多字段查询,通过反射拼接字段

2022-10-11 18:21:46 2755

原创 Win 10 安装Spark

windows 10 安装hadoop,使用spark 报错 null\bin\winutils.exe

2022-05-05 21:02:32 419

原创 springboot 国际化乱码问题 IDEA配置

配置文件IDEA配置

2022-05-02 22:48:41 522

原创 布隆过滤器的使用

布隆过滤器1、单机版2、redis版本docker版本的布隆过滤器增加一个增加多个判断是否存在

2022-04-06 00:09:34 765

原创 DDD中的对象

“对象”这个词,对我们来说并不陌生。以最常见的面向对象为例,软件系统中的任何事物都被认为是一种对象。针对如何设计和实现这些对象,业内也有一些对应的开发模式。例如,一种传统的做法是从数据的角度来规划对象的组织形式,即先设计数据库模型,然后基于数据库模型设计对象,这些对象内部通常只包含数据属性的定义,也就是说整个开发过程是数据驱动(Data Driven)的。![在这里插入图片描述](https://img-blog.csdnimg.cn/19f8698645f34ec2b50edb3696629ff3.png

2022-04-05 23:49:46 693

原创 微服务架构最佳实践 - 方法篇

实施微服务需要避免踩的陷阱,简单提炼为:微服务拆分过细,过分强调“small”。微服务基础设施不健全,忽略了“automated”。微服务并不轻量级,规模大了后,“lightweight”不再适应。针对这些问题,今天我们看看微服务最佳实践应该如何去做。我会分两期介绍这部分内容,今天是微服务架构最佳实践的方法篇,下一期是基础设施篇。服务粒度针对微服务拆分过细导致的问题,我建议基于团队规模进行拆分,类似贝索斯在定义团队规模时提出的“两个披萨”理论(每个团队的人数不能多到两张披萨都不够吃的地步),分享一个我认为微

2022-04-05 15:59:36 275

原创 分层架构和SOA

高可用架构模式在最近几十年的迅猛发展来说,可扩展架构模式的发展可以说是步履蹒跚,最近几年火热的微服务模式算是可扩展模式发展历史中为数不多的亮点,但这也导致了现在谈可扩展的时候必谈微服务,甚至微服务架构都成了架构设计的银弹,高性能也用微服务、高可用也用微服务,很多时候这样的架构设计看起来高大上,实际上是大炮打蚊子,违背了架构设计的“合适原则”和“简单原则”。为了帮助你在实践中更好的进行可扩展架构设计,我将分别介绍几种可扩展架构模式,指出每种架构模式的关键点和优缺点。今天我来介绍传统的可扩展模式,包括分层架构和

2022-04-05 15:20:15 9523

原创 系统降级熔断限流和排队

这类问题的主要原因在于系统压力太大、负载太高,导致无法快速处理业务请求,由此引发更多的后续问题。最常见的情况就是,数据库慢查询将数据库的服务器资源耗尽,导致读写超时,业务读写数据库时要么无法连接数据库、要么超时,最终用户看到的现象就是访问很慢,一会儿访问抛出异常,一会儿访问又是正常结果。如果进一步探究,导致接口级故障的原因可以分为两大类:内部原因:包括程序 bug 导致死循环,某个接口导致数据库慢查询,程序逻辑不完善导致耗尽内存等。外部原因:包括黑客攻击,促销或者抢购引入了超出平时几倍甚至几十倍的用户,第三

2022-04-05 01:04:06 1432 1

原创 如何保证消息仅仅被消费一次?

你好,我是唐扬。通过上一节课,我们在电商系统中增加了消息队列对峰值写流量做削峰填谷,对次要的业务逻辑做异步处理,对不同的系统模块做解耦合。因为业务逻辑从同步代码中移除了,所以我们也要有相应的队列处理程序来处理消息、执行业务逻辑,这时你的系统架构变成了下面的样子:这是一个简化版的架构图,实际上,随着业务逻辑越来越复杂,会引入更多的外部系统和服务来解决业务上的问题。比如我们会引入 Elasticsearch 来解决商品和店铺搜索的问题,也会引入审核系统对售卖的商品、用户的评论做自动的和人工的审核,你会越来越多地

2022-03-31 00:21:07 675

原创 Snowflake算法

UUID 不能作为 ID 的另一个原因是它不具备业务含义,其实现实世界中使用的 ID 中都包含有一些有意义的数据,这些数据会出现在 ID 的固定的位置上。比如说我们使用的身份证的前六位是地区编号;7~14 位是身份证持有人的生日;不同城市电话号码的区号是不同的;你从手机号码的前三位就可以看出这个手机号隶属于哪一个运营商。而如果生成的 ID 可以被反解,那么从反解出来的信息中我们可以对 ID 来做验证,我们可以从中知道这个 ID 的生成时间,从哪个机房的发号器中生成的,为哪个业务服务的,对于问题的排查有一定的

2022-03-29 22:58:37 164

原创 写入数据量增加时,如何实现分库分表

我们学习了在高并发下数据库的一种优化方案:读写分离,它就是依靠主从复制的技术使得数据库实现了数据复制为多份,增强了抵抗大量并发读请求的能力,提升了数据库的查询性能的同时,也提升了数据的安全性。当某一个数据库节点,无论是主库还是从库发生故障时,我们还有其他的节点中存储着全量的数据,保证数据不会丢失。此时,你的电商系统的架构图变成了下面这样:这时,公司 CEO 突然传来一个好消息,运营推广持续带来了流量,你所设计的电商系统的订单量突破了五千万。订单数据都是单表存储的,你的压力倍增,因为无论是数据库的查询还是写入

2022-03-29 22:38:45 650

原创 数据库优化方案(一):查询请求增加时,如何做主从分离?

现在的架构图如下所示:此时,你的数据库还是单机部署,依据一些云厂商的 Benchmark 的结果,在 4 核 8G 的机器上运行 MySQL 5.7 时,大概可以支撑 500 的 TPS 和 10000 的 QPS。这时,运营负责人说正在准备双十一活动,并且公司层面会继续投入资金在全渠道进行推广,这无疑会引发查询量骤然增加的问题。那么今天,我们就一起来看看当查询请求增加时,应该如何做主从分离来解决问题。主从读写分离其实,大部分系统的访问模型是读多写少,读写请求量的差距可能达到几个数量级。这很好理解,刷朋友圈

2022-03-29 22:13:26 228

原创 如何让系统易于扩展

从架构设计上来说,高可扩展性是一个设计的指标,它表示可以通过增加机器的方式来线性提高系统的处理能力,从而承担更高的流量和并发。如何提升系统性能?峰值的流量不可控。一般来说,基于成本考虑,在业务平稳期,我们会预留 30%~50% 的冗余以应对运营活动或者推广可能带来的峰值流量,但是当有一个突发事件发生时,流量可能瞬间提升到 2~3 倍甚至更高,我们还是以微博为例。微博下面,或围观,或互动,微博的流量短时间内增长迅速,微博信息流也短暂出现无法刷出新的消息的情况。那我们要如何应对突发的流量呢?架构的改造已经来不

2022-03-29 00:04:01 1538

原创 系统怎样做到高可用

系统怎样做到高可用本节课,我会继续带你了解高并发系统设计的第二个目标——高可用性。你需要在本节课对提升系统可用性的思路和方法有一个直观的了解,这样,当后续对点讲解这些内容时,你能马上反应过来,你的系统在遇到可用性的问题时,也能参考这些方法进行优化。高可用性(High Availability,HA)是你在系统设计时经常会听到的一个名词,它指的是系统具备较高的无故障运行的能力。我们在很多开源组件的文档中看到的 HA 方案就是提升组件可用性,让系统免于宕机无法服务的方案。比如,你知道 Hadoop 1.0 中

2022-03-28 23:34:30 1766

原创 Laravel本地文件上传路径映射

使用本地方式进行上传,上传后访问不了。做下软链php artisan storage:link如果提示The "public/storage" directory already exists.那就先备份下public下的storage,然后再执行,执行完后再copy进去。文件设置'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'),

2022-03-21 00:09:37 842

原创 laravel nginx解决访问php变下载

php7 laravel nginx配置1、可能会导致访问php变下载2、配置后不能访问配置如下:server { listen 81; server_name localhost; ssl off; root /xxxx/api/public; location / { index index.php index.html index.htm; try_f

2022-03-20 22:33:40 1303

原创 YUM PHP7.0和PHP2.2安装 PHP-FPM安装

php yum linux

2022-03-19 21:09:55 232

原创 linux重启导致docker镜像启动异常

linux 重启 docker init/merged

2022-02-16 10:33:17 813

原创 java内存模型

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。根据《Java虚拟机规范(第2版)》规定,Java虚拟机所管理的内存包括以下几个运行区域。如下图所示:这些区域有各自的用途,各自的创建和销毁时间(各自的生命周期)。程序记数器 (线程私有,内存区域唯一在Java虚拟机规范中没有规定任何OutOfMemoryError情况的区域)它可以看做是当前线程所执行的字节码的行号指示器。在虚拟机概念模型里(仅是概念模型),字节码解释器工作时就是通过改变这个计数器的值来选取下

2021-10-26 15:28:07 74

原创 mybatis批量插入

批量插入可以判断字段是否为空,再进行插入<insert id="batchInsert" parameterType="java.util.List"> insert into tbl_integral_youzan_coupon_verify_logs ( <foreach collection="logs" item="log" index="index" separator=","> <if test="log.batchNo != nul

2021-08-06 17:03:07 354

原创 安卓悬浮窗设置

1、悬浮窗不能在当前app中展示使用activity中的moveTaskToBack(true),获得的悬浮窗效果。要修改AndroidManifest.xml中对应的VideoChatViewActivity的模式一定不要用singleTop,修改成singleInstance如果用singleTop,会认为当前activity就是root,不能获得想要的结果。一定要修改成这样2、悬浮窗开发a、语音通话浮窗显示一张图片b、视频通话浮窗需要显示对方的视频上代码1、servicepa

2021-08-01 20:14:18 1633

原创 安卓App中引用三方的aar文件

安卓修改aar中的布局文件App中引用三方的aar修改:修改aar中的文件问题描述:App中引用了第三方的aar文件第三方的目录结构: 解决方案:找到aar中对应的目录文件1、class文件,新建相同的路径文件,反编译进行修改2、xml文件,新建相同的路径文件,拷贝一份放到该目录下,就可以了...

2021-07-27 17:20:40 542

原创 知乎matisse在华为手机崩溃问题

知乎matisse在华为手机崩溃问题知乎matisse上传图片,华为手机直接崩溃 原因分析:matisses老版本不支持华为手机解决方案:升级matisse版本原版本implementation ‘com.zhihu.android:matisse:0.5.2-beta3’新版本implementation ‘com.zhihu.android:matisse:0.5.3-beta3’...

2021-07-20 00:19:11 485

原创 安卓webview设置h5页面中window.open打开的高度

WebView内的页面高度设置安卓webview设置h5页面中window.open打开的高度安卓代码创建webview创建MyWebChromeClient设置window.open的高度完安卓webview设置h5页面中window.open打开的高度正常安卓和h5交互的时候,都是打开一个单纯的h5页面,如果该h5页面中,涉及到window.open打开其他链接的时候,有可能就导致不能正常打开了。安卓代码创建webview代码如下:webview.getSettings().setJavaS

2021-06-29 17:58:20 996

原创 linux安装jenkins

安装命令:1、执行sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo2、执行sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key3、执行sudo yum install jenkins4、如有问题,则再执行wget -O /etc/yum.repos.d/jenkins.repo h

2021-06-14 23:13:43 2008 4

原创 Vue 路由模式 # 404问题

Vue路由模式:vue 里面路由有两种显示模式是hash和history,默认是hashhash —— 即地址栏 URL 中的 # 符号(此 hash 不是密码学里的散列运算)。比如这个 URL:http://www.abc.com/#/hello,hash 的值为 #/hello。它的特点在于:hash 虽然出现在 URL 中,但不会被包括在 HTTP 请求中,对后端完全没有影响,因此改变 hash 不会重新加载页面。history —— 利用了 HTML5 History Interface 中新

2021-05-14 14:22:30 1601

原创 Springboot多环境的配置

区分测试、生产环境,不同的环境变量pom.xml配置:定义变量值:spring.profiles.active,指定dev,qa和prod<profiles> <profile> <id>dev</id> <properties> <spring.profiles.active>dev</spring.profiles.activ

2021-03-26 15:59:20 196

原创 java中抽象类可以实现接口吗

抽象类可以实现接口这是一种思想,当你自己的类中有共用的方法的时候,就可以在抽象类中先进行实现,然后再用你的类继承这个抽象类,如果你直接用类实现接口,那是所有方法都必须实现的...

2021-03-20 13:52:25 1973

转载 各个大厂面试题(附答案)

面试准备简历重点放在专业技能和项目经验两块1.你的简历就是你给面试官提供的考点,简历上的东西必须自己Hold住,万一自己写的东西被问住了,会很尴尬,给面试官留下的印象也不好,所以就是会啥写啥2.技术栈最好不要写精通,你敢写面试官就敢问,被问倒了很尴尬的,写熟悉,了解就行怎么投简历我这里强烈建议找人内推,这样简历通过的概率大些,如果找不到,可以试试脉脉,我就是从脉脉投的简历,把状态改成寻找机会就行,会有很多人找你的推荐一个简历制作模版,我一直用的,https://www.polebrief.co

2021-03-18 09:21:48 6883

原创 Mybatis plus 忽略表中映射的字段

Mybatis-plus忽略表中映射的字段:Mybatis-plus使用entity和数据库进行关联映射,有时候可能有些字段,在当前表中不存在,但是操作的时候,又需要进行使用,所以有时候就需要进行忽略。具体如何忽略如下:@TableField(exist = false):表示该属性不是表中字段,但又是必须使用的。@TableField(exist = true):表示该属性是表中字段。Mybatis-plus其他相关注解含义:@TableField(exist = false):表示该属

2021-03-16 14:22:43 11192

原创 Mybatis plus多表关联分页查询

#mybatis plus中的多个表的关联查询由于明细表中,没有冗余主表的相关字段,再页面展示的时候,需要这些信息,所以只能关联查询了。又要关联,又要分页,是否可以用控件实现呢?那就看看这篇文章吧。Mybatis-plus插件<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId>

2021-03-16 14:13:43 2320

原创 Java面试

Java问题Java问题volatile关键字底层原理保证线程之间变量的可见性。内存屏障,防止指令重排序。什么叫指令重排序?就是执行程序时,为了提高性能,编译器和执行器会对指令做重排序。在并发线程下, 不能保证原子性。...

2021-03-08 10:52:58 63

原创 elasticsearch dsl 查询 聚合 去重

报表需求,利用es进行存储根据日期,查询每天某个渠道的访问量GET service-xxx-logs*/_search{ "size": 0, "aggs": { "return_data": { "date_histogram": { "field": "@timestamp", "interval": "day" } } }, "query":

2021-02-07 16:52:45 1899

原创 elk告警 elastalert 规则配置 terms whitelist

##elastalert规则配置1、多个条件限制在告警中,监控指定接口的请求时间,可以query和terms配合使用例如:filter: - query: query_string: query: "upstream_response_time: >0.001" - terms: uri: ["/api/v1/mall/esShoppingItem", "/mailList/skuWhole/detail"]官方示例:filter:- t

2021-02-07 16:32:46 1055

原创 docker 安装和使用

部署Docker运行以下命令,安装Docker存储驱动的依赖包。 yum install docker 运行以下命令,查看已添加的Docker软件源。 yum list docker 运行以下命令启动Docker。 systemctl start docker 使用DockerDocker有以下基本用法:管理Docker守护进程。 systemctl start docker #运行Docker守护进程systemctl stop docker

2020-11-16 14:10:34 72

原创 Mysql中的In和not exists

结论小表做外表的情况下对于主键来说, not exists 比 not in 快。对于普通索引来说, not in 和 not exists 差不了多少,甚至 not in 会稍快。大表做外表的情况下对于主键来说, not in 比 not exists 快。对于普通索引来说, not in 和 not exists 差不了多少,甚至 not in 会稍快。用法讲解为了方便,我们创建两张表 t1 和 t2 。并分别加入一些数据。(id为主键,name为普通索引)--t1..

2020-11-06 10:12:53 560

原创 elk告警 elastalert安装 钉钉消息(二)

ElastAlert告警配置接着上篇,已经安装好如下:1、elastalert2、elastalert_modules --钉钉告警模块python3.6.9安装先查看下机器py版本,如果是2.7,则执行以下yum -y install wget openssl openssl-devel gcc gcc-c++wget https://www.python.org/ftp/python/3.6.9/Python-3.6.9.tgztar xf Python-3.6.9.tg

2020-11-05 15:35:10 2054

原创 elk告警 elastalert安装 钉钉消息(一)

ELK日志报警插件ElastAlert公司最近上线新的产品,使用了华为云的相关elk组件,所以相关告警插件sentiel等不是很好安装于是就想着使用elastalert试试,摸索阶段,仅供参考。将Elasticsearch与两种类型的组件(规则类型和警报)结合使用。定期查询Elasticsearch,并将数据传递到规则类型,该规则类型确定何时找到匹配项。发生匹配时,将为该警报提供一个或多个警报,这些警报将根据匹配采取行动。这是由一组规则配置的,每个规则定义一个查询,一个规则类型和一组警报。

2020-11-05 15:01:31 1627 1

SecureCRT session to Xshell

import SecureCRT session to xshell 从SecureCRT迁移session到xshell,快速迁移

2023-05-20

sysbase数据的语法

sysbase数据的语法

2023-03-26

vue的ivew地址选择器

接触到有赞地址选择器,感觉不错,他是react + zentUI 。项目是vue,所以用vue + iview 2.0做了个一模一样的. 这里下载不用花

2023-03-26

hadoop2.7.7

windows10版本下运行的hadoop2.7.7 解决spark启动问题 包含可执行的winutils.exe文件,解决spark-shell命令的问题

2022-05-05

Microsoft_Remote_Desktop_10.5.1_installer.pkg

从mac远程连接到windows的软件

2021-03-03

java,jdk14,jdk-14.0.2.1_windows-x64_bin

jdk-14.0.2.1_windows-x64_bin java jdk 14版本,免去官网登陆功能,windows环境,jdk-14.0.2.1_windows-x64_bin java jdk 14版本,免去官网登陆功能,windows环境

2020-11-30

后台管理系统使用文档.docx.zip

后台管理系统操作使用手册,文档模版参考,内容格式等。 系统如何使用,怎么操作,操作步骤,截图等,说明系统的操作步骤等等。

2020-05-04

TortoiseGit-1.8.14.0-64bit

Git 64 TortoiseGit-1.8.14.0-64bit 和小乌龟一样,同步库工具

2016-01-06

JAVA发邮件mail和activation.jar

底层jar 包,java发邮件依赖此jar包

2014-11-24

MySQL ODBC Connector.zip

MySQL ODBC Connector,mysql-connector-odbc-3.51.27-win32.zip

2013-04-23

struts2 jar包

struts 2. 核心包,版本2.1.6,struts 2. 核心包,版本2.1.6,

2011-01-28

Struts2标签库详解.doc

Struts2标签库详解,里面包含很多标签,可以学习一下,基础篇

2010-05-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除