分布式
文章平均质量分 94
帅得真的是无敌了
这个作者很懒,什么都没留下…
展开
-
SpringCloud_Eureka服务的注册与发现
在服务提供者和消费者的POM文件中引入Actuator依赖-- actuator监控信息完善 -- > < dependency > < groupId > org . springframework . boot < / groupId > < artifactId > spring - boot - starter - actuator < / artifactId > < / dependency >在服务提供者的application.yml文件中添加如下。原创 2023-04-21 19:41:06 · 544 阅读 · 0 评论 -
Elasticsearch集群搭建、优化及实践
当索引足够大时,需要建立ES集群,此时需要将索引拆分成多分,分别放入不同的服务器中,几台服务器维护同一个索引。每一台服务器为一个节点,每一台服务器中的数据称为一个分片。防止节点故障导致集群无法正常运行,分片和该分片的副本不会存放在同一个节点上。安装完ES服务后,再安装分词器,然后修改ES的配置文件elasticsearch.yml,配置成集群的参数即可完成集群的搭建。安装Kibana需要修改Kibana的配置文件kiabana.yml,配置集群的连接即可。原创 2023-03-06 00:27:53 · 1056 阅读 · 1 评论 -
Elasticsearch报错汇总
问题:bootstrap check failure [1] of [1]: Transport SSL must be enabled if security is enabled. Please set [xpack.security.transport.ssl.enabled] to [true] or disable security by setting [xpack.security.enabled] to [false]原创 2023-03-04 02:49:14 · 1994 阅读 · 0 评论 -
SpringBoot整合Elasticsearch
1)使用Repository接口实现操作ElasticSearch,需要yml文件配置ES的主机和端口号,用一个接口去继承ElasticsearchRepository类,调用该类提供的方法即可。2)DSL实现的话,用一个接口去继承ElasticsearchRepository类,通过@Query注解编写DSL语句,调用@Query注解下的方法即可。3)按照规则命名方法查询,既不用编写DSL语句,也不用使用固定的方法,而是根据查询的需要按照规则命令该方法即可查询。命名以findBy开头。原创 2023-03-01 23:58:33 · 828 阅读 · 0 评论 -
Elasticsearch_分词器、搜索文档以及原生JAVA操作
需要对一段内容既进行文字分词,又进行拼音分词,此时需要自定义ik+pinyin分词器。在创建索引时设置自定义分词器//自定义分词器名 "tokenizer" : "ik_max_word" , //基本分词器 "filter" : "pinyin_filter" //配置过滤分词器 } } , "filter" : {原创 2023-02-21 15:45:18 · 2484 阅读 · 0 评论 -
Elasticsearch的安装及常用操作
Elasticsearch是一个全文检索服务器,全文检索是一种非结构化数据的搜索方式。结构化数据:指具有固定长度的数据,如数据库中的字段。非结构化数据:指格式和长度不固定的数据。结构化数据一般存入数据库,使用sql语句即可快速查询。但由于非结构化数据量大且格式不固定,需要采用全文检索的方式进行搜索。全文检索通过建立倒排索引加快搜索效率。索引:将数据中的一部分信息提取出来,重新组织成一定的数据结构,可以根据该结构进行快速搜索,这样的结构称之为索引。索引分为正排索引和倒排索引。原创 2023-02-19 20:36:45 · 1225 阅读 · 0 评论 -
IDEA操作Sharding-JDBC实战2
强制路由,即自定义强制路由算法,实现HintShardingAlgorithm接口,在配置文件中指定该算法,需要时直接获取强制路由hint实例,并设置路由键即可。数据脱敏,即使用配置文件配置需要脱敏的逻辑列、加密的算法和盐值等,将插入的列进行加密,Sharding-JDBC在数据库中将未加密的放在明文列,加密的放在密文列。可不配置明文列。encryptor,加密的算法分为AES、MD5和RC4。在写操作时,会对逻辑列进行加密操作,在读操作时,进行解密操作。分布式事务。原创 2022-09-19 12:32:32 · 397 阅读 · 0 评论 -
IDEA操作Sharding-JDBC实战1
Sharding-JDBC分库,首先需要引入Sharding-JDBC相关依赖,其次是在配置文件中配置Sharding-JDBC。因为使用JPA的ORM框架,所以采用在repository接口继承JpaRepository类,并传入实体类以及主键类型。在使用JPA时,只需要@Resouce注入对应的接口类,直接引用即可。sharding-jdbc读写分离方案有三种,分库+读写分离、分表+读写分离和分库分表+读写分离。原创 2022-09-17 22:01:46 · 1266 阅读 · 0 评论 -
Sharding-JDBC概述
随着通信技术的革新,全新领域的应用层出不穷,数据存量随着应用的探索不断增加,数据的存储和计算模式无时无刻不面临着创新。面对交易、大数据、关联分析、物联网等场景越来越细分,单一数据库再也无法适用于所有的应用场景。于此同时,场景内部也愈加细化,相似场景使用不同数据库已成为常态。由此可见,数据库碎片化的趋势已经不可逆转。Sharding-JDBC是Apache ShardingSphere生态圈中一款开源的分布式数据库第三方组件。原创 2022-09-08 21:53:42 · 1303 阅读 · 0 评论 -
MyCat的高可用及安全
通过MyCat来实现MySQL的读写分离,从而完成MySQL集群的负载均衡但是以上架构存在问题,由于MyCat中间件时单节点的服务,前端客户端所有的压力过来都直接请求这一台MyCat,存在单点故障。这时就需要考虑MyCat的集群。MyCat集群架构,通过MyCat来实现后端MySQL的负载均衡,再通过HAProxy来实现MyCat集群的负载均衡。原创 2022-09-08 03:09:30 · 763 阅读 · 0 评论 -
MyCat搭建MySQL双主双从及分库分表
读写分离,基本原理是让主数据库处理事务性增、删、改操作,而从数据库处理查询操作。从集中到分布,最基本的一个需求不是数据存储的瓶颈,而是在于计算的瓶颈,即SQL查询的瓶颈,我们知道,正常情况下,insert SQL就是几十个毫秒的时间写入完成,而系统中的大多数SelectSQL则要几秒到几分钟才能有结果,很多复杂的SQL,其消耗CPU的能力超强,不亚于死循环的威力。所以使用读写分离就是为了增强数据库的性能。读写分离方案。原创 2022-09-05 14:53:19 · 1536 阅读 · 0 评论 -
Xshell6连接虚拟机安装RabbitMQ的详解
虚拟机的环境:https://blog.csdn.net/qq_33583069/article/details/121086676虚拟机的环境没问题后。虚拟机:一.通过命令行service firewalld status检测虚拟机的防火墙是否开着开着就在命令行执行service stop firewalld(关闭防火墙)二.通过虚拟机命令行ifconfig获得虚拟机的ip地址XSHELL6:三.打开XSHELL软件,文件→新建会话然后点击连接就可以连接到虚拟机了;因为Rabbit原创 2022-05-17 23:37:08 · 936 阅读 · 0 评论 -
Mobax连接虚拟机搭建ZooKeeper集群及基础知识
一、安装ZooKeeper1.上传压缩包文件进入到/opt目录点击左上角的upload上传文件,如下2.解压缩到指定文件将jdk解压到/usr/local目录下:将zookeeper也解压缩到/usr/local目录下: 3.配置JDK环境 在最后插入:生效该环境变量:由于JDK解压时自带版本号,我没去修改,导致JDK配置出问题;然后我进入/usr/local/jdk11版本,改成jdk后配置完成;如图二.搭建ZooKeeper伪集群1.进入zookeeper安装目录的conf目录修改原创 2022-06-27 18:59:12 · 2568 阅读 · 0 评论 -
Dubbo项目的搭建与配置及其demo
一、Dubbo的基本概念1.分布式架构就是将一个完整的系统,按照业务功能,拆分成一个个独立的子系统,在分布式结构中,每个子系统就被称为"服务"。这些子系统能够独立运行在web容器中,他们之间通过RPC方式通信。优势:2.RPC(Remote Procedure Call)远程过程调用,它是一种通过网络从远程计算机程序上请求的服务。RPC的俩个作用:3.Dubbo的作用:Dubbo的三大核心:面向接口远程调用智能容错和负载均衡服务自动注册和发现4.注册中心Registry:在Dubbo微服务体系中原创 2022-07-11 18:20:18 · 1538 阅读 · 0 评论 -
Redis概述及下载安装
问题:随着用户数的增长,Tomcat和数据库之间竞争资源,单机性能不足以支撑业务。解决思路:Tomcat和数据库分别独占服务器资源,显著提高俩者各自的性能。即分开部署。新问题:随着用户数的增长,并发读写数据库成为瓶颈。解决思路:通过缓存能把绝大多数请求在读写数据库前拦截掉,大大降低数据库压力。其中涉及的技术包括:使用memcached作为本地缓存,使用Redis作为分布式缓存。即引入本地缓存和分布式缓存。缓存挡住大部分访问请求,随着用户数的增长,并发压力主要落到单机Tomcat上,响应逐渐变慢。......原创 2022-08-04 11:45:21 · 174 阅读 · 0 评论 -
MongoDB的安装及命令行操作
MongoDB是一种高性能、支持海量存储的NoSQL数据库MongoDB的数据以类似于JSON格式的二进制文档存储文档的数据类型可以对应到语言的数据类型,如数组类型(Array)和对象类型(Object)文档可以嵌套,有时关系型数据库涉及几个表的操作,在MongoDB中一次就能完成,可以减少昂贵的连接开销文档不对数据结构加以限制,不同的数据结构可以存储在同一张表。网站数据:MongoDB非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。.........原创 2022-08-26 11:58:05 · 2109 阅读 · 0 评论 -
Springboot整合RabbitMQ
一、Springboot整合RabbitMQ的代码实现1.引入Springboot整合RabbitMQ的依赖<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> &l原创 2022-06-02 19:07:51 · 10266 阅读 · 1 评论 -
RabbitMQ
消息队列MQ(Message Queue),即消息队列,是在消息的传输过程中保持消息的容器。多用于系统之间的异步通信。同步通讯是建立在双方时刻保持通讯的情况下,即双方是需要保持一个连接状态异步通讯是建立在由第三方(消息队列)转发的基础上(即代理模式),会导致消息存在延迟;特点是双方不需要时刻保持连接,在上线后即可将消息队列内对应的数据进行转发操作。队列的特点是先进先出,从一端进行添加操作,在另一端进行删除操作;消息队列除了数据结构的存储特性之外,还充当一个容器的作用,保存双方需要发送的数原创 2022-05-17 09:10:23 · 675 阅读 · 0 评论 -
Mycat的概述及部署安装
Mycat是数据库中间件,所谓数据库中间件是连接连接java应用程序和数据库中间的软件。在未使用Mycat遇到的问题Java与数据库的紧耦合高访问量高并发对数据库的压力读写请求不一致主从复制是MySQL自己的功能MySQL是现在普遍使用的数据库,但是如果宕机了必然会造成数据丢失。为了保证MySQL数据库的可靠性。就要会一些提高可靠性的技术。解决性能问题,采用多台Mysql数据库(集群),从而提高效率。..................原创 2022-08-31 23:12:33 · 687 阅读 · 0 评论 -
IDEA操作MongoDB及安全认证
java连接MongoDB,将MongoDB服务器的Ip地址及端口号再加上一些参数单独写在properties文件中或者通过Edit Ciguration配置,在程序中读出来,通过MongoClients创建连接,再通过MangoClient获取数据库。springboot连接MongoDB,在配置文件中指定ip地址及端口号和数据库名;调用MongoTemplate函数进行查询操作即可。而不用手动去读取配置文件,再获取数据库及集合。......原创 2022-08-28 20:52:53 · 3558 阅读 · 0 评论 -
IDEA操作Redis集群及缓存解决方案
在java操作redis时,集群跟单机除了配置文件不同,其余操作相同。redis的集群脑裂是指因为网络问题,sentinel集群无法感知master的存在,将slave提升为master,此时有两个master(即脑裂),通过配置min-replicas-max-lag命令来解决。缓存预热就是在系统上线之前就把热点数据加载到缓存中。主要解决缓存冷启动问题。缓存穿透是指用户不断发起请求缓存和数据库中都不存在的数据。可以通过对空值缓存或者使用布隆过滤器(概率型数据结构)来解决。原创 2022-08-21 16:55:28 · 1183 阅读 · 0 评论 -
Linux虚拟机的Redis集群搭建
Redis主从复制的缺点当主机master宕机后,我们需要人工切换解决,重新选择主节点,手动设置主从关系。主从切换技术当主服务器宕机后,需要手动把一台从服务器切换为主服务器,这就需要人工干预。还会造成一段时间内服务不可用。更多时候优先考虑哨兵模式。哨兵概述哨兵模式是一种特殊的模式,首先redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待redis服务器响应,从而监控运行的多个redis实例。哨兵作用。原创 2022-08-19 11:43:21 · 376 阅读 · 0 评论 -
Springboot整合FastDFS
1.Springboot整合FastDFS,需要引入整合依赖,在yml文件中配置配置tracker服务器的ip地址和端口号,在代码中需要引入FastFileStorageClient,即分布式文件系统fastdfs存储节点的客户端对象;然后对该客户端对象直接调用上传、下载等方法。2.在没有FastDFS没有整合nginx之前,我们是不能直接通过浏览器访问上传的图片的。整合后,nginx提供了http服务支持,所以可以直接通过浏览器访问到。httpshttpshttpshttps。......原创 2022-08-01 17:43:06 · 836 阅读 · 0 评论 -
FastDFS分布式文件系统_Linux
1.FastDFS的工作流程是storageserver向trackerserver定时发送状态信息;然后client向trackerserver发起业务请求,trackerserver查看storageserver组,在组中将合适的storageserver的ip地址和端口号返回给client;而client根据ip地址和端口号下载/上传/查看/删除文件;storageservergroup同步处理业务;最后返回结果给client。.........原创 2022-07-31 00:08:57 · 1336 阅读 · 0 评论 -
nginx场景实践
1.浏览器缓存,也就是在浏览器中缓存一些文档资料在用户磁盘上,每次访问请求时,都会先查看浏览器是否有缓存。利用浏览器缓存减少网络开销,从而提高访问速度。防盗链顾名思义就是防止别人将我们的链接放在自己网上赚取流量,并且消耗我们的服务器资源和网络流量。可以通过HTTPReferer头文件获取到访问的页面和ip地址等信息,设置只允许某个ip才可以访问。代理服务分为反向和正向,反向就是为服务器提供代理,从而用户只能知道代理服务器,不知道被代理的服务器,并且被代理服务器知道哪个用户访问了他它;10m;和10m。...原创 2022-07-29 13:10:26 · 1267 阅读 · 0 评论 -
Nginx的下载安装及其配置指令
Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。Nginx专为性能优化而开发,使用异步非阻塞事件驱动模型。异步非阻塞,即我通知了他,等他好了通知我,在此期间,我不白等待,我做我自己的事。异步非阻塞,从项目讲,即调用业务时通知它,让它好了把结果返回给我,在此期间,我继续执行其他业务。1.HTTP服务器、反向代理、负载均衡、动静分离四大应用场景。首先反向代理,可以使用域名访问,由nginx来转发,提高服务器的安全性。......原创 2022-07-21 22:29:43 · 5717 阅读 · 0 评论 -
Dubbo的特性及其项目的实现
1.RunDashBoard是一个项目的运行管理,使用它来管理项目的运行会更方便。序列化协议安全,即使用序列化在网络间的传输会安全;地址缓存,即消费者服务第一次调用生产者服务时,会将调用地址进行缓存,即使zookeeper注册中心挂了也不会影响调用这个生产者服务。超时时间和覆盖关系,即消费者服务在调用生产者服务时,可能会出现线程阻塞或者等待,还有高并发的情况;此时需要设置超时时间。覆盖关系,即消费者服务设置的超时时间的优先级比生产者服务设置的优先级高。zookeeper的工作流程。......原创 2022-07-15 20:37:48 · 386 阅读 · 0 评论