中间件技术

系统规划与管理师笔记——信息技术知识

扶醉桌前 提交于 2019-12-15 01:03:25
软件工程 软件测试与维护 软件测试伴随开发和维护过程,通常可以在概念上划分为单元测试、集成测试和系统测试3个阶段 软件维护有如下类型:① 更正性维护 ——更正交付后发现的错误;② 适应性维护 ——使软件产品能够在变化后或变化中的环境中继续使用;③ 完善性维护 ——改进交付后产品的性能和可维护性;④ 预防性维护 ——在软件产品中的潜在错误称为实际错误前,预测并更正它们 软件质量保证及质量评价 软件质量包括“内部质量”、“外部质量”和“使用质量”三部分。软件质量管理过程由许多活动组成,一些活动可以直接发现缺陷,另一些活动则检查活动的价值。其中包括 质量保证过程、验证过程、确认过程、评审过程、审计过程 等 软件质量保证 :通过制定计划、实施和完成等活动保证项目生命周期中的软件产品和过程符合其规定的要求 验证与确认 :确定某一活动的产品是否符合活动的需求,最终的软件产品是否达到其意图并满足用户需求;验证过程试图确保活动的输出产品构造正确,即活动的输出产品满足活动的规范说明;确认过程则试图确保构造了正确的产品,即产品满足其特定的目的一 评审与审计 :包括管理评审、技术评审、检查、走查、审计等 管理评审:监控进展,决定计划和进度的状态,或评价用户达到目标所用管理方法的有效性 技术评审:评价软件产品,以确定其对使用意图的适合性 软件审计:提供软件产品和过程对于可应用的规则、标准、指南

ASP.NET Core框架深度学习(一) Hello World

倖福魔咒の 提交于 2019-12-14 14:26:18
  对于学习Core的框架,对我帮助最大的一篇文章是Artech的《 200行代码,7个对象——让你了解ASP.NET Core框架的本质 》,最近我又重新阅读了一遍该文。本系列文章就是结合我的阅读心得,一起来搭建一个迷你的Core框架。 本文相关代码在码云上,链接如下 https://gitee.com/qixinbo/MyKestrelServer/tree/master/CoreMini/CoreMini 还有部分是core的源码,链接如下 https://github.com/aspnet/AspNetCore/tree/master/src/Http 1、从Hello World谈起   当我们最开始学习一门技术的时候都喜欢从Hello World来时,貌似和我们本篇的主题不太搭。但事实却非如此,在我们看来如下这个Hello World是对ASP.NET Core框架本质最好的体现。 public class Program { public static void Main() => new WebHostBuilder() .UseKestrel() .Configure(app => app.Run(context => context.Response.WriteAsync("Hello World!"))) .Build() .Run(); }  

消息中间件介绍、典型使用场景、以及使用原则

ⅰ亾dé卋堺 提交于 2019-12-13 16:34:05
一、kafka 1、不完全符合jms规范,注重吞吐量,类似udp 和 tcp 2、一般做大数据吞吐的管道 我们现在的用途就是负责在各个idc之间通信 3、量大对数据不是百分之百保证的,会有数据丢失,不是百分百送达(amq和rmq等有重发机制,而kafka没有);在吞吐量有提升 ,在这方面就得有牺牲, 所以kafka适合大数据量流转, 比如日志数据 比如用作统计的数据。 二、activeMQ ActiveMQ居于两者之间,类似于ZemoMQ,它可以部署于代理模式和P2P模式。类似于RabbitMQ,它易于实现高级场景,而且只需付出低消耗。它被誉为消息中间件的“瑞士军刀”。 三:RocketMQ(阿里官方指定消息中间件) RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。 消息中间件使用的典型场景优四个 1.典型的异步处理 2.应用解耦 3.流量削锋 4.消息通讯四个场景 比如:今日头条的私信就是一个典型的消息通讯场景,因为消息通讯的数据不需要即使立即同步回来,不算是核心数据,可以延时通过异步的消息发送,这样可以降低系统的负荷。 所以,我们在架构设计的时候

消息中间件介绍、典型使用场景、以及使用原则

