架构

软件构架实践(第2版)学习笔记

我的梦境 提交于 2019-12-28 03:26:40
一、软件架构、架构模式、参考模型、参考架构 1 、对于软件架构定义有很多种,通用的定义是:某个软件或计算机系统的软件架构是该系统的一个或多个结构,他们由软件元素,这些元素的外部可见属性以及这些元素之间的关系组成。 这里所说的某个元素的“外部可见属性”是指其他元素对该元素所做的假设,如它所提供的服务、性能特征、错误处理、共享资源的使用,等等。 其他的定义包括:架构是一种高层设计。架构是系统的总体结构。架构是一个软件或系统的组件、组件之间的相互关系以及管理其设计和演变的原理和方针的结构。架构是组件和连接器。 2 、架构模式是对元素和关系类型以及一组对其使用方式的限制的描述。 3 、参考模型是一种考虑数据流的功能划分。 4 、参考架构是映射到软件元素(它们相互协作,共同实现在参考模型中定义的功能)及元素之间数据流上的参考模型。 5 、软件架构、架构模式、参考模型、参考架构之间的关系: 6 、软件架构的重要性 (1) 、架构是涉众进行交流的手段。 (2) 、架构是早期设计决策的体现。 (3) 、架构是可传递、可重用的模型。 7 、架构定义中指出系统由多种结构构成的,下面列出一些常见的结构。 软件结构 关系 适用环境 分解 是一个子模块;与之共享秘密 资源分配、项目结构化和规划;信息隐藏、封装;配置控制 使用 要求正确出现 设计子集;设计扩展 分层 要求正确的出现、使用服务、提供抽象

软件构架实践(第2版)学习笔记

你说的曾经没有我的故事 提交于 2019-12-28 03:26:25
一、软件架构、架构模式、参考模型、参考架构 1、对于软件架构定义有很多种,通用的定义是:某个软件或计算机系统的软件架构是该系统的一个或多个结构,他们由软件元素,这些元素的外部可见属性以及这些元素之间的关系组成。 这里所说的某个元素的“外部可见属性”是指其他元素对该元素所做的假设,如它所提供的服务、性能特征、错误处理、共享资源的使用,等等。 其他的定义包括:架构是一种高层设计。架构是系统的总体结构。架构是一个软件或系统的组件、组件之间的相互关系以及管理其设计和演变的原理和方针的结构。架构是组件和连接器。 2、架构模式是对元素和关系类型以及一组对其使用方式的限制的描述。 3、参考模型是一种考虑数据流的功能划分。 4、参考架构是映射到软件元素(它们相互协作,共同实现在参考模型中定义的功能)及元素之间数据流上的参考模型。 5、软件架构、架构模式、参考模型、参考架构之间的关系: 6、软件架构的重要性 (1)、架构是涉众进行交流的手段。 (2)、架构是早期设计决策的体现。 (3)、架构是可传递、可重用的模型。 7、架构定义中指出系统由多种结构构成的,下面列出一些常见的结构。 软件结构 关系 适用环境 分解 是一个子模块;与之共享秘密 资源分配、项目结构化和规划;信息隐藏、封装;配置控制 使用 要求正确出现 设计子集;设计扩展 分层 要求正确的出现、使用服务、提供抽象 增量式开发;在“虚拟机

IE-LAB网络实验室:北京华为认证,思科ccie,sp ccie 新版EI CCNP有什么变化

☆樱花仙子☆ 提交于 2019-12-28 01:05:37
思科公司官宣2020年2月24号,RS-CCIE改革更新,CCNA融合成为了一个方向,而改动最大的还是CCNP和CCIE;RS-CCIE将会在2月23号之后退出历史舞台,取而代之的是新版EI(Enterprise Infrastructure),叫做企业基础架构。 而CCNP改革之后会有哪些变化呢?和CCNA一样也融合了其他方向的知识点,比如无线NP,设计NP会融合进企业基础架构的NP课程,另外会在Specialist增加新方向DevNet。 EI CCNP新加的内容有哪些呢?考试需要学习的知识点有五个部分: 网络基础架构——和之前的RS知识点完全一样,没有区别。 软件定义基础架构——新内容,添加的内容是SD-Access,SD-WAN SD-Access主要是添加了控制器,其余部分会在考试中不会特别困难 SD-WAN主要是针对企业网边界的问题。 传输技术和解决方案——和之前的RS知识点完全一样,没有区别。 基础设施安全性和服务——和之前的RS知识点完全一样,没区别。 基础设施自动化和可编程性——此内容只是涉及一些简单的软件编程,使用API界面对网络设备进行访问和修改,对编程方面会要求学习vManage API、Cisco DNA Center API、Cisco IOS XE API的相关内容。 与RS 5.0相比较起来,多出了两个部分,分别是软件定义基础架构

全面上云的第一家快递,果然是它!

