SpringMvc面试题
一:什么是openstack
是Rackspace和NASA共同发起的开源项目,他是一系列软件项目的组合。
这些项目是松耦合的关系,可以进行独立的安装,启动和停止,只有在必要的时候才进行通信(优点:扩展性好,安全性高,缺点:安装和配置比较复杂)
二:openstack的主要功能组件
1:简介
主要分为5个不同的层次16个不同功能模块:
Presentation【表示层】:api模块,ui模块
Logic(Control)【逻辑控制层】:Orchostration【编排服务】,Scheduling【调度服务】,Policy【策略服务】,Image Registry【镜像注册服务】,Logging【日志服务】
Resource【资源管理层】:Compute【计算资源管理模块】,Volume【存储资源管理模块】,Network【网络资源管理模块】
Integration【集成层】:Billing【计量模块】,Identity【身份认证模块】
Mabagement【管理层】:Admin【管理api】,Monitoring【监测】
子项目是怎样对接起来的:
Horizon-UI服务:对应User Dashboard【云下服务给运维用户使用】和Customer Portal【给云上用户使用】
Keystone-身份认证:对应Identity
Nova-计算服务模块:Compute API,scheduling【调度服务】,policy【策略服务】和Compute【计算管理模块】以及部分Admin API
Glance-镜像服务:Image Registry【镜像注册】,Image Registry【镜像API】
Cinder【块存储】/swift【网络对象存储】-存储服务:volume【存储资源管理模块】
Neutron-网络服务:Network【网络资源管理模块】
Heat-编排组织服务:Orchostration【编排服务】
Ceilometer-监控计量服务:Billing【计量模块】,,Monitoring【监测】
2:Horizon-UI模块
主要服务为openstack用户提供UI服务,也就是负责用户在管理控制台上的所有操作转化为后台API的调用。
用户:云管理员【负责整个云平台的运营,资源管理和分配】,普通云用户【在配额范围内,自由操作,使用资源】
云管理员界面:
3:Keystone-身份认证模块
主要负责openstack中的身份认证和权限控制,
User:即用户,代表可以通过keystone进行访问的人或者程序,User通过认证信息(如密码,api Key等)进行验证
Tenant:即租户,它是各个服务中的一些可以访问的资源集合
Role:即角色,代表一组用户可以访问资源的权限
一家人【租户】租用了一百平米的房子【角色权限】那么这家人每个人【用户】的管理权限是不同的,父母比孩子的管理权限大。
Service:即服务,如Nova,Glance,Swift。服务只有在keystone上进行注册才能被分配
Endpoint:一个服务暴露出来的访问点,如果要访问一个服务,则必须要知道他的endpoint
Token:访问资源的令牌,相当于钥匙
keystone到底提供了什么服务:
Identity服务:验证了身份验证凭证。
Token服务:将会验证并管理用于验证请求身份的令牌
Catalog:每个服务需要在keystone上进行注册,而他们就是注册在catalog上
Policy:决定每个用户有哪些访问控制的权限
4:Nova-计算服务
openstack的核心服务。
一:主要功能包括:
1:实例生命周期管理:实例的创建,删除,启动,停止
2:计算资源的管理
3:向外提供Rest风格的API
二:3个不同的功能模块组成
nova-api:位于表示层主要接受外部的rest请求
nova-scheduler:位于逻辑控制层,主要负责居中调停,选择由哪个主机创建vm
nova-compute:负责虚拟机测创建,以及资源的分配,本身并不提供任何虚拟化功能,但他却支持不同的虚拟机形式
他们之间并不是听过直接传递,而是通过消息中间件进行消息的传递
5: Glance-镜像服务
功能:提供虚拟机镜像的存储,查询和检索服务
主要为Nova组件提供服务,通过nova创建虚拟机的时候,就必须听过glance获取相应的镜像,然后根据镜像创建虚拟机。
依赖于存储服务和数据库服务:存储服务用于存储镜像本身,数据库服务主要用于存储跟镜像相关的各种元数据
glance的架构图
6:swift-存储服务
功能:对外提供高可用分布式对象存储服务
特点:无限可扩展,没有端点故障,使用swift不用担心使用的对象会丢失,因为它本身就提供高可用的功能
可以通过HTTP(S),object api及s3接口存取
swift原理图
所有的请求都通过proxy进行处理,通过proxy到合适的Account下面找相应的Containe中的某一个object进行存储服务
在这中间会针对不同的object进行复制,从而保证某一个对象的信息丢失时能够从其他地方找回来
7:cinder-块存储服务
功能:管理所以的块存储设备,为vm服务,
对象存储服务主要用于存储分布式的对象,也就意味着你可以从任何地方发起请求存储你的对象
块存储服务是本地的,它只能挂在vm上进行使用
cinder原理图:
当一个请求发来时,首先还是发送到cinder本身的api上面,api模块对发过来的请求进行处理,处理后的结果通过消息中间件进行传递,通过消息中间件mq传到cinder-scheduler上面再通过调度器,
再决定到哪里申请块存储服务,并且创建一个vm,cinder具体的存储模块的管理都是通过cinder-volume来进行生命周期管理
8:Neutron-网络服务
功能:提供云计算环境下的虚拟网络功能,为每个租户建立独立的网络环境
三种模式:
Flat模式:网桥模式,所有的都需要手工配置
Flat DHCP模式:网桥模式,在网关处单独取了一个DHCP的进程,可以辅助用户进行网络配置
VLAN模式:为每个不同的租户设置了不同的虚拟子网,在这个虚拟子网中,用户可以有自己的ip
三:组件间关系和访问流程
1:组件之间的关系
2:访问控制流程
SpringMvc面试题的更多相关文章
- SpringMVC 面试题
SpringMVC 面试题 什么是Spring MVC ?简单介绍下你对springMVC的理解? Spring MVC是一个基于MVC架构的用来简化web应用程序开发的应用开发框架,它是Spring ...
- 腾讯这套SpringMvc面试题你了解多少?(面试必备)
1.什么是 SpringMvc? 答:SpringMvc 是 spring 的一个模块,基于 MVC 的一个框架,无需中间整合层来整 2.Spring MVC 的优点: 答: 1)它是基于组件技术的. ...
- springMVC 面试题整理
1. springMVC怎么样把某个请求映射到特定的方法上面? 答:直接在方法上面加上注解@RequestMapping,并且在这个注解里面写上要拦截的路径. 2. @RequestMapping注解 ...
- SpringMVC面试题:什么是Servlet?
一.什么是servlet? servlet是一个Java编写的程序,此程序是基于http协议的,在服务器端(如Tomcat)运行的,是按照servlet规范编写的一个Java类.客户端发送请求至服务器 ...
- SpringMVC相关试题
1.下列相关Spring自动装配的说法中,错误的是( ). (选择一项) A:在Spring配置文件中,可以通过<bean>元素的autowire属性指定自动装配方式B: autowire ...
- 腾讯这套SpringMVC面试题你懂多少(面试题和答案)
1.什么是 SpringMvc? 答:SpringMvc 是 spring 的一个模块,基于 MVC 的一个框架,无需中间整合层来整 2.Spring MVC 的优点: 答:1)它是基于组件技术的.全 ...
- SSM(Spring + Springmvc + Mybatis)框架面试题
JAVA SSM框架基础面试题https://blog.csdn.net/qq_39031310/article/details/83050192 SSM(Spring + Springmvc + M ...
- SpringMVC相关的面试题
1.什么是springMVC springmvc是spirng框架的一个模块,是一个基于MVC框架的web框架 2.springmvc的流程 a.客户端发送请求 b.前端控制器DispatcherSe ...
- 【面试题】SpringMVC部分面试题
SpringMVC面试题 什么是SpringMVC ? 简单介绍下你对SpringMVC的理解 ? SpringMVC是一个基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,通过Mo ...
随机推荐
- 模拟淘宝购物,运用cookie,记录登录账号信息,并且记住购物车内所选的商品
1.登录界面 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEn ...
- 使用Ldoc给Lua生成文档
Ldoc介绍 LDoc是一个Lua的文档生成工具,过去,比较常用的Lua生成文档的工具是LuaDoc,可惜作者自从2008年之后就再也没有发布过新的版本了,说明作者基本上已经放弃维护了.而LDoc则是 ...
- 解密jQuery内核 样式操作
基础回顾 jQuery里节点样式读取以及设置都是通过.css()这个方法来实现的,本章通一下分解探究下jquery里这部分代码的实现 那么jQuery要处理样式的哪些问题? 先简单回顾下样式操作会遇到 ...
- Qt on Android:创建可伸缩界面
使用 Qt 来开发 Android 应用,也需要适配不同移动设备,适配多种多样的屏幕和分辨率.这次我们大概来讲一下如何使用 Qt 提供的机制来创建可伸缩的界面. DPI 必须要解释一下 DPI . D ...
- Web APi 2.0优点和特点?在Web APi中如何启动Session状态?
前言 曾几何时,微软基于Web服务技术给出最流行的基于XML且以扩展名为.asmx结尾的Web Service,此服务在.NET Framework中风靡一时同时也被.NET业界同仁所青睐,几年后在此 ...
- Android获取可存储文件所有路径
引言:大家在做app开发的时候,基本都会保存文件到手机,android存储文件的地方有很多,不像ios一样,只能把文件存储到当前app目录下,并且android手机由于厂家定制了rom,sdcard的 ...
- SubSonic3.0.0.4.1源码包与调用Dll
================================================================ 名 称:SubSonic插件版 本:3.0.0.4.1最后 ...
- Objective-C中的类目,延展,协议
Objective-C中的类目(Category),延展(Extension),协议(Protocol)这些名词看起来挺牛的,瞬间感觉OC好高大上.在其他OOP语言中就没见过这些名词,刚看到这三个名词 ...
- MyCAT常用分片规则之分片枚举
MyCAT支持多种分片规则,下面测试的这种是分片枚举.适用场景,列值的个数是固定的,譬如省份,月份等. 在这里,需定义三个值,规则均是在rule.xml中定义. 1. tableRule 2. fun ...
- ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log. 一般可通 ...