二次信任 提交于 2019-12-13 15:24:21
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、kafka 1、不完全符合jms规范,注重吞吐量,类似udp 和 tcp 2、一般做大数据吞吐的管道 我们现在的用途就是负责在各个idc之间通信 3、量大对数据不是百分之百保证的,会有数据丢失,不是百分百送达(amq和rmq等有重发机制,而kafka没有);在吞吐量有提升 ,在这方面就得有牺牲, 所以kafka适合大数据量流转, 比如日志数据 比如用作统计的数据。 二、activeMQ ActiveMQ居于两者之间,类似于ZemoMQ,它可以部署于代理模式和P2P模式。类似于RabbitMQ,它易于实现高级场景,而且只需付出低消耗。它被誉为消息中间件的“瑞士军刀”。 三:RocketMQ(阿里官方指定消息中间件) RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。 消息中间件使用的典型场景优四个 1.典型的异步处理 2.应用解耦 3.流量削锋 4.消息通讯四个场景 比如:今日头条的私信就是一个典型的消息通讯场景,因为消息通讯的数据不需要即使立即同步回来,不算是核心数据

Tomcat与WAS应用中间件差异化分析研究

有些话、适合烂在心里 提交于 2019-12-13 02:37:15
--转载 http://blog.chinaunix.net/uid-25723371-id-5759072.html 目前我们在使用的基于JAVA的提供逻辑展现应用中间件有两种,一种是以商用软件WAS为代表的web应用中间件,另一种是以开源web应用中间件为代表的tomcat。为了更好的管理与使用这两类中间件,所以拿出一部分时间去研究和分析这两种中间件的共性与差异是十分必要且有价值的。只有我们真的对这两种中间件有所认识与了解,才能够实现物尽其用、有的放矢。衷心的希望我所做的一些基础性的工作能够对从事基于JAVA开发的人员带来一些启发。不管tomcat还是was在技术实现的技巧上还是在运行机制上都十分的博大精深,笔者在撰写本当过程中力求严谨、正确,但鉴于笔者水平有限,难免文档中所提出的观点出现偏差,如有不当之处,请批评指正。整理本文档的目的旨在分析比较Tomcat与WAS各自的特点及其适合的业务类型,为后续更好的使用、管理Tomcat、WAS应用中间件提供一些建议和参考。同时也希望该文档的一些内容为从事基于tomcat、was开发与维护工作的同事提供一些有价值的信息,并将相关特性应用到相关工作之中去或者解决大家在使用tomcat或者was的过程中遇到的一些问题。 一、Tomcat与Was对标 1.实现架构比较 Tomcat与Was在实现架构上有着异曲同工之妙

Golang中间件【转】

戏子无情 提交于 2019-12-11 15:48:16
本章将对现在流行的 web 框架中的中间件技术原理进行分析,并介绍如何使用中间件技术将业务和非业务代码功能进行解耦。 代码泥潭 先来看一段代码: // middleware/hello.go package main func hello(wr http.ResponseWriter, r *http.Request) { wr.Write([]byte("hello")) } func main() { http.HandleFunc("/", hello) err := http.ListenAndServe(":8080", nil) ... } 这是一个典型的 web 服务,挂载了一个简单的路由。我们的线上服务一般也是从这样简单的服务开始逐渐拓展开去的。 现在突然来了一个新的需求,我们想要统计之前写的 hello 服务的处理耗时,需求很简单,我们对上面的程序进行少量修改: // middleware/hello_with_time_elapse.go var logger = log.New(os.Stdout, "", 0) func hello(wr http.ResponseWriter, r *http.Request) { timeStart := time.Now() wr.Write([]byte("hello")) timeElapsed := time

中间件

天涯浪子 提交于 2019-12-11 14:24:46
中间件(middleware)是介于 应用系统和系统软件之间 的一类软件,它使用系统软件所提供的 基础服务(功能) ,衔接网络上应用系统的各个部分或不同的应用,能够达到 资源共享、功能共享 的目的。目前,它并没有很严格的定义,但是普遍接受IDC的定义:中间件是一种独立的系统软件服务程序, 分布式应用软件借助这种软件在不同的技术之间共享资源 ,中间件位于客户机服务器的操作系统之上,管理计算资源和网络通信。从这个意义上可以用一个等式来表示中间件:中间件=平台+通信,这也就限定了 只有用于分布式系统中才能叫中间件 ,同时也把它与支撑软件和实用软件区分开来。 简介 中间件是一类连接软件组件和应用的计算机软件,它包括 一组服务 。以便于运行在一台或多台机器上的多个软件通过网络进行交互。该技术所提供的互操作性,推动了一致 分布式 体系架构的演进,该架构通常用于支持并简化那些复杂的 分布式应用程序 ,它包括 web服务器、 事务 监控器 和 消息队列 软件 。 中间件(middleware)是 基础软件 的一大类,属于可复用 软件 的范畴。顾名思义,中间件处于 操作系统 软件 与用户的 应用软件 的中间。 中间件在操作系统、网络和 数据库 之上, 应用软件 的下层,总的作用是为处于自己上层的 应用软件 提供 运行与开发的环境 ,帮助用户灵活、高效地开发和集成复杂的应用软件

