架构

SpringBoot学习笔记

不打扰是莪最后的温柔 提交于 2020-03-10 02:28:02
什么是Spring Spring是一个开源框架,2003 年兴起的一个轻量级的Java 开发框架,作者:Rod Johnson 。 spring是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的非入侵式框架(容器) Spring是为了解决企业级应用开发的复杂性而创建的,简化开发。 Spring是如何简化Java开发的 为了降低Java开发的复杂性,Spring采用了以下4种关键策略: 1、基于POJO的轻量级和最小侵入性编程; 2、通过IOC,依赖注入(DI)和面向接口实现松耦合; 3、基于切面(AOP)和惯例进行声明式编程; 4、通过切面和模版减少样式代码; 什么是SpringBoot ​随着 Spring 不断的发展,涉及的领域越来越多,项目整合开发需要配合各种各样的文件,慢慢变得不那么易用简单,违背了最初的理念。Spring Boot 正是在这样的一个背景下被抽象出来的开发框架,目的为了让大家更容易的使用 Spring 、更容易的集成各种常用的中间件、开源软件; Spring Boot 基于 Spring 开发,Spirng Boot 本身并不提供 Spring 框架的核心特性以及扩展功能,只是用于快速、敏捷地开发新一代基于 Spring 框架的应用程序。也就是说,它并不是用来替代 Spring 的解决方案,而是和 Spring 框架紧密结合用于提升 Spring

Hadoop架构之1.0

孤街醉人 提交于 2020-03-09 16:10:59
Hadoop架构之1.0 本文主要讲述Hadoop中HDFS的架构,详细的MapReduce将放到后面写一篇专门的博客 文章目录 Hadoop架构之1.0 hadoop1.0架构 HDFS组件 HDFS存储过程 写入操作 读取过程 HDFS的不足 MapReduce架构 MapReduce组件 MapReduce数据处理过程 MapReduce不足 hadoop1.0架构 HDFS组件 NameNode 管理整个文件系统的目录树结构和元数据信息 保管文件与Block块序列之间的对应关系,以及Block块与DataNode节点之间对应关系 Block副本及其存储位置等管理数据 DataNode状态监控 两者通过段时间间隔的心跳来传递管理信息和数据信息,通过这种方式的信息传递,NameNode 可以获知每个 DataNode 保存的 Block 信息、DataNode 的健康状况、命令 DataNode 启动停止等(如果发现某个 DataNode 节点故障,NameNode 会将其负责的 block 在其他 DataNode 上进行备份) 负责接受用户的操作请求 元数据管理操作: **fsimage:**内存命名空间元数据在外存的镜像文件 **editlog:**各种元数据操作的write-ahead-log文件,在体现到内存数据变化前首先会将操作记入editlog中,以防数据丢失。

浓缩精华的架构演进过程,经验总结,值得收藏!

◇◆丶佛笑我妖孽 提交于 2020-03-09 12:27:53
架构设计的演进过程 业务驱动技术的发展是亘古不变的道理。最开始的时候,业务量少,业务复杂度低,采取的技术也相对简单,基本满足用户对功能的需求。随着IT信息化的普及,更多的交易放到了网络上,信息量增加和访问次数频繁就是要解决的问题了。因此,逐渐加入了缓存、集群等技术手段。同时对业务的扩展性和伸缩性的要求也越来越高。高并发、高可用、可伸缩、可扩展、够安全的软件架构一直是架构设计追求的目标。今天我们来看一下架构设计经历了哪些阶段,每个阶段都解决了哪些问题,又引出了哪些新问题。主要是引起大家的思考,在不同的业务发展阶段采取合适技术手段,用变化拥抱变化是IT人追求的目标。 应用与数据一体模式 最早的业务应用以网站、OA等为主,访问的人数有限,单台服务器就能够应付。通常,将应用程序和数据库部署到一台服务器上面,如图1-1所示。在这一阶段,我们利用LAMP(Linux Apache MySQL PHP)技术就可以迅速搞定,并且这些工具都是开源的。很长一段时间内,有各种针对这种应用模式的开源代码可以使用。这种模式基本上没有高并发的要求,可用性也很差。有的服务器采用托管模式,上面就安装了不同的业务应用,一旦服务器出现问题,所有的应用就罢工了。不过其开发和部署成本相对较低,适合刚刚起步的应用服务。图1 就描述了单个应用和数据库运行在单台服务器的模式,我们称这种模式为应用与数据一体模式。 图 1

