- 博客(28)
- 收藏
- 关注
原创 AOP的理解
简单的将一个方法的前中后作为可切入位置,实现在不动源代码逻辑的情况下实现增强源代码这个就叫做面向切面编程(AOP),他本身是基于面向对象(OOP)实现的,此时最符合场景的设计模式就是代理模式,通过代理去实现横向与源代码的编织,系统最终使用的是代理对象,并不是真正的原对象。
2022-09-18 15:07:31
262
原创 分布式解决方案之Seata
阿里中间件团队发起的开源项目Fescar(Fast & EaSy Commit And Rollback)后来改名成 Seata (Simple Extensible Autonomous Transaction Architecture),就是一套分布式解决方案。
2022-09-09 23:13:45
319
原创 RabbitMQ可靠消息最终一致性
通俗来讲就是上游服务需要保证消息一定会发出给MQ,下游服务一定会接收到消息,并且在成功消费掉消息之后,返回ack。这个方案是通过消息中间件完成的。
2022-09-02 10:20:59
1712
原创 RibbitMQ简单介绍和安装
AMQP,即 Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。2006年,AMQP规范发布。类比HTTP。2007年,Rabbit技术公司基于AMQP标准开发的RabbitMQ1.0发布。RabbitMQ采用Erlang 语言开发。...
2022-08-31 11:01:00
579
原创 面试笔记(Spring & SpringMVC)
1. IOC控制反转IOC的控制反转是把类的控制权交给Spring来进行管理,在使用的时候,只需要在Spring的配置文件中配置bean标签,将类的全路径名,以及如果有参数的将参数也配置上去。这样的话Spring就会通过反射机制来给这个类进行实例化,并且放到Spring容器中。2. DI依赖注入IOC需要结合DI依赖注入进行使用,把我们需要使用的类注入到我们需要的地方就可以了,依赖注入的方式有:1、构造器注入2、setget注入3、注解注入。一般都使用@Autowired。...
2022-08-31 09:32:11
225
2
原创 Elasticsearch的复杂查询案例(捎带一点Elasticsearch的集群搭建)
过滤的时候,不进行任何的匹配分数计算,相对于 query 来说,filter 相对效率较高。 yellow:索引库的每个 primary shard 都是 active 的,但部分的 replica shard 不是 active 的,如单节点创建。match Query即全文检索,它的搜索方式是先将搜索字符串分词,再使用各各词条从索引中搜索。高亮显示:高亮不是搜索条件,是显示逻辑,在搜索的时候,经常需要对搜索关键字实现高亮显示。must:表示必须,多个查询条件必须都满足。...
2022-08-29 21:21:39
1605
原创 Springboot整合Elasticsearch
RestClient是官方推荐使用的,它包括两种:REST Low Level Client和 REST High Level Client。ES在6.0之后提供REST High Level Client, 两种客户端官方更推荐使用 REST High Level Client,不过当前它还处于完善中,有些功能还没有。分割线暂停一下,有空更新=============================== ES提供的传统客户端,官方计划8.0版本删除此客户端。...
2022-08-27 20:51:56
396
原创 安装Kibana、head、IK分词器后IK的使用
Kibana是ES提供的一个基于Node.js的管理控制台, 可以很容易实现高级的数据分析和可视化,以图标的形式展现出来。kibana可以用来编辑请求语句的,方便学习操作es的语法。有时在进行编写程序,写到查询语句时,往往我会使用kibana进行书写,然后再粘贴到程序中。(不容易出错)head插件是ES的一个可视化管理插件,用来监视ES的状态,并通过head客户端和ES服务进行交互,比如创建映射、创建索引等。从ES6.0开始,head插件支持使得node.js运行。...
2022-08-27 11:24:25
469
原创 ElasticSearch安装和简单使用
1 为什么要用ElasticSearch关键字:搜索引擎服务器,效率高,可扩展,自定义,分词搜索2 ElasticSearch介绍ElasticSearch是一个基于[Lucene]的搜索服务器。它提供了一个基于[RESTful ]web接口的分布式全文搜索引擎。ElasticSearch是用Java语言开发的ElasticSearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。elasticsearch是一个基于Lucene的分布式全文检索服务器。......
2022-08-27 11:05:27
197
原创 面试笔记(多线程)
*newStringThreadExecutor():**他的特点在于工作中线程数目被限制为1,操作一个无界的工作队列,所以它保证了所有任务都是被按照顺序执行,最多会有一个任务处于活动状态,并且不允许使用者改动线程池实例,因此可以避免改变线程数目。join():加入线程,会将调用的线程加入当前线程,等待加入的线程执行完成后才会继续执行当前线程。如果就绪状态的线程获取到CPU的资源,就可以执行 run() ,此时线程处于运行状态。就绪状态的线程处于就绪队列中,要等JVM里面线程调度器的调用。...
2022-08-25 21:52:15
164
原创 Spring Data Redis
Spring Data 是一个用于简化数据库访问的框架,它的下面还有很多得子模块:Spring Data JDBC --对JDBC的Spring Data存储库支持。Spring Data JPA --对JPA的Spring Data存储库支持。Spring Data MongoDB --对MongoDB的基于Spring对象文档的存储库支持。Spring Data Redis --从Spring应用程序轻松配置和访问Redis。…主要是为了简化对Redis数据库的操作。...
2022-08-25 20:18:23
233
原创 redis以及redis集群(伪,真集群会注明区别以及怎么做)搭建(二)
虽然持久化保证了即使redis服务重启也不会丢失数据,但是当redis服务器的硬盘损坏了也可能会导致数据丢失,如果通过redis的主从复制机制就可以避免这种单点故障,如下图:说明:主redis中的数据有两个副本(replication)即从redis1和从redis2,即使一台redis服务器宕机其它两台redis服务也可以继续提供服务。主redis中的数据和从redis上的数据保持实时同步,当主redis写入数据时通过主从复制机制会复制到两个从redis服务上。
2022-08-24 12:52:22
1252
原创 redis以及redis集群搭建(一)
Reids是用C语言开发的一个开源的高性能的键值对(key-value)式数据库(非关系型数据库),redis是将数据放到内存中,由于内存读取速度快,redis被广泛用于互联网项目中。
2022-08-24 10:25:10
307
原创 面试笔记(JVM虚拟机)
对象头:hash码,GC分代年龄,锁标识状态,线程持有的锁,偏向线程ID(一般大小为32/64 bit);堆(Heap):是JVM虚拟机中内存最大的一块,唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。4、动态判断对象年龄,如果Survivor区中相同年龄的所有对象大小的总和超过Survivor区空间的一半,年龄大于等于该年龄的对象被放入老年代。方法区(Methed Area):又叫静态区,方法区包含所有的Class和static变量,运行时常量池都分配在方法区中,被所有的线程共享。
2022-08-20 20:43:48
213
原创 面试笔记(设计模式)
定义了1对多的依赖关系,让多个观察者监听一个某个对象。当这个对象的状态发生变化时,会通知坚挺着对象,使他们更新自己。根据用户需求动态创建实例对象并返回。典型:rabbitMQ。
2022-08-20 16:37:57
108
原创 面试笔记(Java基础篇)
hashMap在存储的时候一样可能会产生hash碰撞(就是两个数据完全不同,但hash值却相同),hashMap会将元素以链表的形式进行储存存到链表中,第一个entry存在链表顶端,再有产生hash值相同的,则继续往后放。:Override,在继承关系下,子类将父类的方法进行扩展,方法名,参数,返回类型都不能改变(返回值类型可以是父类返回值类型的子类)。:同一个类中,多个方法名相同,但参数类型,个数,顺序不同,就可以实现方法的重载,与返回值相不相同无关。有封装继承和多态的特性,所以容易维护,复用和扩展。
2022-08-20 15:06:10
250
原创 Feign declarative service invocation
feign是spring cloud提供的声明式的http客户端,工作在consumer端feign支持springmvc注解feign集成了Ribbon也支持负载均衡(ribbon+restTemplate)+优化=feign。
2022-08-16 20:04:28
156
原创 Dubbox框架、注册中心Zookeeper
Dubbo(读音[ˈdʌbəʊ])是阿里巴巴公司开源的一个基于Java的高性能RPC(Remote Procedure Call)框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和 Spring框架无缝集成。后期阿里巴巴停止了该项目的维护,于是当当网在这之上推出了自己的Dubbox。Zookeeper是Apacahe Hadoop的子项目,可以为分布式应用程序协调服务,适合作为Dubbo服务的注册中心,负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互。..
2022-08-15 18:43:52
144
原创 Ribbon 负载均衡
1、负载均衡负载均衡就是将负载(访问请求,工作任务)进行分摊到多个操作单元(服务器,组件)上执行。2、Ribbon介绍:什么是Ribbon?- Spring Cloud Ribbon是基于Netfilx Ribbon实现的一套客户端负载均衡的工具。- 不需要单独的引入ribbon的依赖,在nacos中已经集成了ribbon的依赖。- Ribbon默认使用的是轮询负载均衡算法,还有随机等负载均衡算法。...
2022-08-15 17:05:55
83
原创 nacos集群搭建
./configure配置nginx安装到/usr/java/nginx目录下。将微服务注册到 nacos 中(注意此时使用的IP为。访问nacos集群 就可以啦。分别启动三台 nacos。
2022-08-15 15:04:29
433
原创 SpringCloud、Springboot、SpringCloud Alibaba的关系
Springboot、SpringCloud、SpringCloud Alibaba 的关系
2022-08-13 16:09:48
485
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人