自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嗯哼的博客

人生无非是笑笑别人或被别人笑笑而已

  • 博客(173)
  • 资源 (6)
  • 收藏
  • 关注

转载 七层网络模型

七层网络模型 (OSI)七层模型,亦称OSI(Open System Interconnection)。参考模型是国际标准化组织ISO制定的各种计算机或者通信系统在世界范围内互联为网络的标准框架。一般称为OSI参考模型或七层模型。它是一个七层的、抽象的模型体,不仅包括一系列抽象的术语或概念,也包括具体的协议。OSI七层模型各层的功能和协议OSI七层模型 功能 对应的网络协议 TCP/IP四层概念模型 应用层 文件传输,文件管理,电子邮件的信息处理——ap...

2022-04-15 00:49:58 491

原创 TCP 三次握手和四次挥手

TCP 和 UDP讲解 TCP 三次握手和四次握手之前,我们先了解一下 TCP 和 UDP 这两个重量级的传输层协议。用户数据报协议 UDP(User Datagram Protocol):UDP 在传送数据之前不需要先建立连接,远程主机在收到 UDP 报文后,不需要给出任何确认。 虽然 UDP不提供可靠交付,但在某些情况下 UDP 确是一种最有效的工作方式(一般用于即时通信),比如:QQ 语音、 QQ 视频 、直播等等传输控制协议 TCP(Transmission Control .

2022-04-14 00:56:50 1797

转载 防止表单重复提交

1.背景与介绍:平时开发的项目中可能会出现下面这些情况:由于用户误操作,多次点击表单提交按钮。 由于网速等原因造成页面卡顿,用户重复刷新提交页面。 黑客或恶意用户使用postman等工具重复恶意提交表单(攻击网站)。这些情况都会导致表单重复提交,造成数据重复,增加服务器负载,严重甚至会造成服务器宕机。因此有效防止表单重复提交有一定的必要性。2.解决方案2.1 通过JavaScript屏蔽提交按钮(不推荐)通过js代码,当用户点击提交按钮后,屏蔽提交按钮使用户无法点击提交按钮或点击无

2022-03-29 23:44:28 428

转载 springboot CORS 跨域请求解决方案

方式一、使用注解:@CrossOrigin(局部跨域)1、在类上加注解,表示类下所有方法都支持跨域请求@CrossOrigin@RestController@RequestMapping("cross")public class AaaController {}2、在方法加注解,表示该方法运动跨域请求@RestController@RequestMapping("cross")public class AaaController { @CrossOrigin

2022-03-29 00:11:57 305

转载 什么是跨域问题,怎么解决跨域问题?

什么是跨域当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域 。请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。

2022-03-28 16:03:39 743

转载 Servlet之HttpServletRequest对象

一、概述1、Request与ResponseRequest 对象 和 Response 对象是由服务器(Tomcat)创建的 Request 对象是来获取请求消息 Response 对象是来设置响应消息2、Request 体系结构3、Servlet 体系结构二、HttpServletRequestHttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象...

2022-03-23 23:58:31 494

原创 HTTP防盗链(Referer)

HTTP请求防盗链:只允许某些域名请求来源才可以访问。比如A网站有一张图片或音频等资源被B网站直接通过img等标签属性引入使用,这样就是B网站盗用了A网站的资源。那么对于A网站来说,流量怎么被消耗的都不知道。解决思路:判断http请求头Referer域中的请求来源的值,如果和当前访问的域名(或者被允许的一些域名)不一致的情况下,说明该图片可能被其他服务器盗用。注意:上句话中括弧中:被允许的一些域名,这个是基于黑白名单而言的,拦截请求,判断请求头的Referer是否包含黑名单的域名,包含则拦.

2022-03-23 23:27:52 6841

原创 JVM 类加载机制

学习导图:类加载机制概述 定义:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这个过程被称作虚拟机的类加载机制 特性:运行期类加载。即Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,从而通过牺牲一些性能开销来换取Java应用极高的的扩展性和灵活性。什么是运行期,什么是编译期?编译期是指编译器将源代码翻译为机器能识别的代码,Java被编译为Jv...

2022-03-10 00:08:45 959

原创 JVM 垃圾收集器

如果说收集算法是内存回收的方法论,那垃圾收集器就是内存回收的实践者。《Java虚拟机规 范》中对垃圾收集器应该如何实现并没有做出任何规定,因此不同的厂商、不同版本的虚拟机所包含的垃圾收集器都可能会有很大差别,不同的虚拟机一般也都会提供各种参数供用户根据自己的应用特 点和要求组合出各个内存分代所使用的收集器。 这里讨论的是在JDK 7 Update 4之后(在这个版本中正式提供了商用的G1收集器,此前G1仍处于实验状态)、JDK 11正式发布之前,Hot...

2022-03-03 01:51:10 332

原创 JVM垃圾回收算法

Java是一门不用程序员手动管理内存的语言,全靠JVM自动管理内存,既然是自动管理,那必然有一个垃圾内存的回收机制或者回收算法。在Java堆上分配一个内存给实例对象时,此时在虚拟机栈上引用型变量就会存放这个实例对象的起始地址。当执行Object obj = null 时,栈中的obj变量就不在指向堆中的实例对象了,也就是Java堆上的实例对象无法再次引用它,那么它就是被GC的对象,我们称之为对象“已死”。那虚拟机栈上的obj变量呢?上文《JVM入门——运行时数据区》提到过,虚拟机栈是线程独占的.

2021-09-17 18:00:02 150

原创 内存泄露与内存溢出的区别及解决方法

内存溢出与泄露的区别内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。memory leak会最终会导致out of memory!内存溢出就是你要求分配的内存超出了系统能给你的...

2021-09-15 17:04:29 3978

转载 JVM参数配置

常见配置汇总堆设置-Xms:初始堆大小-Xmx:最大堆大小-XX:NewSize=n:设置年轻代大小-XX:NewRatio=n:设置年轻代和年老代的比值。如:为3,表示年轻代与年老代比值为1:3,年轻代占整个年轻代年老代和的1/4-XX:SurvivorRatio=n:年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:3,表示Eden:Survivor=3:2,一个Survivor区占整个年轻代的1/5-XX:MaxPermSize=n:设置持

2021-09-15 14:04:10 128

转载 JVM堆内存(heap)

堆的核心概述一个JVM实例只存在一个堆内存,堆也是Java内存管理的核心区域。 Java堆区在JVM启动的时候即被创建,其空间大小也就确定了。是JVM管理的最大1块内存空间。堆内存的大小是可以调节的。-Xms、-Xmx表示初识堆空间大小和最大堆空间大小。 《Java虚拟机规范》规定,堆可以处于物理上不连续的内存空间中,但在逻辑上它应该被视为连续的。 所有的线程共享Java堆,在这里还可以划分线程私有的缓冲区(Thread Local Allocation Buffer, TLAB) 。 《Ja

2021-09-14 11:13:48 2211 1

转载 JVM 内存结构

内存结构

2021-09-10 14:46:30 107

原创 keepalived

keepalived官网:http://www.keepalived.orgKeepalived安装方法一:yum方式1、yum安装安装依赖包[root@localhost ~]# yum install -y curl gcc openssl-devel libnl3-devel net-snmp-devel[root@localhost ~]# yum install -y keepalived2、初始化及启动[root@localhost ~]# s...

2021-09-09 18:04:30 1083

转载 Nginx 常用配置详解

nginx.config配置:######Nginx配置文件nginx.conf中文详解######定义Nginx运行的用户和用户组user www www;#nginx进程数,建议设置为等于CPU总核心数。worker_processes 8; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]error_log /usr/local/nginx/logs/error.log info;#进程pid文件pi

2021-09-08 17:32:07 627

原创 Nginx 应用场景

nginx应用场景1、反向代理 点击查看反向代理2、负载均衡 点击查看 负载均衡3、WEB服务器Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,同时现在也很流行动静分离,就可以通过Nginx来实现,首先看看Nginx做静态资源服务器这样如果访问http://localhost就会默认访问到E://www/data目录下面的index.html,如果一个网站只是静态页面的话,那么就可以通过这种方式...

2021-09-08 15:29:44 102

原创 Nginx 虚拟主机

nginx虚拟主机在nginx.config配置中,一个server就是一个虚拟主机基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站 基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台 基于ip的虚拟主机,几乎不用1、基于域名server { listen 80; server_name www.aaa.com; ##www.aaa.com 是在hosts文件配置的DNS域名 ...

2021-09-08 15:25:40 111

转载 Nginx 缓存配置

配置缓存开启简单的缓存配置,只需要两个指令:proxy_cache_path和proxy_cache。proxy_cache_path配置缓存的存放地址和其他的一些常用配置,proxy_cache指令是为了启动缓存。proxy_cache_path /path/to/cache levels=1:2 keys_zone=mycache:10m max_size=10g inactive=60m use_temp_path=off;server {  # ...  location / {

2021-09-08 13:38:49 1249

转载 Nginx DDOS配置

一. 限制每秒请求数ngx_http_limit_req_module模块通过漏桶原理来限制单位时间内的请求数,一旦单位时间内请求数超过限制,就会返回503错误。配置需要在两个地方设置:nginx.conf的http段内定义触发条件,可以有多个条件 在location内定义达到触发条件时nginx所要执行的动作例如 http { limit_req_zone $binary_remote_addr zone=one:10m rate=10r/s; //触发条件,所有访问ip

2021-09-08 09:32:22 285

原创 Nginx防盗链

nginx防盗链场景:以图片为例A网站想不经过B网站允许使用B网站的图片。A网站中直接用B网站上图片的链接,或者去B网站上点击图片右下下载并使用,这一行为称之为盗用。那么B网站要想阻止这一行为,可以采用防盗链来阻止。采用防盗链之后,A网站想盗用,就会提示404或者别的指定页面。nginx防盗链配置 location ~ .*\.(gif|jpg|jepg|png|PNG|bmp|flv|wma|wmv|swf|mp3|zip|rar|torrent)$ { ...

2021-09-07 17:39:36 558

原创 Nginx 解决跨域问题

什么是跨域当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域nginx解决跨域请求nginx.config配置server {listen 80;server_name my.cn.com;location /{proxy_pass http://test.cn.com:8081/test;...

2021-09-07 16:58:01 3668

转载 nginx 容错机制

当负载均衡的服务器,发生宕机或报异常或超时等待的时候,怎么容错?因为这些情况都会导致请求阻塞直到超时。如果其中一台服务器有故障,我们是不是可以自动轮询到下一台服务器上,这样就可以不影响正常的流程。容错机制Proxy指令1、proxy_next_upstream语法:proxy_next_upstream [error|timeout|invalid_header|http_500|http_502|http_503|http_504|http_404|off]默认值:proxy_n...

2021-09-07 10:55:41 1183

原创 Nginx负载均衡

负载均衡负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。nginx流程图场景: 三台tomcat服务器组成的集群是不对外暴露IP的,只对内暴露IP。...

2021-09-06 17:58:16 217

原创 Nginx反向代理

反向代理概念反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。反向代理图场景:三台tomcat服务器组成的集群是不对外暴露IP的,只对内暴露IP。那么所搭建的nginx必须跟集群在一个局域网内且nginx对外暴露公网IP。这样客户端可通过nginx对外的公网IP访问...

2021-09-06 15:55:07 217

转载 nginx安装

nginx下载地址:http://nginx.org/en/download.htmlwindow环境下载nginx的zip包,linux环境下载 tar.gz 包windows版本将解压到一个目录(路径不能出现中文),如下:connfig---nginx的配置文件目录html---静态资源目录logs---nginx运行日志目录,内部包含了三个文件:access.log、error.log、nginx.pidnginx启动:双击nginx.exe启动 通过c.

2021-09-03 18:04:57 159

转载 Dubbo声明式缓存

dubbo官网---结果缓存结果缓存通过缓存结果加速访问速度结果缓存,用于加速热门数据的访问速度,Dubbo 提供声明式缓存,以减少用户加缓存的工作量。缓存类型lru基于最近最少使用原则删除多余缓存,保持最热的数据被缓存。 threadlocal当前线程缓存,比如一个页面渲染,用到很多 portal,每个 portal 都要去查用户信息,通过线程缓存,可以减少这种多余访问。 jcache与JSR107集成,可以桥接各种缓存实现。缓存类型可扩展,参见:缓存扩展配置...

2021-09-03 11:20:36 193

转载 Dubbo服务延迟暴露

dubbo官网--服务延迟暴露延迟暴露延迟暴露 Dubbo 服务如果你的服务需要预热时间,比如初始化缓存,等待相关资源就位等,可以使用 delay 进行延迟暴露。我们在 Dubbo 2.6.5 版本中对服务延迟暴露逻辑进行了细微的调整,将需要延迟暴露(delay > 0)服务的倒计时动作推迟到了 Spring 初始化完成后进行。你在使用 Dubbo 的过程中,并不会感知到此变化,因此请放心使用。Dubbo 2.6.5 之前版本延迟到 Spring 初始化完成后,再暴露服务

2021-09-02 18:12:59 353

转载 Dubbo服务分组

dubbo官网--服务分组使用服务分组区分服务接口的不同实现当一个接口有多种实现时,可以用 group 区分。服务<dubbo:service group="feedback" interface="com.xxx.IndexService" /><dubbo:service group="member" interface="com.xxx.IndexService" />引用<dubbo:reference id="feedback.

2021-09-02 17:56:25 454 1

原创 Dubbo多注册中心配置

1、Dubbo支持的注册中心Zookeeper(官方推荐)优点:支持分布式.很多周边产品.缺点:受限于Zookeeper软件的稳定性.Zookeeper专门分布式辅助软件,稳定较优Multicast优点:去中心化,不需要单独安装软件.缺点:Provider、Consumer和Registry不能跨机房(路由)Redis优点:支持集群,性能高缺点:要求服务器时间同步,否则可能出现集群失败问题Simple优点:标准RPC服务,没有兼容问题缺点:不支持集群Nac

2021-09-02 17:44:55 10122

原创 Spring整合dubbo

整合spring+dubbo+zookeeper zookeeper相关安装配置跳过。1、接口项目(dubbo-interface)接口:UserService@Path("/user")public interface UserService { @GET @Path("/getUser/{id : \\d+}") @Consumes({ MediaType.APPLICATION_JSON }) public String getUser(@PathParam(...

2021-09-02 15:29:24 486

转载 SpringBoot整合dubbo(注解配置dubbo)

准备1、在服务器或者本地搭建好zookeeper,具体可参考文章:https://blog.csdn.net/qq_35620501/article/details/875193062、在服务器或者本地搭建好dubbo-admin,具体可参考文章:https://blog.csdn.net/qq_35620501/article/details/89037354代码:新建空的maven工程,命名为springboot-dubbo01项目目录结构如下图:pom.xml:&lt.

2021-09-02 14:12:51 720

转载 Tomcat linux环境安装

官网下载Tomcat打开Tomcat官网选择Archives选择Tomcat的版本选择Tomcat的小版本选择bin/目录选择对应的系统(我选择的这个是Linux系统下的)安装Tomcat下载好的apache-tomcat-8.0.37.tar.gz上传到Linux服务器上先将apache-tomcat-8.0.37.tar.gz文件移动到指定目录,我这里移动的目录是/usr/localmv apache-tomcat-8.0...

2021-09-02 10:11:33 262

转载 dubbo-admin平台搭建

基于linux版本搭建dubbo-admin平台,在搭建平台之前,分别先搭建好Tomcat和注册中心Zookeeper。部署dubbo-admin1、下载官网下载dubbo-admin点击上面链接进去发现是这个界面:找了一圈,没有见dubbo-admin在哪里?上图是master分支,从新选择,选择2.5.x的分支:选择2.5.x之后是这样的界面:直接下载全部项目。2、解压-打包下载完毕之后,解压本地,通过cmd进入dubbo-admin目录...

2021-09-01 17:58:49 167

转载 Dubbo + Hystrix 实现服务熔断

熔断器简介在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以通过 RPC 相互调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证 100% 可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此时若有大量的请求涌入,Servlet 容器的线程资源会被消耗完毕,导致服务瘫痪。服务与服务之间的依赖性,故障会传播,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的 “雪崩” 效应。为了解决这个问题,业界提出了熔断器模型。Netflix

2021-09-01 15:38:13 318

转载 Dubbo集群容错

Dubbo官网:dubbo 2.7 集群容错集群容错指的是,当消费者调用提供者集群时发生异常的处理方案一、Dubbo内置的容错策略(1) Failover故障转移策略。当消费者调用提供者集群中的某个服务器失败时,其会自动尝试着调用其它服务器。该策略通常用于读操作,例如,消费者要通过提供者从DB中读取某数据。但重试会带来服务延迟(2) Failfast快速失败策略。消费者端只发起一次调用,若失败则立即报错。通常用于非幂等性的写操作,比如新增记录。幂等:在请求参数相同的前提下,请.

2021-09-01 14:31:22 793

转载 Dubbo服务限流

为了防止某个消费者的QPS或是所有消费者的QPS总和突然飙升而导致的重要服务的失效,系统可以对访问流量进行控制,这种对集群的保护措施称为服务限流。Dubbo中能够实现服务限流的方式较多,可以划分为两类:直接限流与间接限流直接限流:通过对连接数量直接进行限制来达到限流的目的。 间接限流:通过一些非连接数量设置来达到限制流量的目的。直接限流1、executes直接限流– 仅提供者端该属性仅能设置在提供者端。可以设置为接口级别,也可以设置为方法级别。限制的是服务(方法)并发执行数量。类级别

2021-09-01 11:10:38 2451

转载 Dubbo服务降级

dubbo降级服务使用dubbo在进行服务调用时,可能由于各种原因(服务器宕机/网络超时/并发数太高等),调用中就会出现RpcException,调用失败。服务降级就是指在由于非业务异常导致的服务不可用时(上面举得例子),可以返回默认值,避免异常影响主业务的处理。官方 dubbo 3.0-给出的服务降级RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class)

2021-08-31 17:49:12 1333

转载 Dubbo负载均衡算法

本文摘自dubbo官网---dubbo2.7版本连接:https://dubbo.apache.org/zh/docs/v2.7/dev/source/loadbalance/1.简介LoadBalance 中文意思为负载均衡,它的职责是将网络请求,或者其他形式的负载“均摊”到不同的机器上。避免集群中部分服务器压力过大,而另一些服务器比较空闲的情况。通过负载均衡,可以让每台服务器获取到适合自己处理能力的负载。在为高负载服务器分流的同时,还可以避免资源浪费,一举两得。负载均衡可分为软件负载均衡和硬

2021-08-30 17:17:53 418

转载 Dubbo支持的协议

Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的。下面我们就针对Dubbo的每种协议详解讲解,以便我们在实际应用中能够正确取舍。1、dubbo 协议 (默认)1、dubbo 缺省协议 采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况2、不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。缺省协议

2021-08-27 17:19:20 372

202109091812.zip

keepalived中文文档

2021-09-09

nginx-zip-tar.gz.zip

nginx安装包

2021-09-03

aa-nginx.zip

nginx安装包

2021-08-17

apache-zookeeper-3.6.3.zip

zookeeper linux 安装包

2021-08-13

apache-zookeeper-3.7.0-bin.zip

zookeeper windows版本

2021-08-13

ZooInspector.zip

zookeeper可视化工具

2021-08-13

空空如也

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

TA关注的人

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