Node.js教程

心不动则不痛 提交于 2019-12-09 18:37:03
目录 第一章 认识Node.js 1.1 安装node 1.2 node示例 1.3 第一个node程序 1.4 Supervisor介绍 1.5 nrm和nvm介绍 第二章 Node.js基础知识 2.1 web应用和第一个express应用 2.2 Route介绍和使用 2.3 express路由演示 2.4 express路由API使用(一) 2.5 express路由API使用(二) 2.6 路由拆分 2.7 中间件 2.8 异常处理 2.9 MySQL 2.10 Sequelize介绍和使用 第三章 从实战中熟悉操作 3.1 需求分析 3.2 API设计 3.3 模型创建 3.4 API里面具体使用ORM模型 3.5 运维和发布 第四章:总结与问题归纳 4.1 总结 4.2 问题归纳 第一章 认识Node.js 1.1 安装node http://nodejs.cn/download/ 检验是否安装完成 打开终端输入以下命令,是否出现版本号 node -vnpm -v 1.2 node示例 const os = require('os'); // 读取系统的cpu的信息const cpus = os.cpus(); //获取当前系统的cpu的数量console.log(cpus.length); //获取内存信息const total = os.totalmem();/

day58总结

ぐ巨炮叔叔 提交于 2019-12-09 17:12:05
目录 cookie, session, 及token的工作原理 cookie与session token cookie基本操作 orm操作cookie 基于cookie实现登录认证 session基本操作 django中间件 需要掌握的方法 了解的方法, 能简单口述即可 课外拓展题: RBAC cookie, session, 及token的工作原理 cookie与session 为什么要有这些技术? HTTP协议是无状态的, cookie和session是为了保持客户端的用户状态 cookie: 保存在客户端浏览器上的键值对, cookie虽然是保存在客户端浏览器上的键值对, 但它是由服务端设置的 浏览器有权禁止cookie的写入 session: 保存在服务端上面的键值对, session的工作机制是需要依赖于cookie的 token 加密算法, salt: xxx 用户信息 + xxx --> 随机字符串 用户信息 + 随机字符串 --> res, 浏览器的cookie保存res 之后浏览器发送cookie, 服务端将res拆分成: 用户信息 + 随机字符串 服务端将用户信息通过相同的加密算法得出一个结果与拆分出的随机字符串进行比对 优点: 一定程度保证了用户信息安全, 同时服务端不需要使用session存储用户信息 cookie基本操作 orm操作cookie

【深入浅出Node.js系列七】Connect模块解析

我怕爱的太早我们不能终老 提交于 2019-12-09 17:11:42
#0 系列目录# 深入浅出Node.js系列 【深入浅出Node.js系列一】什么是Node.js 【深入浅出Node.js系列二】Node.js&NPM的安装与配置 【深入浅出Node.js系列三】深入Node.js的模块机制 【深入浅出Node.js系列四】Node.js的事件机制 【深入浅出Node.js系列五】初探Node.js的异步I/O实现 【深入浅出Node.js系列六】Buffer那些事儿 【深入浅出Node.js系列七】Connect模块解析 #1 Connect模块背景# Node.js的愿望是成为一个能构建高速,可伸缩的网络应用的平台,它本身具有基于事件,异步,非阻塞,回调等特性,正是基于这样的一些特性,Node.js平台上的Web框架也具有不同于其他平台的一些特性,其中Connect是众多Web框架中的佼佼者。 Connect在它的官方介绍中,它是Node的一个中间件框架。超过18个捆绑的中间件和一些精选第三方中间件。尽管Connect可能不是性能最好的Node.jsWeb框架,但它却几乎是最为流行的Web框架。为何Connect能在众多框架中胜出,其原因不外乎有如下几个: 模型简单 中间件易于组合和插拔 中间件易于定制和优化 丰富的中间件 Connect自身十分简单, 其作用是基于Web服务器做中间件管理 。至于如何处理网络请求,