孤人 提交于 2019-12-28 00:53:48
  <strong>今天,</strong><strong>申通快递宣布全面上云!</strong>   <strong>目前申通订单平台、巴枪系统等核心业务系统已稳定运行在阿里云上,云上日处理订单量近 3000 万。</strong>    申通技术总架构师醉易表示,申通选择全面上云,不只是变革基础架构,更是变革研发模式。“从内部看,基于传统架构的数据孤岛效应明显,导致信息不能共享,业务模式创新受阻。从外部看,包裹流转如何借助数据技术和 IoT 等技术提升效率已经成为核心议题。”   举例来说,基于传统 IOE 架构构建的系统无法支撑业务高速增长后的数据量膨胀,受限于容量订单系统只能保留3-6 个月的信息查询,且无法对历史包裹进行在线搜索,相关应用都会受阻。   上云过程中,申通对云服务供应商开展了梳理、设计、验证和切换等环节在内的全面选型考察。阿里云具备稳定的基础架构、强大的数据计算能力,且菜鸟网络的基础架构及物联网能力同样构建在阿里云上,申通最终选择全面迁移至阿里云。   目前,包括订单平台、巴枪系统等申通核心业务已经运行在阿里云上,日处理订单量近 3000 万。在刚刚过去的 2019 年双 11,申通快递拿下了包括“揽收率、签收率、服务质量综合得分”等在内的多项服务指标行业,通达系第一。   除了业务上的价值,全面上云还推动了申通内部的技术体系创新。醉易表示:“云服务让

系统架构:Web应用架构的新趋势---前端和后端分离的一点想法

…衆ロ難τιáo~ 提交于 2019-12-28 00:51:52
最近研究servlet,看书时候书里讲到了c/s架构到b/s架构的演变,讲servlet的书都很老了,现在的b/s架构已经不是几年前的b/s架构,其实b/s架构就是web应用开发,对于这样的架构我们现在应该考虑的是前端和后端的分离(注意:这里的后端是指服务端)。   Web前端现在是一个独立的技术工种,这个工种的产生主要是针对互联网行业的需求,我在以前的文章里曾经讲到过,一个大型互联网网站,例如想淘宝网,它绝对不是一个Web项目,而是一群web项目的集合,那么如果不在前端进行整合,这么多web项目前端开发一定存在大量重复劳动,并且运维时候也存在难以统一管理的问题。本文假想一个面对需要前端资源整合的组织,如何做到前后端分离的解决思路。本文详情如下: (一) 前后端分离的目的和作用   做Web开发也可以说是B/S架构开发,B端和S端从技术体系角度而言异构性很大,换而言之就是B端使用的技术和S端使用的技术不适于同一个体系,这样的结果导致实际开发中,很难做到专业分工,如果项目开发过程中管控不到位,这样的问题可能会影响到整个项目的开发质量,因此前后端分离的目的之一就是要做到专业化分工,提高项目的质量和开发效率。   随着技术的发展,当下的Web开发形势已经和以前有了很大的不同,早期的Web项目是一个封闭的项目,用户从浏览器里看到的页面直到后台数据库都是在一个项目里集成的

腾讯物联网操作系统TencentOS tiny线上移植大赛,王者机器人、QQ公仔、定制开发板等礼品等

隐身守侯 提交于 2019-12-27 19:21:51
一、产品介绍 TencentOS tiny是腾讯面向物联网领域开发的实时操作系统,具有低功耗,低资源占用,模块化,安全可靠等特点,可有效提升物联网终端产品开发效率。TencentOS tiny 提供精简的 RTOS 内核,内核组件可裁剪可配置,可快速移植到多种主流 MCU (如STM32全系列)及模组芯片上。而且,基于RTOS内核提供了丰富的物联网组件,内部集成主流物联网协议栈(如 CoAP/MQTT/TLS/DTLS/LoRaWAN/NB-IoT 等),可助力物联网终端设备及业务快速接入腾讯云物联网平台。 二、活动规则 目前TencentOS tiny已于2019年9月18日在github上正式对外开源,开源后获得了较好的影响力,上线一个星期内,登录github热榜第二名,目前已累计获得star数量超3000+,fork数量超680+。开发者生态发展良好,微信群吸引开发者800+,QQ群开发者680+,技术交流氛围活跃,目前已经吸引多名开发者参与代码贡献。为了促进TencentOS tiny和腾讯IoT生态进一步发展,现启动TencentOS tiny线上移植比赛活动,鼓励广大开发者一起来丰富TencentOS tiny的硬件生态。 2.1 线上移植比赛分为两类 A类 :适配新的 IP核(arch中目前未支持的架构) 参考硬件类型(以CPU 架构区分),开发者可从中任选: 1

数据库优化笔记

