Java总结 - 中间件
文章目录
- - - -中间件- - -
- 1 Redis
- 2 MongDB
- 3 Nginx
- 3.1 概述
- 3.1 正向代理&反向代理
- 3.2 Nginx的作用
- 3.2 事件驱动架构
- 3.2.1 IO模型
- 3.2.2 多路复用器
- 3.2.3 Nginx事件驱动架构
- 3.3 可预见式进程模型
- 4 MongoDB
- - -中间件- - -
1 Redis
直接输入
2 MongDB
你好
3 Nginx
3.1 概述
3.1 正向代理&反向代理
1. 正向代理
定义:正向代理用来代理客户端
作用:
① 访问原来无法访问的资源;
② 用作缓存,加速访问速度;
③ 对客户端访问授权,上网进行认证;
④ 代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息。
2. 反向代理
定义:反向代理用来代理服务端
作用:
① 保护内网安全;
② 负载均衡;
③ 缓存,减少服务器的压力。
3.2 Nginx的作用
① 反向代理,将多台服务器代理成一台服务器;
② 负载均衡,将多个请求分配到多台服务器上,减轻单台服务器压力,提高服务吞吐量;
③ 动静分离,nginx可用作静态文件的缓存服务器,提高访问速度。
3.2 事件驱动架构
3.2.1 IO模型
1. IO请求两步骤(读)
内核查看数据是否就绪
数据拷贝(磁盘->内核缓冲区->用户缓冲区)
2. IO分类及其原理
3.2.2 多路复用器
多路复用器有三种模式select、poll、epoll,三种模式的优缺点如下表。
select | poll | epoll | |
---|---|---|---|
操作方式 | 轮询 | 轮询 | 回调 |
就绪队列 | 数组 | 链表 | 链表 |
IO效率 | 调用方式为线性遍历,复杂度为O(n) | 调用方式为线性遍历,复杂度为O(n) | 事件通知方式,若fd就绪,系统注册的回调函被调用,复杂度O(1) |
3.2.3 Nginx事件驱动架构
Nginx采用epoll模型,实现异步非阻塞的事件处理机制。如下图,当多个client请求worker1,假设client1请求阻塞,由于异步非阻塞机制,worker1仍可以处理其他客户端请求。
3.3 可预见式进程模型
Nginx启动后,包含一个master进程和多个worker进程,其结构如下图,worker进程数量一般配置为内核数量。
master进程功能包括接收信号,向worker进程发信号,监控worker进程状态,重启worker进程等;worker进程功能为处理基本的网络事件。
4 MongoDB
你好
Java总结 - 中间件相关推荐
- 我的2017年文章汇总——Java及中间件篇
2018即将到来,大家看着2017给自己制定的计划有没有感慨?当你觉得过去一年没有什么进步时,那么请行动起来,能开始总是好的. 近期准备把过去一年写的文章按照分类重新整理推送一遍,包括:"分 ...
- Glassfish JAVA容器中间件使用(咋个办呢 zgbn)
Glassfish JAVA容器中间件使用 安装Glassfish Glassfish官方下载页面:https://javaee.github.io/glassfish/download 下载Glas ...
- java中间件有哪些java常用中间件介绍
之前给大家介绍了很多的java基础知识,今天同样的也是要给大家介绍这方面的内容,那么对于java中间件你都了解多少呢究竟什么是java中间件比较常用的java中间件都有哪些一起来了解一下吧. 一.什么 ...
- JAVA WEB_中间件
目录 中间件 常见的web中间件有哪些 Tomcat Weblogic Jboss Jetty Webshere Glasshfish 中间件 我们经常会看到中间件,但是,一直好奇的是,中间件到底是什 ...
- java 中间件_从头到尾说一遍Java(中间件)垃圾回收
之前上学的时候有这个一个梗,说在食堂里吃饭,吃完把餐盘端走清理的,是 C++ 程序员,吃完直接就走的,是 Java 程序员. 确实,在 Java 的世界里,似乎我们不用对垃圾回收那么的专注,很多初学者 ...
- Java Web中间件
目录 中间件 常见的web中间件有哪些 Tomcat Weblogic Jboss Jetty Webshere Glasshfish 中间件 我们经常会看到中间件,但是,一直好奇的是,中间件到底是什 ...
- 工行银企直联(dom4j+java无中间件版)
工行银企直联(dom4j无中间件版) 最近,接手了工行银企直联的任务,在网上找了很多,发现能一次说清的文章很少,此篇文章专为第一次接触银企直联的同学准备. 1.准备包:dom4j(自行百度,如果这一步 ...
- java packetmaster_TCP中间件_java_server
packagejdbcOper;import java.sql.*;importjava.util.ArrayList;//ZC: 基类(基本全是static方法) public classTjdbc ...
- java数据库中间件实现,分布式数据库中间件DDM的实现原理
随着数据量不断增大,传统的架构模式难以解决业务量不断增长所带来的问题,特别是在业务成线性.甚至指数级上升的情况.此时我们不得不通过水平扩展,把数据库放到不同服务器上来解决问题,也就是我们说的数据库中间 ...
最新文章
- SOJ 4543 4542
- 最后一场「屏之争」:汽车大佬与硅谷巨头的贴身肉搏
- 测试udp端口状态 curl_检测TCP/UDP端口的连通性
- java调用网络打印机不稳定_新手处理共享打印机总是没有反应的故障
- QT pro文件解析
- PHP 如何在Redis中实现事物(事物提交和事物回滚)
- 宫崎骏的动画片真有意思啊。
- 什么时候用synchronized
- 如何将文件拷贝服务器上,如何将文件复制到云服务器上
- Scom 2012 中的资源组(Resource Pool)
- echart高级使用_Vue:在Vue中使用echarts
- 稳定=死亡!废掉一个人的最好办法,就是让他瞎努力......
- JavaScript:模块化及模块化规范
- MFC界面库BCGControlBar v32.0 - 网格、报表控件升级
- 会声会影安装闪退解决办法_会声会影导出时闪退怎么回事 - 卡饭网
- 对服务器系统盘扩容,服务器系统盘扩容
- DSP TMS320F280049C之捕获eCAP(1)
- Python3 网络爬虫. 4
- mysql mtq_MySQL调优学习笔记(一、MySQL基础)
- linux中安shell怎么传入参数,【linux】linux 下 shell命令 执行结果赋值给变量【两种方式】...