
Technology-Stack
文章平均质量分 92
猿灰灰
It's now!
始终相信一句话:知道的越多,不知道的越多!!!
即使再小的帆也能远航!
展开
-
ElasticSearch和Kibana的安全设置以及https设置
ElasticSearch和Kibana的安全设置以及https设置,相关证书生成设置等教程原创 2024-08-28 17:36:23 · 2245 阅读 · 3 评论 -
初步了解高性能队列——Disruptor(Java)
初步了解高性能队列——Disruptor(Java)原创 2023-01-18 19:47:30 · 31481 阅读 · 1 评论 -
Maven篇-一篇文章,快速入门Maven
Maven简介Maven的需求目前技术在开发中存在的问题一个项目就是一个工程如果项目非常庞大,就不适合继续使用package来划分模块。最好是每一个模块对应一 个工程,利于分工协作。借助于Maven就可以将一个项目拆分成多个工程。项目中的jar包必须手动“复制”、“粘贴”到WEB-INF/lib目录下带来的问题是:同样的jar包文件重复出现在不同的项目工程中, 一方面浪费存储空间,另外也让工程比较臃肿。借助Maven ,可以将jar包仅仅保存在“仓库”中,有需要使用的工程"引用原创 2021-04-26 10:12:20 · 33163 阅读 · 6 评论 -
Git篇-一篇文章,快速入门Git、GitHub、Gitee
① Git安装Git官方地址(下载链接)安装过程选择 Git 安装位置,要求是非中文并且没有空格的目录,然后下一步Git 选项配置,推荐默认设置,然后下一步Git 的默认编辑器,建议使用默认的 Vim 编辑器,然后点击下一步默认分支名设置,选择让 Git 决定,分支名默认为 master,下一步修改 Git 的环境变量,选第一个,不修改环境变量,只在 Git Bash 里使用 Git选择后台客户端连接协议,选默认值 OpenSSL,然后下一步原创 2021-06-06 16:40:37 · 450 阅读 · 0 评论 -
一篇文章,Vue快速入门
① Vue概述及第一个Vue程序(Hello World)1.1 什么是MVVMMVVM(Model-View-ViewModel)是一种软件设计模式,由微软WPF(用于替代WinForm,以前就是用这个技术开发桌面应用程序的)和Silverlight(类似于Java Applet,简单点说就是在浏览器上运行WPF)的架构师Ken Cooper和Ted Peters开发,是一种简化用户界面的事件驱动编程方式。由John Gossman(同样也是WPF和Sliverlight的架构师)与2005年在他的原创 2021-06-24 23:25:34 · 55697 阅读 · 51 评论 -
Zookeeper快速入门学习笔记(下)
第 5 章 面试题5.1 选举机制半数机制,超过半数的投票通过,即通过。第一次启动选举规则: 投票过半数时,服务器 id 大的胜出第二次启动选举规则:EPOCH 大的直接胜出EPOCH 相同,事务 id 大的胜出事务 id 相同,服务器 id 大的胜出5.2 生产集群安装多少zk合适安装奇数台生产经验:10 台服务器:3 台 zk20 台服务器:5 台 zk100 台服务器:11 台 zk200 台服务器:11 台 zk服务器台数多:好处,提高可靠性;坏处:原创 2022-04-04 12:33:46 · 30913 阅读 · 0 评论 -
Zookeeper快速入门学习笔记(中)
第 3 章 服务器动态上下线监听案例需求分析某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知 到主节点服务器的上下线具体实现先在集群上创建/servers 节点[zk: localhost:2181(CONNECTED) 10] create /servers "servers"Created /servers服务器端向 Zookeeper 注册代码/** * @author cVzhanshi * @create 2021-11-23 1原创 2022-04-04 12:24:41 · 26821 阅读 · 0 评论 -
Zookeeper快速入门学习笔记(上)
第 1 章 Zookeeper入门及安装1.1 Zookeeper入门Zookeeper概述Zookeeper 是一个开源的分布式的,为分布式框架提供协调服务的 Apache 项目Zookeeper工作机制Zookeeper从设计模式角度来理解:是一个基 于观察者模式设计的分布式服务管理框架,它负 责 存储和管理大家都关心的数据,然 后接受观察者的 注 册,一旦这些数据的状态发生变化,Zookeeper 就 将负责通知已经在Zookeeper上注册的那些观察 者做出相应的反应。Zook原创 2022-04-04 12:21:54 · 344 阅读 · 0 评论 -
JVM入门(下)
JVM入门(下)原创 2022-01-03 22:39:34 · 594 阅读 · 0 评论 -
JVM入门(上)
JVM入门原创 2022-01-03 22:32:02 · 259 阅读 · 0 评论 -
Dubbo快速入门(学习笔记)
一、概述1.1 分布式基础理论分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统分布式系统(distributed system)是建立在网络之上的软件系统RPCRPC概述RPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的原创 2021-11-30 16:51:00 · 26567 阅读 · 0 评论 -
快速掌握POI&easyExcel
谈谈 POI 和 easyExcel常用场景1、将用户信息导出为excel表格(导出数据…)2、将Excel表中的信息录入到网站数据库(习题上传…)开发中经常会设计到excel的处理,如导出Excel,导入Excel到数据库中!操作Excel目前比较流行的就是 Apache POI 和 阿里巴巴的 easyExcel !Apache POIApache POI 官网:https://poi.apache.org/ --> 因为原生,所以比较复杂,还可能会报OOMeasy原创 2021-10-19 11:58:46 · 255 阅读 · 0 评论 -
并发编程JUC(下)
16、JMMVolatile的理解Volatile 是 Java 虚拟机提供 轻量级的同步机制(与synchronized差不多,但是没有它强大)1、保证可见性2、不保证原子性3、禁止指令重排什么是JMMJMM:Java内存模型,不存在的东西,是一种概念、约定!关于JMM的一些同步约定:线程解锁前,必须把共享变量立刻刷回主存线程加锁前,必须读取主存中的最新值到共线程自己的工作内存中[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QGYCsM原创 2021-09-27 14:55:07 · 198 阅读 · 0 评论 -
并发编程JUC(中)
9、读写锁一个 ReadWriteLock保持一对一联系 locks,一个用于只读操作,一个用于写入,读操作可以多个线程而写操作只能一个线程代码案例:做一个我们自己的cache缓存。分别有写入操作、读取操作,采用五个线程去写入,使用五个线程去读取,查看结果代码示例:/** * @author cVzhanshi * @create 2021-09-22 14:50 *//** * ReadWriteLock */public class ReadWriteLockDemo {原创 2021-09-27 14:53:59 · 197 阅读 · 0 评论 -
并发编程JUC(上)
1、什么是JUCjava.util工具包业务:普通的线程代码 ThreadRunnable: 没有返回值、效率相比于Callable 相对较低!2、线程和进程进程、线程进程:一个程序,QQ.EXE Music.EXE 程序的集合一个进程可以包含多个线程,至少包含一个线程!Java默认有几个线程?2个线程 => main线程、GC线程线程:开了一个进程Typora,写字,等待几分钟会进行自动保存(线程负责的)对于Java而言:可以通过Thread、Runable、原创 2021-09-27 14:52:57 · 167 阅读 · 0 评论 -
Docker进阶篇 - (二)Docker Swarm&Other
Docker Swarm环境准备,四台1G2核的服务器,且都装上docker工作模式搭建集群注意网络信息,初始是新的系统:[root@iZwz91en47c67mqrimqh1qZ ~]# docker network lsNETWORK ID NAME DRIVER SCOPE70d23031710e bridge bridge local27f603fcaa53 host host local8361a65334原创 2021-09-13 19:30:34 · 399 阅读 · 0 评论 -
Docker进阶篇 - (一)Docker Compose
Docker Compose简介能够解决的问题:DockerFile build run 一次只能手动操作一个容器,如果到微服务层次,有100个微服务都有依赖关系的,那么前面的方法就显得很笨重,Docker Compose能够轻松高效的管理容器。定义运行多个容器。官方文档介绍Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML fil原创 2021-09-13 17:24:29 · 237 阅读 · 0 评论 -
Docker基础篇 - (六)Docker 网络&Spring Boot微服务打包Docker镜像
⑦ Docker 网络7.1 理解Docker0清空下前面的docker 镜像、容器# 删除全部容器[root@cVzhanshi tomcat-diy]# docker rm -f $(docker ps -aq)# 删除全部镜像[root@cVzhanshi tomcat-diy]# docker rmi -f $(docker images -aq)用ip addr查看Linux系统中的网卡三个网络问题: docker 是如果处理容器网络访问的?# 测试,运行一个to原创 2021-09-13 17:02:37 · 355 阅读 · 2 评论 -
Docker基础篇 - (五)DockerFile
⑥ DockerFile6.1 DockerFile介绍dockerfile是用来构建docker镜像的文件!命令参数脚本!构建步骤:1、 编写一个dockerfile文件2、 docker build 构建称为一个镜像3、 docker run运行镜像4、 docker push发布镜像(DockerHub 、阿里云仓库)在DockerHub中找一个镜像(centos为例)点击后跳到一个Dockerfile很多官方镜像都是基础包,很多功能没有,我们通常会自己搭建自己的镜像!官方原创 2021-09-13 15:58:57 · 238 阅读 · 0 评论 -
Docker基础篇 - (四)容器数据卷
⑤ 容器数据卷5.1 什么是容器数据卷docker的理念回顾: 将应用和环境打包成一个镜像数据?如果数据都在容器中,那么我们容器删除,数据就会丢失!需求:数据可以持久化MySQL,容器删除了,删库跑路!需求:MySQL数据可以存储在本地!容器之间可以有一个数据共享的技术!Docker容器中产生的数据,同步到本地!这就是卷技术!目录的挂载,将我们容器内的目录,挂载到Linux上面!总结: 容器的持久化和同步操作!容器间也是可以数据共享的!5.2 使用容器卷方式一:原创 2021-09-13 15:01:57 · 692 阅读 · 0 评论 -
Docker基础篇 - (三)Docker镜像讲解
④ Docker镜像讲解4.1 什么是镜像镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,他包含运行某个软件所需的所有内容,包括代码、运行时库、环境变量和配置文件。所有的应用,直接打包docker镜像,就可以直接跑起来!如何得到镜像:从远程仓库下载拷贝自己制作一个镜像 DockerFile4.2 Docker镜像加载原理UnionFs (联合文件系统)UnionFs(联合文件系统):Union文件系统(UnionFs)是一种分层、轻量级并且原创 2021-09-13 14:26:05 · 316 阅读 · 0 评论 -
Docker基础篇 - (二)Docker的常用命令
③ Docker的常用命令3.1 帮助命令docker version #显示docker的版本信息。docker info #显示docker的系统信息,包括镜像和容器的数量docker 命令 --help #帮助命令帮助文档的地址: https://docs.docker.com/engine/reference/commandline/docker/3.2 镜像命令docker images #查看所有本地主机上的镜像 可以使用docker image ls代原创 2021-09-13 14:18:51 · 359 阅读 · 0 评论 -
Docker基础篇 - (一)Docker概述安装
① Docker 概述1.1 Docker产生的起因Docker产生之前锁存在的问题一款产品: 开发–上线 两套环境!应用环境,应用配置!及其麻烦开发 — 运维。 问题:不同的人的电脑环境不同,所以就会出现我的电脑能运行问题,版本更新,导致服务不可用!对于运维来说考验十分大?环境配置是十分的麻烦,每一个集群都要部署环境(集群Redis、ES、Hadoop…) !费事费力。之前在服务器配置一个应用的环境 Redis MySQL JDK ES Hadoop 配置超麻烦了,不能够跨原创 2021-09-13 11:52:04 · 262 阅读 · 0 评论 -
快速了解雪花算法详解及spring boot集成
雪花算法使用场景:集群高并发情况下分布式唯一全局Id的生成雪花算法的需求分析为什么需要分布式全局唯一ID以及分布式ID的业务需求在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识如在美团点评的金融、支付、餐饮、酒店;猫眼电影等产品的系统中数据日渐增长,对数据分库分表后需要有一个唯一ID来标识一 条数据或消息,特别一点的如订单、骑手、优惠券也都需要有唯一ID做标识。此时一个能够生成全局唯一-ID的 系统是非常必要的。ID生成规则部分硬性要求全局唯一:不能出现重复的ID原创 2021-08-19 09:04:33 · 38794 阅读 · 0 评论 -
Redis6篇 (八)Redis应用问题的解决 + Redis6.0的新功能
十三、Redis应用问题的解决13.1 缓存穿透13.1.1 问题描述key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会压到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S32iUhYD-1629090717816)(Redis6.assets/1628150662444.png)]13.1.2 解决原创 2021-08-17 14:45:25 · 26214 阅读 · 0 评论 -
Redis6篇 (七)Redis主从复制 + Redis集群
十一、Redis主从复制11.1 概述主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主作用读写分离,性能扩展容灾快速恢复[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y8XNmXFN-1629090717781)(Redis6.assets/1627892133400.png)]11.2 搭建主从复制在根目录下创建文件夹myredis,把redis的配置文件复制过来,要把aof持原创 2021-08-17 14:33:41 · 963 阅读 · 0 评论 -
Redis6篇 (六)Redis持久化
十、Redis持久化10.1 RDB持久化在指定的时间间隔内将内存中的数据集快照写入磁盘, 也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里10.1.1 持久化执行流程Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到 一个临时文件中,待持久化过程都结束了,再用这个临时文件替换上次持久化好的文件。 整个过程中,主进程是不进行任何IO操作的,这就确保了极高的性能 如果需要进行大规模数据的恢复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方原创 2021-08-17 12:00:04 · 917 阅读 · 0 评论 -
Redis6篇 (五)Redis事务操作 + Redis事务-秒杀案例
八、Redis事务操作8.1 事务的概述Redis事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。Redis事务的主要作用就是串联多个命令防止别的命令插队。##8.2 Multi、Exec、discard从输入Multi命令开始,输入的命令都会依次进入命令队列中,但不会执行,直到输入Exec后,Redis会将之前的命令队列中的命令依次执行。组队的过程中可以通过discard。[外链图片转存失败,源站可能有防原创 2021-08-17 09:40:15 · 26751 阅读 · 0 评论 -
Redis6篇 (四)Jedsi操作Redis + Spring Boot 整合Redis
六、Jedsi操作Redis6.1 常用操作jedis所需的依赖<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.3.0</version></dependency>连接Redis的注意事项禁用Linux的防火墙:Linux(CentOS7)里执行命原创 2021-08-17 09:31:02 · 26325 阅读 · 0 评论 -
Redis6篇 (三)Redis新数据类型
五、Redis新数据类型5.1 Bitmaps5.1.1 简介现代计算机用二进制(位) 作为信息的基础单位, 1个字节等于8位, 例如“abc”字符串是由3个字节组成, 但实际在计算机存储时将其用二进制表示, “abc”分别对应的ASCII码分别是97、 98、 99, 对应的二进制分别是01100001、 01100010和01100011,如下图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oWXtJKO0-1629090717719)(Redis6.asse原创 2021-08-16 22:57:12 · 926 阅读 · 0 评论 -
Redis6篇 (二)配置文件的介绍 + 发布和订阅
三、Redis配置文件的介绍Units单位配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit大小写不敏感[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yZVT4EBY-1629090717693)(Redis6.assets/1627293075477.png)]INCLUDES包含类似jsp中的include,多实例的情况可以把公用的配置文件提取出来[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(原创 2021-08-16 22:50:52 · 802 阅读 · 0 评论 -
Redis6篇(一)概述与安装 + 五大常用的数据类型
一、Redis的概述与安装1.1 NoSQL数据库简介NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型的数据库。NoSQL 不依赖业务逻辑方式存储,而以简单的key-value模式存储。因此大大的增加了数据库的扩展能力。不遵循SQL标准。不支持ACID。远超于SQL的性能。NoSQL适用场景对数据高并发的读写海量数据的读写对数据高可扩展性的NoSQL不适用场景需要事务支持基于sql的结构化查询存储,处理复杂的关系,需要即席查询原创 2021-08-16 22:39:28 · 27171 阅读 · 0 评论 -
Spring Boot2篇 - 十五、Spring Boot 整合Redis
十五、Spring Boot 整合Redisspringboot 2.x后 ,原来默认使用的 Jedis 被 lettuce 替换,配置文件中的配置注意使用lettuce。jedis:采用的直连,多个线程操作的话,是不安全的。如果要避免不安全,使用jedis pool连接池!更像BIO模式lettuce:采用netty,实例可以在多个线程中共享,不存在线程不安全的情况!可以减少线程数据了,更像NIO模式15.1 测试整合创建springboot项目, 勾选上以下选项(导入依赖)原创 2021-07-28 22:41:49 · 26301 阅读 · 0 评论 -
ElasticSearch快速入门(三)=> 集成Spring Boot + 效仿京东搜索小实战
六、集成Spring Boot6.1 环境的搭建新建一个空项目新建一个spring boot模块[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4udhaNMZ-1629033752728)(ElasticSearch.assets/1628911595275.png)]发现导入的默认es依赖和我们本地的es版本不一样[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JKtlphhu-1629033752741)(Elasti原创 2021-08-16 11:09:36 · 431 阅读 · 0 评论 -
ElasticSearch快速入门(二)=> Rest风格操作
五、Rest风格操作5.1 Rest风格说明一种软件架构风格,而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。基本Rest命令说明methodurl地址描述PUTlocalhost:9200/索引名称/类型名称/文档 id创建文档(指定文档 id)POSTlocalhost:9200/索引名称/类型名称创建文档(随机文档 id)POSTlocalhos原创 2021-08-16 11:01:01 · 317 阅读 · 0 评论 -
ElasticSearch快速入门(一)=> 概述、安装、核心概念、ik分词器
一、ElasticSearch 概述1.1 ElasticSearch 简介ElasticSearch 是基于 Lucene 做了一些封装和增强。而 Lucene 是一套信息检索工具包! jar 包! 不包含 搜索引擎系统! 包含的:索引结构! 读写索引的工具!排序,搜索规则… 工具类!Elaticsearch,简称为 es, es 是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别(大数据时代)的数据。es 也使用原创 2021-08-15 21:45:22 · 275 阅读 · 0 评论 -
SpringSecurity快速入门
① SpringSecurity概述&Helloworld1.1 SpringSecurity 概述Spring 是非常流行和成功的 Java 应用开发框架,Spring Security 正是 Spring 家族中的 成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方 案。正如你可能知道的关于安全方面的两个主要区域是“认证”和“授权”(或者访问控 制),一般来说,Web 应用的安全性包括**用户认证(Authentication)和原创 2021-08-15 21:20:02 · 298 阅读 · 0 评论 -
Nginx快速入门
Nginx产生的原因一个公司的项目刚刚上线的时候,并发量小,用户使用的少,所以在低并发的情况下,一个jar包启动应用就够了,然后内部tomcat返回内容给用户慢慢的,使用平台的用户越来越多了,并发量慢慢增大了,这时候一台服务器满足不了我们的需求了于是我们横向扩展,又增加了服务器。这个时候几个项目启动在不同的服务器上,用户要访问,就需要增加一个代理服务器了,通过代理服务器来帮我们转发和处理请求。我们希望这个代理服务器可以帮助我们接收用户的请求,然后将用户的请求按照规则帮我们转发到不原创 2021-08-06 16:14:06 · 36514 阅读 · 6 评论 -
一篇文章Jwt快速入门
JWT实战笔记① JWT概述官网解释:JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digi原创 2021-07-23 00:44:30 · 299 阅读 · 0 评论 -
一篇文章快速掌握Linux基本操作
说明:此文章通过狂神说视频学习,强烈推荐视频链接:https://www.bilibili.com/video/BV187411y7hF① Linux概述及环境的搭建1.1 入门概述学习Linux的原因linux诞生了这么多年,以前还喊着如何能取代windows系统,现在这个口号已经小多了,任何事物发展 都有其局限性都有其天花板。就如同在国内再搞一个社交软件取代腾讯一样,想想而已基本不可能,因 为用户已经习惯于使用微信交流,不是说技术上实现不了解而是老百姓已经习惯了,想让他们不用,即 使他们.原创 2021-07-21 16:19:32 · 849 阅读 · 0 评论