
分布式
文章平均质量分 84
追风人聊Java
学习是一辈子的事
展开
-
使用 Nginx 实现 URL 的重定向
目录1. 概述2. 使用 Nginx 实现 URL 的重定向3. 综述4. 个人公众号1. 概述老话说的好:取乎上,得其中;取乎中,得其下。因此我们不妨把目标定的高一些,去努力,才能得到更好回报。言归正传,今天我们来聊聊 使用 Nginx 实现 URL 的重定向。2. 使用 Nginx 实现 URL 的重定向2.1 使用场景我们日常分享一个网站地址时,常常会有这样的效果,同样一个网址,在电脑的浏览器打开,是一种效果,而在手机的浏览器打开,就会展现出另一种更原创 2022-04-10 21:58:49 · 17334 阅读 · 0 评论 -
Kubernetes(K8s)极速入门
目录1. 概述2. 部署 Pod3. 部署 Deployment4. 部署 Service5. 综述6. 个人公众号1. 概述老话说的好:努力学习,努力提高,做一个有真才实学的人。言归正传,之前我们聊了如何使用国内的镜像源搭建 kubernetes(k8s)集群 ,今天我们来聊聊如何在kubernetes(k8s)上部署容器。官网教程:Kubernetes Documentation | Kubernetes2. 部署 Pod2.1 概述P..原创 2021-11-26 20:27:14 · 5932 阅读 · 0 评论 -
使用国内的镜像源搭建 kubernetes(k8s)集群
目录1. 概述2. 场景说明3.kubernetes(k8s)安装(CentOS7)4.kubernetes(k8s)集群搭建(CentOS7)5. 综述6. 个人公众号1. 概述老话说的好:努力学习,提高自己,让自己知道的比别人多,了解的别人多。言归正传,之前我们聊了 Docker,随着业务的不断扩大,Docker 容器不断增多,物理机也不断增多,此时我们会发现,登录到每台机器去手工操作 Docker 是一件很麻烦的事情。这时,我们需要一个好用的工具来管理 ..原创 2021-11-24 14:15:31 · 4810 阅读 · 1 评论 -
Docker 之 Dockerfile 常用语法与实战
目录1. 概述2. Dockerfile 相关知识3. Dockerfile 实战4. 综述5. 个人公众号1. 概述老话说的好:超越别人,不如超越自我,每天比昨天的自己更强就好。言归正传,之前聊了 Docker 的相关知识,今天来聊聊如何编辑 Dockerfile 脚本,来创建我们自己的镜像。2. Dockerfile 相关知识2.1 脚本语法FROM 镜像名 // 以哪个镜像为基础MAINTAINER zhuifengren // 运维人员.原创 2021-11-23 13:26:55 · 576 阅读 · 0 评论 -
Docker 急速入门
目录1. 概述2. 在 CentOS7 安装 Docker3. Docker 的常用命令4. 综述5. 个人公众号1. 概述之前聊了很多 SpringCloud 相关的话题,今天我们来聊聊服务容器 Docker。2. 在 CentOS7 安装 Docker2.1 卸载旧版本的Docker# yum remove docker \docker-client \docker-client-latest \docker-common \docker-lates.原创 2021-11-20 18:00:58 · 578 阅读 · 0 评论 -
SpringCloud 2020.0.4 系列之 Sleuth + Zipkin
目录1. 概述2. Zipkin 服务的搭建3. Demo 服务的搭建4. Zipkin 的简单使用5. 综述6. 个人公众号1. 概述老话说的好:安全不能带来财富,但盲目的冒险也是不可取的,大胆筹划,小心实施才是上策。言归正传,微服务的特点就是服务多,服务间的互相调用也很复杂,就像一张关系网,因此为了更好的定位故障和优化性能,我们需要有工具帮我们很快的梳理出服务间上下游的调用关系。Sleuth 就可以很好的帮我们解决这个问题。但 Sleuth 只是做了后台工作,原创 2021-11-09 17:05:19 · 652 阅读 · 0 评论 -
SpringCloud 2020.0.4 系列之 JWT用户鉴权
目录1. 概述2. 开发 授权鉴权服务接口层my-auth-api3. 开发 授权鉴权服务my-auth-service4. 在网关层(Gateway工程)添加鉴权过滤器5. 综述6. 个人公众号1. 概述老话说的好:善待他人就是善待自己,虽然可能有所付出,但也能得到应有的收获。言归正传,之前我们聊了 Gateway 组件,今天来聊一下如何使用 JWT 技术给用户授权,以及如果在 Gateway 工程使用自定义 filter 验证用户权限。闲话不多说,直接..原创 2021-11-07 17:09:04 · 577 阅读 · 0 评论 -
SpringCloud 2020.0.4 系列之 Gateway入门
目录1. 概述2. Gateway 工程的搭建3. 自定义动态路由4. 综述5. 个人公众号1. 概述老话说的好:做人要有幽默感,懂得幽默的人才会活的更开心。言归正传,今天我们来聊聊 SpringCloud 的网关组件 Gateway,之前我们去访问 SpringCloud 不同服务的接口,都要去找每个服务的 IP地址 和 端口,有了 Gateway 这个组件,我们就可以从一个入口,去访问所有在 Eureka 中注册的服务。闲话不多说,直接上代码。2. G原创 2021-11-05 15:54:45 · 398 阅读 · 0 评论 -
SpringCloud 2020.0.4 系列之 Bus
目录1. 概述2. Git 准备3. Config Server 引入 Bus 组件4. Config Client 引入 Bus 组件5. 综述6. 个人公众号1. 概述老话说的好:会休息的人才更会工作,身体是革命的本钱,身体垮了,就无法再工作了。言归正传,之前我们聊了 SpringCloud 的 分布式配置中心 Config,文章里我们聊了config配置的动态刷新,但这个动态刷新,一次只能刷新一个 Config Client 节点,如果服务节点少还好,如果业务.原创 2021-11-04 20:46:38 · 1058 阅读 · 0 评论 -
SpringCloud 2020.0.4 系列之 Config
目录1. 概述2. Git 准备3. Config Server 的搭建4. Config Client 的搭建5. 使用非对称秘钥对配置属性进行加密6. 配置文件的动态刷新7. 综述8. 个人公众号1. 概述老话说的好:一条路走不通,就去走另一条路,A计划执行不下去,就按B计划执行,多准备几套方案总是有用的。好了,言归正传,今天我们来聊聊 SpringCloud 的 分布式配置中心 Config,微服务架构中,服务节点很多,如果修改一个配置,就要每个服务都.原创 2021-11-03 14:27:26 · 614 阅读 · 0 评论 -
SpringCloud 2020.0.4 系列之Hystrix看板
目录1. 概述2. 暴露业务服务的actuator 接口3. 新建 turbine 工程4. 新建 hystrix dashboard 工程5. 综述6. 个人公众号1. 概述老话说的好:沉默是金,有时适当的沉默,比滔滔不绝更加有效。言归正传,前面我们聊了有关 Hystrix 降级熔断的话题,今天我们来聊聊如何使用 turbine 和 hystrix dashboard 总览项目的熔断降级情况。闲话不多说,直接上代码。2. 暴露业务服务的actuato..原创 2021-10-30 13:05:25 · 584 阅读 · 0 评论 -
SpringCloud 2020.0.4 系列之服务降级的其他用法与熔断
目录1. 概述2. Hystrix服务降级的其他用法3. Hystrix实现熔断4. 综述5. 个人公众号1. 概述老话说的好:控制好自己的情绪,才能控制好自己的人生。冲动是魔鬼,冷静才最重要。言归正传,之前聊了在 Feign 调用时,如何给整个 Feign接口类 增加降级策略。今天我们来聊一下 Hystrix 关于服务降级的其他用法,也聊一下如何使用 Hystrix 实现熔断机制。闲话不多说,直接上代码。2. Hystrix服务降级的其他用法2.1原创 2021-10-28 18:08:06 · 349 阅读 · 2 评论 -
SpringCloud 2020.0.4 系列之服务降级
目录1. 概述2. 接口报错的服务降级3. 接口超时的服务降级4. 综述5. 个人公众号1. 概述老话说的好:做人要正直,做事要正派,胸怀坦荡、光明磊落,才会赢得他人的信赖与尊敬。言归正传,之前聊了服务间通信的组件 Feign,今天我们来聊聊服务降级。服务降级简单的理解就是给一个备选方案,当服务调用报错或者超时时,能终止远程调用,并很快的返回备选的结果,避免引发服务雪崩。今天我们用两个例子,模拟一下 接口报错 和 接口超时 的服务降级实现。我们使用 hys原创 2021-10-27 17:39:20 · 492 阅读 · 0 评论 -
SpringCloud 2020.0.4 系列之 Feign
目录1. 概述2. my-eureka-client 工程中增加Service方法3. my-feign 工程的搭建4. 综述5. 个人公众号1. 概述老话说的好:任何问题都有不止一种的解决方法,当前的问题没有解决,只是还没有发现解决方法,而并不是无解。言归正传,之前我们聊了 SpringCloud 的服务治理组件 Eureka,今天我们来聊聊服务间的通信组件 Feign。闲话不多说,直接上代码。2. my-eureka-client 工程中增加Service原创 2021-10-26 14:22:05 · 573 阅读 · 0 评论 -
SpringCloud 2020.0.4 系列之Eureka
目录1. 概述2. Eureka服务端的搭建3. Eureka客户端(Demo)的搭建4. Eureka Server 高可用5. 综述6. 个人公众号1. 概述老话说的好:遇见困难,首先要做的是积极的想解决办法,而不是先去泄气、抱怨或生气。言归正传,微服务是当今非常流行的一种架构方式,其中 SpringCloud 是我们常用的一种微服务框架。今天我们来聊聊 SpringCloud 中的服务治理组件 Eureka。2. Eureka服务端的搭建2.1原创 2021-10-24 17:31:23 · 594 阅读 · 0 评论 -
分布式全局ID与分布式事务
目录1. 概述2. 分布式全局ID3. 分布式事务4. 综述5. 个人公众号1. 概述老话说的好:人不可貌相,海水不可斗量。以貌取人是非常不好的,我们要平等的对待每一个人。言归正传,今天我们来聊一下分布式全局 ID 与分布式事务。2. 分布式全局ID2.1 分布式数据库引发的问题在数据库中,每个表都有一个主键(ID),用于作为一条数据的唯一标识。在单体数据库中,大多数时候,我们会采用主键自增的方式生成 ID。但在分布式的数据库中,使用了分库分表后,原创 2021-10-21 18:34:06 · 400 阅读 · 0 评论 -
使用ShardingSphere-JDBC完成Mysql的分库分表和读写分离
目录1. 概述2. 场景介绍3.ShardingSphere-JDBC在Springboot中的具体使用4. 综述5. 个人公众号1. 概述老话说的好:选择比努力更重要,如果选错了道路,就很难成功。言归正传,之前我们聊了使用 MyCat 实现Mysql的分库分表和读写分离,MyCat是服务端的代理,使用MyCat的好处显而易见,整个分库分表和读写分离过程对Java程序来说是完全透明的,Java程序像连接Mysql一样,去连接MyCat即可。但MyCat的运维成本较..原创 2021-10-20 18:31:26 · 929 阅读 · 1 评论 -
Mysql双主双从高可用集群的搭建且与MyCat进行整合
目录1.概述2. 场景介绍3. Mysql 双主双从集群的搭建3.1 服务器B(主1)与服务器A(从1)的主从搭建3.2 配置服务器C(主2)做为 服务器B(主1)的从3.3 配置服务器B(主1)做为 服务器C(主2)的从3.4服务器C(主2)与服务器D(从2)的主从搭建3.5 测试数据同步4. MyCat配置4.1 在之前的基础上修改MyCat配置4.2 重启MyCat4.3 测试高可用5. 综述6. 个人公众号1.概述老话说的好:瞻前...原创 2021-10-18 16:15:12 · 360 阅读 · 0 评论 -
Mysql读写分离集群的搭建且与MyCat进行整合
1. 概述老话说的好:不熟悉的东西不要不懂装懂,做人要坦诚,知道就是知道,不知道就是不知道。言归正传,今天我们来聊聊 Mysql主从读写分离集群是如何搭建的,并且聊一下如何用 MyCat 去访问这个Mysql读写分离集群。2. 场景介绍服务器A IP:192.168.1.22服务器B IP:192.168.1.12服务器A 和 服务器B 都安装了Mysql,且初始化完成,关于Mysql在CentOS7的安装,可参见我的另一篇文章《MyCat的快速搭建》。服务器B作为原创 2021-10-13 20:32:02 · 283 阅读 · 0 评论 -
MyCat的快速搭建
1. 概述老话说的好:一个好汉三个帮,一个人再聪明、再有本事,也要借助他人的力量,才能成功。言归正传,今天我们来聊聊 MyCat的快速搭建。2. 场景介绍服务器A IP:192.168.1.22服务器B IP:192.168.1.12服务器C IP:192.168.1.11在 服务器B 和 服务器C 安装 Mysql 服务在 服务器A 安装MyCat3. CentOS7 中安装 Mysql3.1 yum rpm 包下载可以到mysql官网地址(M.原创 2021-10-11 23:20:44 · 354 阅读 · 0 评论 -
Springboot中使用Redisson实现分布式锁
1. 概述老话说的好:便宜没好货,有价值的商品,即使再贵,也有人会买。言归正传,今天继续讨论有关“锁”的话题,synchronized 和ReentrantLock 大家应该都非常熟悉了,但这两个锁,作用域仅限制于单个Tomcat,如果使用了 Tomcat 集群,这两个锁就不管用了。此时我们就要引入分布式锁了,分布式锁的实现方式有很多,可以使用 Mysql 数据库实现,也可以使用 Zookeeper 实现,当然比较常用的还是使用 Redis 实现。今天我们就来聊一下基于 Redis 的.原创 2021-10-10 16:29:17 · 828 阅读 · 0 评论 -
RabbitMQ 3.9.7 镜像模式集群与Springboot 2.5.5 整合
1. 概述老话说的好:做人要懂得变通,善于思考,有时稍微转个弯,也许问题就解决了。言归正传,之前我们聊了 RabbitMQ 3.9.7 镜像模式集群的搭建,今天我们来聊聊 RabbitMQ 3.9.7 镜像模式集群与Springboot 2.5.5 整合。2. 场景说明服务器A IP:192.168.1.22服务器B IP:192.168.1.8服务器C IP:192.168.1.144此三台服务器上已搭建好了 RabbitMQ镜像模式集群,镜像模式集群的搭建,可参见我的原创 2021-10-02 12:03:42 · 444 阅读 · 0 评论 -
RabbitMQ 3.9.7 镜像模式集群的搭建
1. 概述老话说的好:做人脚踏实地,一步一个脚印,便定能战胜一切困难,最终取得成功!!!言归正传,之前我们聊了RabbitMQ 单点服务的安装,今天我们来聊聊RabbitMQ 3.9.7 镜像模式集群的搭建。RabbitMQ 的镜像模式集群能够保证数据100%不丢失,实际工作中用的最多,实现也很简单,通常由3个节点组成。2. 场景说明服务器A IP:192.168.1.22服务器B IP:192.168.1.8服务器C IP:192.168.1.144服务器A..原创 2021-09-30 18:10:37 · 757 阅读 · 0 评论 -
RabbitMQ3.9.7在CentOS7中的安装搭建
目录1、概述2、安装RabbitMQ3. 综述1、概述RabbitMQ 是目前很流行的消息中间件之一,可靠性非常好,能简单的实现高可用、负载均衡。今天我们先来聊一下 RabbitMQ 3.9.7 版本在 CentOS7 中的安装。2、安装RabbitMQ2.1 下载 erlang 安装包因为 RabbitMQ 是使用 erlang 语言编写的,因此需要先安装 erlang。下载地址:Releases · rabbitmq/erlang-rpm · GitHub原创 2021-09-27 11:41:54 · 853 阅读 · 2 评论 -
分布式文件系统FastDFS在CentOS7上的安装及与Springboot的整合
目录1. 概述2. 场景说明3. FastDFS在CentOS7上的安装4. 与 Springboot 整合5. 综述1. 概述FastDFS 是目前比较流行的分布式文件系统,可以很容易的实现横向扩展、动态扩容、灾备、高可用和负载均衡。FastDFS 的服务分为 tracker 服务 和 storage 服务,tracker 服务负责管理,storage 服务负责存储。FastDFS 的存储节点有分卷(分组)的概念,不同分卷的服务器数据不同,相当于分片,同一分卷中的服务.原创 2021-09-25 18:05:53 · 241 阅读 · 0 评论 -
重磅来袭!!!Elasticsearch7.14.1(ES 7.14.1)与Springboot2.5.4的整合
目录1. 概述2. Springboot 与Elasticsearch(ES)的版本对应问题3.Elasticsearch(ES )与 Springboot 的整合4. 综述1. 概述前面我们聊了 Elasticsearch(ES)集群的搭建,今天我们来聊一下,Elasticsearch(ES)集群如何与 Springboot 进行整合。Elasticsearch(ES)集群的搭建可参见我的另一篇文章《Elasticsearch(ES)集群的搭建》。Elastic...原创 2021-09-24 13:04:02 · 1008 阅读 · 0 评论 -
Elasticsearch(ES)集群的搭建
目录1. 概述2. 场景介绍3.Elasticsearch(ES)集群的搭建4. 综述1. 概述Elasticsearch(ES)集群支持分片和副本,能够很容易的实现负载均衡、扩容、容灾、高可用。今天我们就来聊一下,Elasticsearch(ES)集群是如何搭建的。2. 场景介绍服务器A IP:192.168.1.8服务器B IP:192.168.1.144服务器C IP:192.168.1.22三台服务器都已安装单点的 Elasticsearch(..原创 2021-09-23 10:15:38 · 572 阅读 · 0 评论 -
Elasticsearch(ES)的滚动搜索与批量操作
目录1. 概述2. Elasticsearch(ES)的滚动搜索3. Elasticsearch(ES)的文档批量操作4. 综述1. 概述今天我们来聊一下Elasticsearch(ES)的滚动搜索与批量操作。2. Elasticsearch(ES)的滚动搜索2.1 概述滚动搜索我们经常能够用到,例如:推荐列表,此类列表通常不需要分页,而是一直上滑刷新。滚动搜索的原理是根据固定的排序规则先加载一部分数据,当用户再刷新时,从上次加载的最后一条数据的位置再加载同样..原创 2021-09-22 18:33:23 · 633 阅读 · 0 评论 -
Elasticsearch(ES)的高级搜索(DSL搜索)(下篇)
目录1. 概述2. 场景说明3. 高级搜索(DSL搜索)(下篇)4. 综述1. 概述之前聊了Elasticsearch(ES)的高级搜索(DSL搜索)的一部分内容,今天把剩下的部分聊完。2. 场景说明2.1 创建索引同时创建映射PUThttp://192.168.1.11:9200/index_user参数:{ "settings":{ "index":{ "number_of_shards":5, ..原创 2021-09-21 08:34:33 · 524 阅读 · 0 评论 -
Elasticsearch(ES)的高级搜索(DSL搜索)(上篇)
目录1. 概述2. 场景说明3. 高级搜索(DSL搜索)(上篇)4. 综述1. 概述之前聊了一下Elasticsearch(ES)的基本使用,今天我们聊聊Elasticsearch(ES)的高级搜索(DSL搜索),由于DSL搜索内容比较多,因此分为两篇文章完成。2. 场景说明2.1 创建索引同时创建映射PUThttp://192.168.1.11:9200/index_user参数:{ "settings":{ "index"...原创 2021-09-20 17:25:08 · 1485 阅读 · 0 评论 -
Elasticsearch(ES)分词器的那些事儿
1. 概述分词器是Elasticsearch中很重要的一个组件,用来将一段文本分析成一个一个的词,Elasticsearch再根据这些词去做倒排索引。今天我们就来聊聊分词器的相关知识。2. 内置分词器2.1 概述Elasticsearch 中内置了一些分词器,这些分词器只能对英文进行分词处理,无法将中文的词识别出来。2.2 内置分词器介绍standard:标准分词器,是Elasticsearch中默认的分词器,可以拆分英文单词,大写字母统一转换成小写。simple:按原创 2021-09-19 11:03:57 · 1005 阅读 · 0 评论 -
Elasticsearch(ES)的基本使用
1. 概述之前聊了一下 Elasticsearch 的安装,今天我们来说说 Elasticsearch 的基本使用。2.Elasticsearch索引的使用索引(index)相当于是mysql中的表。2.1 创建索引1)Head插件方式选择 索引 页签,点击【新建索引】按钮,输入索引名称、分片数、副本数,点击【OK】之所以集群健康值呈现黄色,是因为目前是用单服务器跑的Elasticsearch,而副本是要存储在不同的服务器上的,之后会聊一下 Elastic..原创 2021-09-18 23:33:37 · 437 阅读 · 0 评论 -
分布式搜索引擎Elasticsearch(ES)在CentOS7中的安装
1. 概述随着企业业务量的不断增大,业务数据随之增加,传统的基于关系型数据库的搜索已经不能满足需要。在关系型数据库中搜索,只能支持简单的关键字搜索,做不到分词和统计的功能,而且当单表数据量到达上百万级别后,关系型数据库的查询效率就会断崖式下跌,造成用户体验下降。这时我们就需要引入分布式搜索引擎,来支持大数据量的查询。分布式搜索引擎的可以弥补关系型数据库的不足,首先可以支持海量数据的查询,支持分词,因为是分布式的,所以扩展方便,可轻松实现负载均衡和高可用。Elasticsearch(简称E原创 2021-09-17 23:50:58 · 444 阅读 · 0 评论 -
跨域分布式系统单点登录的实现(CAS单点登录)
1. 概述上一次我们聊了一下《使用Redis实现分布式会话》,原理就是使用 客户端Cookie + Redis 的方式来验证用户是否登录。如果分布式系统中,只是对Tomcat做了负载均衡,或者所有的子系统都在同一个二级域名下,则客户端Cookie + Redis 的方式是可以支持验证用户是否登录的。如果分布式系统中包含了不同域名的子系统,之前的客户端Cookie + Redis 的方式就不支持了,因为二级域名不同,Cookie无法共享。例如:浏览器在子系统A的二级域名中保存了Cookie..原创 2021-09-17 00:12:34 · 1286 阅读 · 0 评论 -
使用Redis实现分布式会话
1. 概述传统的单体应用中,用户是否登录,通常是通过从Tomcat容器的session中获取登录用户信息判断的。但在分布式的应用中,通常负载均衡了多台Tomcat,每台Tomcat都有自己独立的session,用户的每次请求都可能到达不同的Tomcat,因此可能会出现需要登录多次或者登录无效的情况出现。为了解决这个问题,就需要使用一个缓存中间件,将登录用户的信息存入这个缓存中间件,所有的Tomcat都从缓存中间件中获取登录用户信息,从而判断登录状态。Redis就是一个很好用的缓存中间件,接下原创 2021-09-15 19:13:57 · 633 阅读 · 0 评论