自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 Elastic Search的容器化安装

安装docker的会默认安装docker-compose,如果是linux环境需要自行安装docker-compose,自己新建一个文件夹,我这边新建的是。elasticsearch.hosts: [ “http://本地ip:9200” ]配置文件配置完就可以使用docker-compose命令启动了。es-kibana,然后添加以下两个配置文件。http://个人ip地址:9200/http://个人IP地址:5601。

2023-05-30 20:11:48 267

原创 ES的高性能设计

无论是何种类型的倒排索引,里面的 ID 都是存储到一个 Posting List 的结构中,这个 Posting List 就被称为是倒排表。当遍历上面的每一条边的时候,都会加上这条边的输出,比如当输入是 stop 的时候会经过 s/3和 o/1 ,相加得到的排序的顺序是 4;而对于 mop ,得到的排序的结果是 0。term index不需要存下所有的term,它包含的是term的一些前缀,仅仅是他们的一些前缀与Term Dictionary之间的映射关系,可以使term index缓存到内存中。

2022-11-12 15:14:50 756

原创 Java远程调用

【代码】Java远程调用。

2022-10-14 16:33:03 1115

原创 @Transactional失效场景

Transactional是基于动态代理实现的,@Transactional注解实现原理中分析了实现方法,在bean初始化过程中,对含有@Transactional标注的bean实例创建代理对象,这里就存在一个spring扫描@Transactional注解信息的过程,标注@Transactional的方法如果修饰符不是public,那么就默认方法的@Transactional信息为空,那么将不会对bean进行代理对象创建或者不会对方法进行代理调用。

2022-10-12 16:40:59 691

原创 Zookeeper的环境搭建

ZooKeeper最为主要的使⽤场景,是作为分布式系统的分布式协同服务。我们将分布式系统定义为:分布式系统是同时跨越多个物理主机,独⽴运⾏的多个软件所组成系统。类⽐⼀下,分布式系统就是⼀群⼈⼀起⼲活。⼈多⼒量⼤,每个服务器的算⼒是有限的,但是通过分布式系统,由n个服务器组成起来的集群,算⼒是可以⽆限扩张的。分布式系统的协调⼯作就是通过某种⽅式,让每个节点的信息能够同步和共享。这依赖于服务进程之间的通信。通信⽅式有两种:● 通过⽹络进⾏信息共享。

2022-09-20 21:52:28 964

原创 基于Netty自定义RPC框架

RPC全称为remote procedure call,即远程过程调用。借助RPC可以做到像本地调用一样调用远程服务,是一种进程间的通信方式.比如两台服务器A和B,A服务器上部署一个应用,B服务器上部署一个应用,A服务器上的应用想调用B服务器上的应用提供的方法,由于两个应用不在一个内存空间,不能直接调用,所以需要通过网络来表达调用的语义和传达调用的数据。需要注意的是RPC并不是一个具体的技术,而是指整个网络远程调用过程。RPC架构。

2022-09-03 12:35:06 365 2

原创 NIO编程

JavaNIO全称javanon-blockingIO,是指JDK提供的新API。从JDK1.4开始,Java提供了一系列改进的输入/输出的新特性,被统称为NIO(即NewIO),是同步非阻塞的.NIO有三大核心部分Channel(通道),Buffer(缓冲区),Selector(选择器)NIO是面向缓冲区编程的。数据读取到一个缓冲区中,需要时可在缓冲区中前后移动,这就增加了处理过程中的灵活性,使用它可以提供非阻塞式的高伸缩性网络。...

2022-07-30 16:16:09 90

原创 Session共享问题

Session共享及Session保持或者叫做Session⼀致性。

2022-07-14 22:58:15 127

原创 分布式调度问题

调度—>定时任务,分布式调度—>在分布式集群环境下定时任务定时任务形式:每隔⼀定时间/特定某⼀时刻执⾏例如:1)运⾏在分布式集群环境下的调度任务(同⼀个定时任务程序部署多份,只应该有⼀个定时任务在执⾏)2)分布式调度—>定时任务的分布式—>定时任务的拆分(即为把⼀个⼤的作业任务拆分为多个⼩的作业任务,同时执⾏)定时任务的实现⽅式有多种。早期没有定时任务框架的时候,我们会使⽤JDK中的Timer机制和多线程机制(Runnable+线程休眠)来实现定时或者间隔⼀段时间执⾏某⼀段程序;后来有了定时任务框架,⽐

2022-07-13 23:02:56 275

原创 分布式集群环境唯一ID

分表之后ID不能重复,因此不能用主键自增UUID 是指Universally Unique Identifier,翻译为中⽂是通⽤唯⼀识别码产⽣重复 UUID 并造成错误的情况⾮常低,是故⼤可不必考虑此问题。Java中得到⼀个UUID,可以使⽤java.util包提供的⽅法2、独⽴数据库的⾃增ID在mysql集群外创建一个Mysql数据库,在这个数据库中创建⼀张表,这张表的ID设置为⾃增,其他地⽅需要全局唯⼀ID的时候,就模拟向这个Mysql数据库的这张表中模拟插⼊⼀条记录,此时ID会⾃增,然后我们可

