Stella981 Stella981
3年前
Spring Boot 集成Dubbo
      最近学习了一下dubbo的集成使用,之所以对这个产生兴趣,是因为公司的系统有秒杀的高并发业务,采用了多服务器分布式部署的方式,但是各个服务器之间的调用是在代码里采用http请求的方式。虽然这种方式能达到效果,但是代码冗长,处理起来很不方便,总之就是觉得low,所以决定学习一下dubbo。       学习dubbo之前,我们先要了解一下z
Wesley13 Wesley13
3年前
RPC的简单实现
RPC(RemoteProcedureCall)—远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。RPC采用客户机/
Wesley13 Wesley13
3年前
Java NIO
简介引入NIO的原因1.因为BIO都是阻塞的IO,为了使Java能支持非阻塞I/O,JDK引入了NIO,可以将NIO理解成是NonblockI/O.(也有书说是newIO)2.BIO编程中,每当有一个新的客户端请求过来时,服务器端必须创建一个新的线程处理新接入的客户端链路,一个线程只能处理一个客户端连接,在并发量
Stella981 Stella981
3年前
Django:中间件与csrf
一、中间件  什么是中间件  中间件有什么用  自定义中间件  中间件应用场景二、csrf  csrftoken跨站请求伪造一、中间件  什么是中间件中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨
Stella981 Stella981
3年前
JWT 在 Web 服务中进行无状态授权的原理
JWT指的是JSONWebTokens,是一串数据加密后生成的Token字符串,通过以下方式服务器端可以判定客户端的身份。1、客户端用户userA使用用户名密码登录服务器2、服务器返回给用户数据和一串Token3、userA再次请求数据带上Token,而不用再次输入用户名密码4、服务器解密Token,拿出其中标识用户
Wesley13 Wesley13
3年前
Java命令学习系列(二)——Jstack
jstack是java虚拟机自带的一种堆栈跟踪工具。功能jstack用于生成java虚拟机当前时刻的线程快照。线程快照是当前java虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的是定位线程出现长时间停顿的原因,如线程间死锁、死循环、请求外部资源导致的长时间等待等。线程出现停顿的时候通过jstack来查看各个线程的调用堆
Wesley13 Wesley13
3年前
Java后台开发Servlet学习(一)
一、Servlet介绍  开始接触一个新的东西,首先要知道它是干什么的吧。Servlet(ServerApplet)是JavaServlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,主要功能在于交互式地浏览和修改数据,生成动态Web内容。我自己的理解就是对客户端或者浏览器发送的请求进行处理,作出相应的响应。其过程如下:
Stella981 Stella981
3年前
Spring MVC 监听文件上传进度,实现上传进度条
首先Spring是一个非常成熟的J2EE框架,其非入侵式的架构为系统的集成和扩展提供了最大的可能。所以SpringMVC下实现进度监听非常容易,甚至不需要改以前的上传业务代码,具体实现分三个步骤:1、接管CommonsMultipartResolver,重写针对文件上传的请求。2、在第一步中写入监听,以获取上传进度。3、修改上传部分的配置
Stella981 Stella981
3年前
Dubbo RPC远程调用过程源码分析(服务消费者)
!(https://oscimg.oschina.net/oscnet/b5fe5e4805377393d579ec6ab76f50eb5fd.gif)关注“Java艺术”一起来充电吧!上篇我们分析了服务提供者处理一个请求的全过程,当然,是跳过信息交换层和传输层的。本篇继续分析服务提供者发起一个远程RPC调用的全过程,也是跳过信息交换层和传输层
Stella981 Stella981
3年前
RabbitMQ之概念介绍(二)
简介:  MQ全称为MessageQueue,消息队列是一种应用程序间的通信方法。  其是消费者生产者模型的一个典型代表,一端往消息队列中不断写入消息,另一端不断读取/订阅消息。简单使用场景举例:  将项目中无需即时返回且耗时的操作提取出来,进行异步处理,大大降低了服务器的请求响应时间。  如:打印日志模块无需即时返回