Tomcat涡轮:企业级WEB动力引擎全解析

目录

一、WEB技术基础

1.1 HTTP协议和B/S结构

1.2 前端三大核心技术

二、WEB框架与资源访问

2.1 WEB资源和访问

2.2 后台应用架构

2.2.1 单体架构

2.2.2 微服务架构

2.2.3 单体架构和微服务比较 

三、Tomcat的功能与安装

3.1 Tomcat简介

3.2 安装Tomcat

​编辑

3.3 生成tomcat的启动文件

四、结合反向代理实现Tomcat部署

4.1 部署方式

4.2 Nginx反向代理配置

4.3 实现tomcat中的负载均衡

4.3.1 HTTP的无状态,有连接和短连接

4.3.2 tomcat负载均衡实现

​编辑

五、Memcached与Session共享

5.1 Memcached简介

5.2 Memcached的安装与操作

5.3 memcached 操作命令

六、Session共享服务器

6.1 msm(memcached session manager)

6.2 安装

6.3、配置过程  


一、WEB技术基础


1.1 HTTP协议和B/S结构

        在现代网络架构中,HTTP协议和B/S(Browser/Server)结构扮演着核心角色。HTTP协议使得客户端和服务器之间能够通过文本形式传输数据,而B/S结构则允许浏览器作为客户端,通过HTTP请求与WEB服务器进行交互。

1.2 前端三大核心技术

前端三大核心技术通常指的是构建现代Web应用程序所必需的三个基本技能领域。这些技术共同协作,为用户提供丰富、互动和响应式的网页体验。

1.2.1 HTML(HyperText Markup Language) - 超文本标记语言

  • 定义:HTML是网页内容的标准标记语言,用于定义网页的结构和内容。它由一系列的元素(或称为标签)组成,这些元素可以是文本、链接、图片、表格、列表等。
  • 作用:HTML负责网页的基本骨架,让浏览器知道如何显示内容。它不负责网页的样式或行为。

1.2.2 CSS(Cascading Style Sheets) - 层叠样式表

  • 定义:CSS用于设置HTML元素的样式,包括布局、颜色、字体和间距等视觉表现。CSS通过选择器来定位HTML中的元素,并应用相应的样式规则。
  • 作用:CSS让网页设计师能够控制网页的外观和布局,实现跨浏览器的一致性,并提高页面的可用性和可访问性。

1.2.3 JavaScript(JS) - 一种脚本语言

  • 定义:JavaScript是一种轻量级的编程语言,用于网页上实现交互式功能、游戏、动画等。它能够响应用户的行为,操作HTML元素,以及处理数据。
  • 作用:JavaScript使得网页不再是静态的,它可以处理用户输入、与服务器进行异步数据交换(Ajax)、操作DOM(文档对象模型),从而创建动态和响应式的用户体验。

同步

交互式网页,用户提交了请求,就是想看到查询的结果。服务器响应到来后是一个全新的页面内容,哪 怕URL不变,整个网页都需要重新渲染。例如,用户填写注册信息,只是2次密码不一致,提交后,整个 注册页面重新刷新,所有填写项目重新填写(当然有办法让用户减少重填)。这种交互非常不友好。从代价 的角度看,就是为了注册的一点点信息,结果返回了整个网页内容,不但浪费了网络带宽,还需要浏览 器重新渲染网页,太浪费资源了,影响了用户体验和感受。上面这些请求的过程,就是同步过程,用户 发起请求,页面整个刷新,直到服务器端响应的数据到来并重新渲染。

异步

传统的网页如果需要更新内容,必需重载整个网页面。Ajax的出现,改变这一切,同时极大的促进了 Javascript的发展。Ajax即"Asynchronous Javascript And XML"(异步 JavaScript 和 XML),是指一种 创建交互式、快速动态网页应用的网页开发技术,最早起源于1998年微软的Outlook Web Access开发团 队。Ajax 通过在后台与服务器进行少量数据交换, 可以使网页实现异步更新。这意味着可以在不重新加 载整个网页的情况下,对网页的某部分进行更新。Javascript 通过调用浏览器内置的WEB API中的 XMLHttpRequest 对象实现Ajax 技术。早期Ajax结合数据格式XML,目前更多的使用JSON。利用AJAX可 实现前后端开发的彻底分离,改变了传统的开发模式。

二、WEB框架与资源访问


2.1 WEB资源和访问

WEB资源的访问通常涉及静态内容(如HTML、CSS、JS文件)和动态内容的请求。这些资源可以通过PC端或移动端浏览器访问,也可以通过手机App访问。

2.2 后台应用架构

2.2.1 单体架构
  • 传统架构(单机系统),一个项目一个工程:比如商品、订单、支付、库存、登录、注册等等,统 一部署,一个进程
  • all in one的架构方式,把所有的功能单元放在一个应用里。然后把整个应用部署到一台服务器上。 如果负载能力不行,将整个应用进行水平复制,进行扩展,然后通过负载均衡实现访问。
  • Java实现:JSP、Servlet,打包成一个jar、war部署
  • 易于开发和测试:也十分方便部署;当需要扩展时,只需要将war复制多份,然后放到多个服务器上, 再做个负载均衡就可以了。
  • 如果某个功能模块出问题,有可能全站不可访问,修改Bug后、某模块功能修改或升级后,需要停 掉整个服务,重新整体重新打包、部署这个应用war包,功能模块相互之间耦合度高,相互影响,不适 合当今互联网业务功能的快速迭代。
  • 特别是对于一个大型应用,我们不可能吧所有内容都放在一个应用里面,我们如何维护、如何分工 合作都是问题。如果项目庞大,管理难度大
  • web应用服务器:开源的tomcat、jetty、glassfish。商用的有weblogic、websphere、Jboss
2.2.2 微服务架构
  • 属于SOA(Service Oriented Architecture)的子集
  • 微服务化的核心就是将传统的一站式应用,根据业务拆分成一个一个的服务,彻底去掉耦合,每一 个微服务提供单个业务功能,一个服务只做一件事。每个服务都围绕着具体业务进行构建,并且能 够被独立地部署到生产环境、类生产环境等
  • 从技术角度讲就是一种小而独立的处理过程,类似与进程的概念,能够自行单独启动或销毁 微服务架构(分布式系统),各个模块/服务,各自独立出来,"让专业的人干专业的事",独立部 署。分布式系统中,不同的服务可以使用各自独立的数据库。
  • 服务之间采用轻量级的通信机制(通常是基于HTTP的RESTful API)。
  • 微服务设计的思想改变了原有的企业研发团队组织架构。传统的研发组织架构是水平架构,前端、 后端、DBA、测试分别有自己对应的团队,属于水平团队组织架构。而微服务的设计思想对团队的 划分有着一定的影响,使得团队组织架构的划分更倾向于垂直架构,比如用户业务是一个团队来负 责,支付业务是一个团队来负责。但实际上在企业中并不会把团队组织架构拆分得这么绝对,垂直 架构只是一种理想的架构
  • 微服务的实现框架有多种,不同的应用架构,部署方式也有不同
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值