2022-07-13 21:14:08 280

原创 集群时钟同步问题

时钟此处指服务器时间,如果集群中各个服务器时钟不⼀致势必导致⼀系列问题,试想 “集群是各个服务器⼀起团队化作战,⼤家⼯作都不在⼀个点上,岂不乱了套!”如图,并发的三个下单请求,几乎同时处理,由于服务器时钟不一致,导致入库时间不同,数据混乱windows有计划任务Linux也有定时任务,cron,可以使⽤linux的定时任务,每隔10分钟执⾏⼀次ntpdate命令分布式集群中某⼀个服务器节点可以访问互联⽹或者所有节点都不能够访问互联⽹选取集群中的⼀个服务器节点A(172.17.0.17)作为时间服

2022-07-12 22:20:50 481

原创 Hash算法一致性

如果使⽤哈希算法,事情就简单很多,我们可以对ip地址或者sessionid进⾏计算哈希值,哈希值与服务器数量进⾏取模运算,得到的值就是当前请求应该被路由到的服务器编号,如此,同⼀个客户端ip发送过来的请求就可以路由到同⼀个⽬标服务器,实现会话粘滞。普通Hash算法存在⼀个问题,以ip_hash为例,假定下载⽤户ip固定没有发⽣改变,现在tomcat3出现了问题,down机了,服务器数量由3个变为了2个,之前所有的求模都需要重新计算。服务器5台时运行结果:服务器4台时运行结果:如果在真实⽣产情况下,后台服

2022-07-11 22:22:34 978

原创 Docker

官网的介绍是“Docker is the world’s leading software container platform.”官方给Docker的定位是一个应用容器平台。Docker通俗的讲是服务器中高性能的虚拟机,可以将一台物理机虚拟N多台虚拟机的机器,互相之间隔离,互不影响。容器和虚拟机比较相同:容器和虚拟机都是虚拟化技术,具备资源隔离和分配优势不同:- Docker虚拟化的是操作系统,虚拟机虚拟化的是硬件- 传统虚拟机可以运行不同的操作系统,Docker主要运行同一类操作系统(Linu

2022-07-04 21:45:47 4247

原创 Nginx反向代理服务器

Nginx 是⼀个⾼性能的HTTP和反向代理web服务器,核⼼特点是占有内存少,并发能⼒强。Nginx的应用场景:解包Nginx软件包进⼊解压之后的⽬录 nginx-1.17.8,依次执行以下命令执行完上述步骤,会在/usr/local/下会产⽣⼀个nginx⽬录,进入nginx目录开始启动nginxNginx的核⼼配置⽂件conf/nginx.conf包含三块内容:全局块、events块、http块7. 全局块从配置⽂件开始到events块之间的内容,此处的配置影响ngin

2022-06-29 22:27:53 2594

原创 阿里云服务器部署多个tomcat服务

阿里云服务器部署多个tomcat服务

2022-06-27 21:28:08 329

原创 Tomcat部署war包项目

1、tomcat下载并解压https://tomcat.apache.org/download-90.cgi2、打包项目相关pom依赖<build> <finalName>bomc-itsm</finalName> <plugins> <plugin> <groupId>org.springframework.boot</group

2022-04-18 17:36:10 351

原创 Linux环境下安装Tomcat

Tomcat安装1、下载Tomcatwget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.55/bin/apache-tomcat-9.0.55.tar.gz2、解压tar -xzvf apache-tomcat-9.0.55.tar.gz3、启动Tomcat服务cd apache-tomcat-9.0.55/./bin/startup.sh 4、如果在虚拟机安装的话需要设置防火墙才可以在外界访问##查看已经开放的端口:firewal

2021-12-01 15:51:20 832

原创 Linux环境下安装Mysql

Mysql安装1、下载mysql的repo源#这是8.0版本的mysql #5.0版本使用 https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpmwget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm2、安装mysql-community-release-el7-5.noarch.rpm包#5.0版本使用 mysql57-

2021-12-01 15:46:39 1077

原创 Linux基本命令

sync 将数据由内存同步到硬盘中。shutdown 关机指令reboot 就是重启,等同于 shutdown –r nowhalt 关闭系统,等同于shutdown –h now 和 poweroff不管是重启系统还是关闭系统,首先要运行 sync 命令,把内存中的数据写到磁盘中cd : 切换目录命令./ : 当前目录cd .. : 返回上一级目录ls : 列出目录pwd : 显示当前用户所在的目录-a参数:all ,查看全部的文件,包括隐藏文件-l 参数 列出所有

2020-12-24 16:31:11 532

原创 关于Springboot后端开发的登录注册

Springboot后端开发的登录注册一.通过idea建立工程

2020-08-20 09:31:10 2876

Redis笔记.md

博主自己的学习笔记,希望可以帮助到各位小伙伴

2021-01-20

空空如也

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

TA关注的人

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