自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 轻松实现分布式锁

分布式锁引言传统的锁在分布式集群项目中,直接失效,因为传统的synchronized还是Lock锁,都是基于JVM实现的,而搭建了集群或者分布式之后,会有多个JVM程序,锁的互斥性失效。使用分布式锁的概念:基于JVM之外的一个单独的程序分配锁资源使用zookeeper实现分布式锁Zookeeper分布式锁原理:Zookeeper提供了一个临时有序节点,并且Zookeeper在执行写操作时,是有序的。当客户端向Zookeeper中添加临时有序节点之后,判断自己是否是序号最小的节点

2020-08-01 12:31:07 129

原创 10分钟快速了解zookeeper

1.3 Zookeeper的架构Zookeeper本身就时一个文件存储系统:Zookeeper内部存储着大量的znode,每一个znode节点都可以有多个子节点,每一个znode都可以单独的存储数据。持久的znode:永久的保存在Zookeeper持久有序的znode:永久的保存在Zookeeper。添加节点时,自动在节点名称后追加一个有序的序号。临时的znode:客户端和Zookeeper服务断开连接后,当前znode自动删除。临时有序的znode:客户端和Zookeeper服务断开连接后,

2020-08-01 12:12:37 123

原创 简单聊聊Hystrix的原理和好处

Hystrix是什么?在分布式系统,我们一定会依赖各种服务,那么这些个服务一定会出现失败的情况,Hystrix就是这样的一个工具,它通过提供了逻辑上延时和错误容忍的解决力来协助我们完成分布式系统的交互。Hystrix 通过分离服务的调用点,阻止错误在各个系统的传播,并且提供了错误回调机制,这一系列的措施提高了系统的整体服务弹性。hystrix的优点1.快速失败在出现异常问题之后,走降级方法,快速失败,返回托底数据2.hystrix的隔离机制1.线程池隔离用户接收请求依然使用我们容器的线程

2020-08-01 11:37:41 567

原创 redis的核心知识总结(基础篇)

为什么使用redis(一)性能我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存。这样,后面的请求就去缓存中读取,使得请求能够迅速响应。(二)并发在大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常。这个时候,就需要使用redis做一个缓冲操作,让请求先访问到redis,而不是直接访问数据库使用redis的好处Redis是基于内存存储数据,亦可持久化到本地。Redis在接收请求的命令时,是单线程处理,内部的操作时多线程的。Redis的读写速度

2020-07-25 11:30:30 108

原创 手把手教你轻松实现Docker的CI和CD

一 CI-持续集成.在程序员编写完一个功能要提交到GitLab仓库后,GitLab Runner将最新提交上去的代码,package,在通过Docker部署到GitLab Runner所在的服务器中。安装GitLab Runner:docker-compose.yml文件version: ‘3.1’services:gitlab-runner:build: environmentrestart: alwayscontainer_name: gitlab-runner

2020-07-11 13:27:23 1727

原创 十分钟搞定从安装到全面理解Nginx

Nginx一、 引言.为什么要学习Nginx:客户端需要将请求发送到哪台服务器?客户端如果将请求都发送到一台服务器上,集群部署没有意义。客户端请求的动态资源和静态资源是否可以分开。反向代理服务器,接收客户端请求,根据一定的策略转发到指定的服务器上。实现客户端请求的负载均衡。实现请求的动静分离,更快速的给客户端响应。Nginx的并发能力极强。二、安装Nginx2.1 简单的安装Nginxversion: "3.1"services: nginx:

2020-07-10 13:34:56 127

原创 一小时轻松进阶Docker深度操作

能看到这里说明你已经在之前 掌握了docker的基本操作,接下来和我一起领略一下docker更大的魅力吧!八、数据卷【重点】为了部署SSM的工程,需要使用到cp的命令将宿主机内的ssm.war文件复制到容器内部。数据卷:将宿主机的一个目录映射到容器的一个目录中。可以在宿主机中操作目录中的内容,那么容器内部映射的文件,也会跟着一起改变。8.1 创建数据卷创建数据卷之后,默认会存放在一个目录下 /var/lib/docker/volumes/数据卷名称/_datadocker volu.

2020-07-08 20:45:19 229

原创 十分钟搞定Docker的基本操作

一、引言(为什么我们要使用Docker)我们在平时的开发中总是会遇到如下的麻烦,比如:1.1 环境不一致我本地运行没问题啊:由于环境不一致,导致相同的程序,运行结果却不一致。1.2 隔离性哪个哥们又写死循环了,怎么这么卡:在多用户的操作系统下,会因为其他用户的操作失误影响到你自己编些的程序。1.3 弹性伸缩淘宝在双11的时候,用户量暴增:需要很多很多的运维人员去增加部署的服务器,运维成本过高的问题。1.4 学习成本学习一门技术,得先安装啊:学习每一门技术都要先安装响应的软件

2020-07-08 20:13:08 247

原创 简单聊聊java架构的演进

架构演进:单体架构:All In One。多机部署:将程序和数据库已经存储文件系统单独的部署。集群部署:将程序部署多个。问题1:用户的请求到底要发送到哪台机器上。 - Nginx问题2:Session中的数据无法共享。 - Redis问题3:对于一些热点数据的查询,可能会导致数据库的宕机。 - Redis问题4:搜索数据,导致索引失效,全盘扫描,可能会导致数据库的宕机。 - ElasticSearch垂直架构:将功能模块单独的分离出来,自己部署自己的,不交互。分布式.

2020-07-08 10:33:10 787 1

原创 10分钟搞定Linux的基本操作

一.Linux介绍:为什么学习Linux : 针对生产环境,市场上大多使用Linux操作系统。Linux版本 : 内核版本 : Linus正在维护的版本. 发型版本: 厂商针对Linux进行封装后的版本 -CentOS7.0版本。和windows的区别 : Linux严格区分大小写。 Linux中一切皆是文件。 Linux中的文件是没有后缀 : 压缩包 : tar tar.gz tgz。 可执行文件: sh。 配置文件 : conf ,properties,yml。 Wind

2020-07-06 21:35:30 895 1

空空如也

空空如也

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

TA关注的人

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