GPU物理架构

♀尐吖头ヾ 提交于 2020-03-09 09:12:18
目前市场上的 NVIDIA 显卡都是基于 Tesla 架构的,分为 G80 、 G92 、 GT200 三个系列。 Tesla 体系架构是一块具有可扩展处器数量的处理器阵列。每个 GT200 GPU 包含 240 个流处理器( streaming processor,SP ),每 8 个流处理器又组成了一个流多处理器 (streaming multiprocessor,SM) ,因此共有 30 个流多处理器。 GPU 在工作时,工作负载由 PCI-E 总线从 CPU 传入 GPU 显存,按照体系架构的层次自顶向下分发。PCI-E 2.0规范中,每个通道上下行的数据传输速度达到了 5.0Gbit/s ,这样 PCI-E2.0 × 16 插槽能够为上下行数据各提供了 5.0*16Gbit/s=10GB/s 的带宽,故有效带宽为 8GB/s, 而 PCI-E 3.0 规范的上下行数据带宽各为 20GB/s 。但是由于 PCI-E 数据封包的影响,实际可用的带宽大约在 5-6GB/s ( PCI-E 2.0 ×16 )。 在 GT200 架构中,每 3 个 SM 组成一个 TPC ( Thread Processing Cluster ,线程处理器集群),而在 G80 架构中,是两个 SM 组成一个 TPC , G80 里面有 8 个 TPC ,因为 G80 有 128(2*8*8)

大型网站性能优化的通用方法

给你一囗甜甜゛ 提交于 2020-03-09 06:18:47
1、HTML静态化 其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。 除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。 同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求。 2、图片服务器分离 大家知道,对于Web服务器来说

大型网站性能优化的通用方法

让人想犯罪 __ 提交于 2020-03-09 06:18:06
1、HTML静态化 其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。 除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。 同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求。 2、图片服务器分离 大家知道,对于Web服务器来说

大型网站性能优化的通用方法

拈花ヽ惹草 提交于 2020-03-09 06:17:18
1、HTML静态化 其实大家都知道,效率最高、消耗最小的就是纯静态化的html页面,所以我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户站点的新闻频道,甚至他们的其他频道,都是通过信息发布系统来管理和实现的,信息发布系统可以实现最简单的信息录入自动生成静态页面,还能具备频道管理、权限管理、自动抓取等功能,对于一个大型网站来说,拥有一套高效、可管理的CMS是必不可少的。 除了门户和信息发布类型的网站,对于交互性要求很高的社区类型网站来说,尽可能的静态化也是提高性能的必要手段,将社区内的帖子、文章进行实时的静态化,有更新的时候再重新静态化也是大量使用的策略,像Mop的大杂烩就是使用了这样的策略,网易社区等也是如此。 同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现,比如论坛中论坛的公用设置信息,这些信息目前的主流论坛都可以进行后台管理并且存储再数据库中,这些信息其实大量被前台程序调用,但是更新频率很小,可以考虑将这部分内容进行后台更新的时候进行静态化,这样避免了大量的数据库访问请求。 2、图片服务器分离 大家知道,对于Web服务器来说

搭建微服务集群基本架构目录

点点圈 提交于 2020-03-09 04:54:20
前端技术 基础的HTML、CSS、JavaScript(基于ES6标准) JQuery Vue.js 2.0以及基于Vue的UI框架:Vuetify 前端构建工具:WebPack 前端安装包工具:NPM Vue脚手架:Vue-cli ajax框架:axios 基于Vue的富文本框架:quill-editor 后端技术 基础的SpringMVC、Spring5.0和MyBatis3 Spring Boot 2.0.4版本 Spring Cloud 最新版Finchley.SR1 Redis-4.0 RabbitMQ-3.4 Elasticsearch-5.0.8 nginx-1.10.2 FastDFS-5.0.8 MyCat Thymeleaf JWT 开发环境 IDE:Idea 2017.3 JDK:统一使用JDK1.8.151(包括linux) 项目架构:Maven3.3.x以上版本即可 资源较多目前没有上传云盘,可以网上搜索,也可以q我:982913047 看到了就回 来源: CSDN 作者: XieAndWater 链接: https://blog.csdn.net/qq_24545959/article/details/104738887