1、nginx
1.1反向代理
反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。
特点:
1.反向代理服务器位于用户和服务器之间.
2.用户访问反向代理服务器,就可以获取真实的资源.
3.反向代理机制 用户无需了解真实的服务器信息.
4.反向代理保护了服务器端信息,也称之为服务器端代理.
1.2正向代理
正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端才能使用正向代理。
特点:
1. 正向代理服务器位于用户和服务器之间.
2. 用户发起请求时,非常明确自己访问的服务器到底是谁
3. 真实的服务器不清楚真实的用户是谁.保护了用户的信息.所以称之为客户端代理.
用户在每一次请求中都用到了正向代理和反向代理,一般正向用于网络通信,反向用于服务器获取信息
1.3Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好
特点:
1.nginx是非常优秀的反向代理服务器.
2.占用内存少 不到2M ,相比之下 tomcat服务器占用内存 在200M左右
3.并发(负载)能力强 3-5万次/秒,而tomcat服务器并发能力 250-500次/秒
4.可以当作负载均衡使用
1.4Nginx下载安装
下载:
http://nginx.org/en/download.html
安装:网上查:Linux安装Nginx步骤_闪耀太阳的博客-优快云博客_linux nginx安装
2、servlet
Servlet(Server Applet)是 Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态web内容。
Servlet 的主要功能在于交互式地浏览和修改数据,生成动态 Web 内容。这个过程为:
-
客户端发送请求至服务器端;
-
服务器将请求信息发送至 Servlet;
-
Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;
-
服务器将响应返回给客户端。
3、redis
redis是一个key-value存储系统,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)
https://blog.youkuaiyun.com/maitian_2008/category_11166577.html
4、sentinel
Sentinel (分布式系统的流量防卫兵) 是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点, 从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。
Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景, 例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。
Sentinel核心分为两个部分:
核心库(Java 客户端):能够运行于所有 Java 运行时环境,同时对Dubbo /Spring Cloud 等框架也有较好的支持。
控制台(Dashboard):基于 Spring Boot 开发,打包后可以直接运行。