和自甴很熟 提交于 2019-12-27 18:13:54
各个数据来源于各个论坛 我只是搬运工 优化思路 1.从硬件到架构. 硬件 --> 系统 --> 应用 --> 数据库 --> 架构(高可用、读写分离、分库分表) 2.从数据库表到硬件 架构: (1)、从需求设计开始:数据优化表结构、字段类型、字段索引、锁,后期=>分表,分库、读写分离等等。 (2)、从数据库查询层面:优化SQL语句,合理使用字段索引。 数据库: (3) 、从数据库内核层面:版本,innodb,mylsam引擎,配置mysql性能优化参数 应用架构: (4)、从代码层面增强性能: jdbc事务ACID,尽可能避免数据库直接查询过大数据量给客户端 使用缓存和NoSQL数据库方式存储,如MongoDB/Memcached/Redis来缓解高并发下数据库 查询的压力。 编程手段防止SQL注入:使用JDBC PreparedStatement按位插入或查询;正则表达式过滤(非法字符串过滤)。 (5)、搭建数据库集群。 硬件系统: (6)、提升数据库服务器硬件配置,系统参数配置 一 。参数配置 一。数据库结构表设计 1 , 数据优化表结构、字段类型、字段索引、分表,分库、读写分离等等。 ============================================================== (1) 表设计 字段一般根据需求来 遵循三大范式 , 概念

MySQL复制原理

蹲街弑〆低调 提交于 2019-12-27 17:48:19
mysql从3.23开始提供复制功能,复制指将主库的ddl和dml操作通过binlog文件传送到从库上执行,从而保持主库和从库数据同步。mysql支持一台主库同时向多台从库复制,从库同时也可以作为其他从库的主库,从而实现级联复制功能。mysql复制功能相当于oracle数据库的逻辑dg功能。 mysql复制原理大致如下: 1)mysql主库事务提交时会把数据变更作为event记录在binlog文件中,mysql主库的sync_binlog参数控制binlog日志刷新到磁盘。 2)主库推送binlog中的event到从库的中继日志relay log中,之后从库根据中继日志重做数据变更操作,通过逻辑复制来达到与主库同步的目的。 mysql通过3个线程完成复制功能:其中binlog dump线程跑在主库上,io线程和sql线程跑在从库上。当从库启动复制(start slave)时,首先创建io线程连接主库,主库随后创建binlog dump线程读取event发送给io线程,io线程获取到event后更新到从库中继日志relay log中,之后从库sql线程根据relay log内容在从库从做操作。从而完成mysql复制功能。mysql复制结构如图: 主库通过show processlist命令可以看到binlog dump进程,如下: mysql> show processlist \G

斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时3

可紊 提交于 2019-12-27 17:31:15
课时3 计算机视觉历史回顾与介绍下 ImageNet有5000万张图片,全部都是人工清洗过得,标注了超过2万个分类。 CS231n将聚焦于视觉识别问题,图像分类关注的是大图整体;物体检测告诉你东西具体出现在图片的哪里以及物体之间的联系是什么之类的。 CNN是深度学习架构的一种,2012年之前的imageNet,都是特征+支持向量机的,也是分层结构,但没有端到端的特征; Kunihiko Fukushima提出了一个模型,称为Neocognitron,是神经网络架构的开端。 数据本身并没有什么意义,但是在深度学习架构中,数据成了高性能架构的驱动力,来执行端到端的训练,帮助解决过拟合问题,只要有足量的数据。 愿景 :给电脑一张图片,电脑可以输出描述性文字(一句话之类的)。 来源: https://www.cnblogs.com/bxyan/p/6730138.html

一、微服务架构Spring Cloud的基本介绍

百般思念 提交于 2019-12-27 17:26:02
1. 前言 之前接触过不少的分布式、微服务等相关技术,但是从未真正系统的总结过,趁着年底有些空闲的时间,写点博客来总结、梳理一下自己知识点。要知道程序员是一个不断学习的过程。我最初接触的语言并非是Java,因为本身对网站技术比较感兴趣,所以在高中时候就接触了HTML超文本传输语言,那时候先研究的是网页三剑客:Dreamweaver、Fireworks、Flash三个东西。后来接触了Java,进而开发网站项目使用Java Web,使用最多的是SSM、SSH架构,也是最为流行的,甚至目前有些新开单体应用项目依旧使用。单体应用项目是相对于分布式项目而言的,但现在开发的单体项目基本上都是用Spring Boot来开发,Spring Boot这个东西一旦用上之后,就很难再去使用SSM、SSH这种配置很复杂的东西,Spring Boot确实简化了我们繁琐的一些配置,使我们更加专注的进行业务开发。废话不多说了,前言这里面主要强点一点本文章写的,是本人对Spring Cloud知识点的复盘和总结,有些可能会借鉴别人的一些知识点和看法,也有可能写的一些地方稍有误差,请大家积极指正。 2. Spring Cloud基本架构 介绍Spring Cloud之前,首先谈一谈架构的演变过程。上面讲到单体应用,其实微服务架构和单体应用之间,还有SOA面向服务、ESB企业服务总线等