随笔分类 - 拉勾训练营
摘要:Nacos介绍 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台 快速开始 下载安装包,并解压启动 linux/mac:sh startup.sh -m standalone windows:startup.cmd -m standalone 访问nacos管理界面 http://12
阅读全文
摘要:Zookeeper应用场景 数据发布/订阅(配置中心) 我们平常的开发过程中,经常会碰到这样的需求:系统中需要一些通用的配置信息,如一些运行时的开关、前端需要展示的通知栏信息、数据库配置信息等等。这些需求通常都要求具备3个特性: 数据量比较小 数据内容在运行时会变化 集群中的所有机器共享,数据一致
阅读全文
摘要:Zookeeper简介 基本概念 Zookeeper是一个开源的分布式协调服务。其设计目标是将那些复杂的容易出错的分布式一致性服务封装起来,以简单的接口提供给用户使用。它是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现如:发布/订阅、负载均衡、集群管理、分布式锁、分布式队列等功能
阅读全文
摘要:服务调用方式 1. HTTP协议的通信框架 1. HttpURLConnection HttpURLConnection是java原生支持的。 2. Apache Common HttpClient HttpClient是Apache Common下的,可以用来提供高效的、功能丰富的HTTP协议的客
阅读全文
摘要:分布式协议 分布式理论概念 1. 分布式数据一致性 分布式数据一致性,指的是数据在多个副本中存储时,各副本中的数据是一致的。 在分布式系统中,数据往往有多个副本。多个副本就需要保证数据的一致性。这就带来了同步的问题,因为网络延迟等因素,我们几乎没有办法保证可以同时更新所有机器中的所有数据,一定会有一
阅读全文
摘要:Netty 高级应用 1. 编解码器 概念:在网络应用中,需要实现某种编解码器。将原始字节数据与自定义消息数据进行相互转换。网络中都是以字节码的形式传输的。 对Netty而言,编解码器由两部分组成:编码器、解码器 编码器:将消息对象转为字节或其他序列形式在网络上传输 解码器:负责将字节或其他序列形式
阅读全文
摘要:Netty核心原理 1. Netty介绍 1.1 原生NIO存在的问题 NIO的类库和API使用繁杂 需要具备其他额外的技能,如java多线程编程等才能编写出高质量的NIO程序 开发工作量和难度都非常大:例如客户端面临断连重连,半包读写,网络拥塞和异常流等情况的处理 JDK NIO的BUG:Epol
阅读全文
摘要:I/O模型 java支持3种网络编程模型I/O模式:BIO(同步并阻塞)、NIO(同步非阻塞)、AIO(异步非阻塞) 阻塞指的是访问IO的线程是否会阻塞(或等待)。线程访问资源,该资源是否准备就绪的一种处理方式。 阻塞与非阻塞: 同步与异步: 1.1 BIO BIO:同步阻塞,服务器实现模式为一个连
阅读全文
摘要:点击劫持 点击劫持,也称UI覆盖攻击 1.1 iframe覆盖攻击 黑客创建一个网页,用iframe包含了目标网站,并且把它隐藏起来。做一个伪装的页面或图片盖上去,且按钮与目标网站一致,诱导用户去点击。伪装的按钮背后可能就会执行了危险操作。 <!DOCTYPE html> <html> <meta
阅读全文
摘要:跨站脚本攻击(XSS) XSS(Cross Site Scripting),为不和层叠样式表CSS混淆,故将跨站脚本攻击缩写为XSS。 攻击原理: 恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页面时,嵌入其中的Script代码会被执行,从而达到恶意攻击用户的目的。 XSS攻击按类型
阅读全文
摘要:HTTPS HTTPS并非是应用层一个新的协议,通常HTTP直接和TCP通信,HTTPS则先和安全层(SSL、TLS)通信,然后安全层再和TCP层通信。 可以看出HTTPS就是在HTTP的基础上增加了一层SSL/TLS那么SSL都起了什么作用呢? 所有信息是加密传输的 配备身份验证(服务端),防止身
阅读全文
摘要:HTTP 1.1 HTTP报文 HTTP 报文是在 HTTP应用程序之间发送的数据块(用于HTTP协议交互的信息)。请求端(客户端)的HTTP报文叫做请求报文,响应端(服务器端)的叫做响应报文。 报文参数介绍: Remote Address :访问目标URL解析出来的IP地址 Referrer Po
阅读全文
摘要:一、一致性Hash算法 Hash算法,散列函数,顾名思义,它是一个函数。如果把它定义成 hash(key) ,其中 key 表示元素的键值,则 hash(key) 的值表示经过散列函数计算得到的散列值。 常见的Hash算法如:MD5、SHA-1 Hash算法在分布式场景中的应用,主要分为两类: 请求
阅读全文
摘要:Nginx应用全入门 基础回顾 Nginx是什么? Nginx是一个高性能的HTTP和反向代理web服务器,特点是内存少,并发能力强 Nginx能做什么 Http服务器(Web服务器) 反向代理服务器 负载均衡 动静分离 Nginx主要命令: ./nginx 启动nginx ./nginx -s s
阅读全文
摘要:Tomcat对Https的支持 HTTPS简介 Https,是以安全为目标的Http通道,在Http的基础上通过传输加密和身份认证保证了传输的安全性。HTTPS在HTTP的基础上加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 HTTPS和HTTP的主要区别 HTTPS协
阅读全文
摘要:浏览器访问服务器的流程 请求发起的过程: 注意:浏览器访问服务器使用的是http协议,http是应用层协议,而具体传输还是使用的TCP/IP协议 Tomcat系统总架构 2.1 Tomcat请求处理过程 一个http请求过来,Tomcat会接收,然后根据配置调用不同的servlet来进行处理。 为了
阅读全文
摘要:SpringSecurity应用 pring Security 功能简介 认证:用户登录,两种认证方式:httpBasic、formLogin 授权:判断用户权限,可以访问什么资源 安全防护,防止跨站请求,session攻击等。 应用场景: 登录 授权 单一登录,一个账户同一时间只能在一个地方登录
阅读全文
摘要:SpringBoot源码解析 我们启动SpringBoot的代码: @SpringBootApplication public class SpringbootDemoApplication { public static void main(String[] args) { SpringAppli
阅读全文
摘要:SSM整合 SSM是Spring + SpringMVC + Mybatis。虽然SpringBoot很火,但这一套SSM依然有很多公司是在使用的。下面我们来看看如何完整的配置一套SSM框架。 整合目标: 数据库连接池以及事务管理都交给Spring容器来完成 SqlSessionFactory对象应
阅读全文
摘要:SpringBoot SpringBoot概念 SpringBoot是基于Spring开发的,Spring Boot的设计是为了让你尽可能快的跑起来Spring应用程序并且尽可能减少你的配置。 它的设计思想是:约定大于配置 SpringBoot为了解决Spring项目依赖多,配置繁琐的问题,对Spr
阅读全文

浙公网安备 33010602011771号