<返回更多

微服务的学习总结

2019-08-21    
加入收藏
十年开发经验,对微服务的学习总结

 

微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。

问题:微服务有什么用?

解答:解决单体应用规模增加时带来的问题。

微服务 vs 单体应用


分布式系统如何解释?

简单来说,分布式系统就是一群独立计算机集合共同对外提供服务,但是对于系统的用户来说,就像是一台计算机在提供服务一样。集中式系统集中式系统就是把所有的程序、功能都集中到一台主机上,从而往外提供服务的方式。比如,我们主机的PC电脑,或者手机,我们把各种软件都安装在一台机子上,当我需要什么功能,我就从这台机子上去获取。再比如,我们在学生时代做的课程设计或者开发时的小应用,我们把Web服务器、数据库等都会安装到一台电脑上。好处是,易于理解、方便维护,想要的东西我都放到了一个地方,东西好找啊。当然弊端也是显而易见的,如果这台机子崩了,或者硬盘坏了,那相当与整个系统就奔溃了,而且如果备份也是在这个硬盘上,那相当于招了灭顶之灾。

Web 编程基础

静态Web

概述:静态web内容由web服务器文件系统提供,路径为文件系统的路径,常见的静态web内容有,htmlcss,js,jpeg等

常用的静态web服务器

静态web优化


动态Web

概述: 与静态web不同,请求内容通过服务器计算而来的

流行的JAVA web服务器

动态技术/架构演变

问题:mvc 的执行流程?

  1. 用户通过客户端发送HTTP请求,传至web服务器如tomcat
  2. servlet(实际是dispacherservlet)充当controller处理分发请求,传至model层
  3. model层包括了一系列的逻辑处理,包括数据库操作,最后返回一个java beans
  4. dispachersevlet将结果返回给服务器,服务器返回处理好的view给客户端
  5. 客户端渲染展示给用户

模板引擎

velocity: apache 产品,现已不维护

jsp: 使用较广泛,编译流程:.jsp-->.java -->.class 。内部可嵌入java语法,导致耦合度较高

themleaf: 新模板引擎

freemarker: 较稳定的一类


REST理论基础

Springboot Rest 核心接口

定义相关

映射相关

请求相关

响应相关

接口默认返回xml只需添加maven节点

<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>

Servlet 的在web中应用

什么是servlet?

是一种基于java技术的web组件,由容器管理,用于生成动态内容,由java web 服务器加载执行

什么是servlet容器?

Servlet 容器,有时候也称作为 Servlet 引擎,作为Web服务器或应用服务器的一部分。通过请求和响应对话,提供Web 客户端与 Servlets 交互的能力。容器管理Servlets实例以及它们的生命周期。

Servlet 历史发展如何?

1997年六月,Servlet 1.0 版本发行,最新版本 Servlet 4.0 处于研发状态。

Servlet生命周期

Fileter生命周期

Listener 生命周期

Http请求生命周期大致为:

  1. Listner--> requestInitialized 方法
  2. Filter --> init 初始化方法
  3. Filter --> doFilte 处理方法
  4. Servlet --> init 初始化方法
  5. servlet --> service 方法
  6. listener --> destroy 方法
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>