随笔分类 - 分布式
摘要:1. 概述 老话说的好:遇见困难,首先要做的是积极的想解决办法,而不是先去泄气、抱怨或生气。 言归正传,微服务是当今非常流行的一种架构方式,其中 SpringCloud 是我们常用的一种微服务框架。 今天我们来聊聊 SpringCloud 中的服务治理组件 Eureka。 2. Eureka服务端的
阅读全文
摘要:1. 概述 老话说的好:人不可貌相,海水不可斗量。以貌取人是非常不好的,我们要平等的对待每一个人。 言归正传,今天我们来聊一下分布式全局 ID 与分布式事务。 2. 分布式全局ID 2.1 分布式数据库引发的问题 在数据库中,每个表都有一个主键(ID),用于作为一条数据的唯一标识。 在单体数据库中,
阅读全文
摘要:1. 概述 老话说的好:选择比努力更重要,如果选错了道路,就很难成功。 言归正传,之前我们聊了使用 MyCat 实现Mysql的分库分表和读写分离,MyCat是服务端的代理,使用MyCat的好处显而易见,整个分库分表和读写分离过程对Java程序来说是完全透明的,Java程序像连接Mysql一样,去连
阅读全文
摘要:1.概述 老话说的好:瞻前顾后、患得患失只会让我们失败,下定决心,干就完了。 言归正传,之前我们聊了Mysql的一主一从读写分离集群的搭建,虽然一主一从或一主多从集群解决了并发读的问题,但由于主节点只有一台,如果主节点宕机了,则数据库的写操作便无法完成,从而无法做到高可用。 因此,今天我们来聊一下M
阅读全文
摘要:1. 概述 老话说的好:不熟悉的东西不要不懂装懂,做人要坦诚,知道就是知道,不知道就是不知道。 言归正传,今天我们来聊聊 Mysql主从读写分离集群是如何搭建的,并且聊一下如何用 MyCat 去访问这个Mysql读写分离集群。 2. 场景介绍 服务器A IP:192.168.1.22 服务器B IP
阅读全文
摘要:1. 概述 老话说的好:一个好汉三个帮,一个人再聪明、再有本事,也要借助他人的力量,才能成功。 言归正传,今天我们来聊聊 MyCat的快速搭建。 2. 场景介绍 服务器A IP:192.168.1.22 服务器B IP:192.168.1.12 服务器C IP:192.168.1.11 在 服务器B
阅读全文
摘要:1. 概述 老话说的好:做人要懂得变通,善于思考,有时稍微转个弯,也许问题就解决了。 言归正传,之前我们聊了 RabbitMQ 3.9.7 镜像模式集群的搭建,今天我们来聊聊 RabbitMQ 3.9.7 镜像模式集群与Springboot 2.5.5 整合。 2. 场景说明 服务器A IP:192
阅读全文
摘要:1. 概述 老话说的好:做人脚踏实地,一步一个脚印,便定能战胜一切困难,最终取得成功!!! 言归正传,之前我们聊了 RabbitMQ 单点服务的安装,今天我们来聊聊 RabbitMQ 3.9.7 镜像模式集群的搭建。 RabbitMQ 的镜像模式集群能够保证数据100%不丢失,实际工作中用的最多,实
阅读全文
摘要:1. 概述 RabbitMQ 是目前很流行的消息中间件之一,可靠性非常好,能简单的实现高可用、负载均衡。 今天我们先来聊一下 RabbitMQ 3.9.7 版本在 CentOS7 中的安装。 2. 安装RabbitMQ 2.1 下载 erlang 安装包 因为 RabbitMQ 是使用 erlang
阅读全文
摘要:1. 概述 FastDFS 是目前比较流行的分布式文件系统,可以很容易的实现横向扩展、动态扩容、灾备、高可用和负载均衡。 FastDFS 的服务分为 tracker 服务 和 storage 服务, tracker 服务负责管理,storage 服务负责存储。 FastDFS 的存储节点有分卷(分组
阅读全文
摘要:1. 概述 前面我们聊了 Elasticsearch(ES)集群的搭建,今天我们来聊一下,Elasticsearch(ES)集群如何与 Springboot 进行整合。 Elasticsearch(ES)集群的搭建可参见我的另一篇文章《Elasticsearch(ES)集群的搭建》。 Elastic
阅读全文
摘要:1. 概述 Elasticsearch(ES)集群支持分片和副本,能够很容易的实现负载均衡、扩容、容灾、高可用。 今天我们就来聊一下,Elasticsearch(ES)集群是如何搭建的。 2. 场景介绍 服务器A IP:192.168.1.8 服务器B IP:192.168.1.144 服务器C I
阅读全文
摘要:1. 概述 今天我们来聊一下Elasticsearch(ES)的滚动搜索与批量操作。 2. Elasticsearch(ES)的滚动搜索 2.1 概述 滚动搜索我们经常能够用到,例如:推荐列表,此类列表通常不需要分页,而是一直上滑刷新。 滚动搜索的原理是根据固定的排序规则先加载一部分数据,当用户再刷
阅读全文
摘要:1. 概述 之前聊了Elasticsearch(ES)的高级搜索(DSL搜索)的一部分内容,今天把剩下的部分聊完。 2. 场景说明 2.1 创建索引同时创建映射 PUT http://192.168.1.11:9200/index_user 参数: { "settings":{ "index":{
阅读全文
摘要:1. 概述 之前聊了一下 Elasticsearch(ES)的基本使用,今天我们聊聊 Elasticsearch(ES)的高级搜索(DSL搜索),由于DSL搜索内容比较多,因此分为两篇文章完成。 2. 场景说明 2.1 创建索引同时创建映射 PUT http://192.168.1.11:9200/
阅读全文
摘要:1. 概述 分词器是Elasticsearch中很重要的一个组件,用来将一段文本分析成一个一个的词,Elasticsearch再根据这些词去做倒排索引。 今天我们就来聊聊分词器的相关知识。 2. 内置分词器 2.1 概述 Elasticsearch 中内置了一些分词器,这些分词器只能对英文进行分词处
阅读全文
摘要:1. 概述 之前聊了一下 Elasticsearch 的安装,今天我们来说说 Elasticsearch 的基本使用。 2. Elasticsearch索引的使用 索引(index)相当于是mysql中的表。 2.1 创建索引 1)Head插件方式 选择 索引 页签,点击【新建索引】按钮,输入索引名
阅读全文
摘要:1. 概述 随着企业业务量的不断增大,业务数据随之增加,传统的基于关系型数据库的搜索已经不能满足需要。 在关系型数据库中搜索,只能支持简单的关键字搜索,做不到分词和统计的功能,而且当单表数据量到达上百万级别后,关系型数据库的查询效率就会断崖式下跌,造成用户体验下降。 这时我们就需要引入分布式搜索引擎
阅读全文
摘要:1. 概述 上一次我们聊了一下《使用Redis实现分布式会话》,原理就是使用 客户端Cookie + Redis 的方式来验证用户是否登录。 如果分布式系统中,只是对Tomcat做了负载均衡,或者所有的子系统都在同一个二级域名下,则 客户端Cookie + Redis 的方式是可以支持验证用户是否登
阅读全文
摘要:1. 概述 传统的单体应用中,用户是否登录,通常是通过从Tomcat容器的session中获取登录用户信息判断的。 但在分布式的应用中,通常负载均衡了多台Tomcat,每台Tomcat都有自己独立的session,用户的每次请求都可能到达不同的Tomcat,因此可能会出现需要登录多次或者登录无效的情
阅读全文