架构

OA/MIS/BPM

不羁岁月 提交于 2019-12-25 02:39:17
上次人家问我什么是OA,MIS,BPM 我在这里简单说一下,以后大家去面试时,针对以三种对各自做过的系统,做一个分类,免得面试官问你,你自己做过的,还不知道是属于哪一类的 OA是OFFICE AUTOMATION的缩写,本意为利用技术的手段提高办公的效率,进而实现办公的自动化处理。OA从最初的以大规模采用复印机等办公设备为标志的初级阶段,发展到今天的以运用网络和计算机为标志的现阶段,对 企业办公方式的改变和效率的提高起到了积极的促进作用。 OA软件解决企业的日常管理规范化、增加企业的可控性、提高企业运转的效率的基本问题,范围涉及日常行政管理、各种事项的审批、办公资源的管理、多人多部门的协同办公、以及各种信息的沟通与传递。可以概括的说,OA软件跨越了生产、销售、财务等具体的业务范畴,更集中关注于企业日常办公的效率和可控性,是企业提高整体运转能力不可缺少的软件工具。 OA发展的阶段 工具阶段: --纸张信息数字化,纯文字、表格处理、存储、查询,工具阶段 MIS阶段: --数字信息采集汇总,流程、表单管理,局域共享,C/S结构为主流网络协同工作时代:--互联网环境,对信息全方位、多角度共享及协同要求,基于智能、门户、管理及业务一体化整合,B/S结构为主流 MIS(管理信息系统--Management Information System)系统 ,是一个由人

App后台开发架构实践笔记

坚强是说给别人听的谎言 提交于 2019-12-25 00:33:32
1 App后台入门 1.1 App后台的功能 (1)远程存储数据; (2)消息中转。 1.2 App后台架构 架构设计的流程 (1) 根据App的设计,梳理出App的业务流程; (2) 把每个业务流程可能会遇到的问题整理出来; (3) 根据整理出来的问题,探讨可行的技术解决方案; (4) 把所有的技术解决方案有机融合,就是一个App后台的初步架构。 架构设计的特点 (1) 架构是和业务紧密相关; (2) 架构的演变是由业务驱动; (3) 架构不是为了炫耀技术。 1.3 App和App后台的通信 (1) 用HTTP协议还是私有协议; (2) 用长连接还是短连接; (3) 通信数据格式(JSON、XML) 1.4 选择服务器 (1) 传统IDC; (2) 云服务器。 1.5 选择开发语言 (1) 不同语言有其擅长的业务场景和性能特性; (2) 考虑开发效率和运行效率; (3) 同一个项目不同业务逻辑可以用不同语言实现。 1.6 敏捷开发 (1) Sprint计划会议; (2) 迭代开发; (3) 每日例会; (4) 评审会议; (5) 回顾会议; (6) 及时反馈。 2 App后台基础技术 2.1 从业务逻辑提炼API接口 从业务逻辑到提炼API可分为下面6个阶段: (1) 业务逻辑思维导图; 根据需求抽象出业务逻辑。 (2) 功能-业务逻辑思维导图; 支撑业务逻辑的功能模块, (3)

ADMEMS软件架构的4个阶段

ε祈祈猫儿з 提交于 2019-12-24 23:37:50
业界软件架构设计的方法论很多,各有各自的应用场景和特点,下文结合ADMEMS(Architecture Design Method has been Extended to Method System)架构设计方法论说明软件架构的过程: 架构阶段 目标 方式方法 现实工作场景 预架构阶段 全面理解需求;需求结构化,摒弃“需求列表”,建立二维需求观(ADMEMS矩阵)。 使用ADMEMS矩阵方法,捋清需求间关系和发现衍生需求。 1、与人:与项目经理、需求分析师等内部需求人员了解需求;与客户了解需求(不建议架构师做需求分析师角色)。 2、与物:了解《需求规格说明书》等需求文档。" 3、对需求有什么问题,反馈给售前或销售,可能会参与拜访客户或电话会议。 4、销售或售前有时会要求提供一个大致的工作量,以便他们初步评估项目可行性。 概念架构 高层组件及其关系 1、初步设计,基于关键功能,借助鲁棒图进行以发现职责为目的的初步设计(不是必须)。 2、高层分割,将复杂系统切分为多个二级系统或多个子系统。 3、考虑非功能需求,采用ADMEMS推荐的目标-场景-决策表。 1、参与内部讨论:项目可行性分析、讨论,从需求、技术、人力、风险等角度提供建议。 2、项目投标准备:参与投标团队的技术方案编写,编写系统架构章节,解决招标书上技术问题的问答。 3、参与项目讲标:作为讲标团队成员参与项目讲标

Druid实时大数据笔记02 -架构

人盡茶涼 提交于 2019-12-24 17:59:42
一,Druid架构预览 1)实时节点 (realtime node): 实时摄入实时数据,以及生成Segment数据文件。 2) 历史节点(Historical node): 加载已生成好的数据文件,以供数据查询。 3) 查询节点 (broker node) : 对外提供数据查询服务,并同时从实时节点与历史节点查询数据,合并后返回给调用方。 4)协调节点(Coordinator node): 负责历史节点的数据负载均衡,以及通过规则管理数据的生命周期。 同时集群需要以下三类的依赖: 元数据库:存储Druid集群的原数据信息,以及Segment的相关信息 一般用mysql 或 PostgreSQL 备注,知识点: 1) 二叉查找树 2)二叉平衡树 3) B+树 B+树也是有缺点的: 最后出现了LSM-tree,Hbase就是使用的LMS-tree: Druid的架构特点: 所以Druid的架构特点带来的显著优势: Segment 是数据的实际屋里存储,是按时间范围去存储的,所以查询按时间查询是非常快的。 Druid的扩展: 来源: CSDN 作者: 黄瓜炖啤酒鸭 链接: https://blog.csdn.net/qq_31866793/article/details/103682557

事件驱动的数据管理

邮差的信 提交于 2019-12-24 14:12:48
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 一、微服务以及分布式数据管理中存在的问题 单体应用通常使用单个关系型数据库,由此带来的好处在于应用能够使用 ACID 事务,后者提供了重要的操作特性: 原子化: 原子粒度的更改 一致性: 数据库的状态始终保持一致 隔离: 并发执行的事务显示为串行执行 持久: 事务一旦提交就不会被撤销 如此,应用能够简单地开始事务、更改(插入、更新和删除)多行、以及提交事务。 使用关系型数据库的另一大好处是它支持 SQL。SQL 是一门丰富、可声明的和标准化的查询预约。用户能够轻松通过查询将多个表中的数据组合起来,然后 RDBMS 查询调度器决定执行查询的最优方法。用户不必关心底层细节,比如如何访问数据库。此外,由于所有的应用数据在一个数据库中,很容易查询。 然而,微服务架构中的数据访问变得复杂许多。每个微服务拥有的数据专门用于该微服务,仅通过其 API 访问。这种数据封装保证了微服务松散耦合,并且可以独立更新。但如果多个服务访问相同数据,架构更新会耗费时间、也需要所有服务的协调更新。 更糟糕的是,不同的微服务通常使用不同类型的数据库。现代应用存储和处理各种类型的数据,而关系型数据库并非总是好选择。对于一些使用场景,特定的 NoSQL 数据库能提供更方便的数据模型、更好的性能和可扩展性。譬如,服务使用 Elasticsearch

微服务实践(五):微服务的事件驱动数据管理

浪子不回头ぞ 提交于 2019-12-24 14:09:08
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 本系列七篇文章列表如下: 微服务实战(一):微服务架构的优势与不足 微服务实战(二):使用API Gateway 微服务实战(三):深入微服务架构的进程间通信 微服务实战(四):服务发现的可行方案以及实践案例 微服务实践(五):微服务的事件驱动数据管理 微服务实践(六):选择微服务部署策略 微服务实践(七):从单体式架构迁移到微服务架构 【编者的话】本文是使用微服务创建应用系列的第五篇文章。第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点;第二和第三篇描述了微服务架构模块间通讯的不同方面;第四篇研究了服务发现中的问题。本篇中,我们从另外一个角度研究一下微服务架构带来的分布式数据管理问题。 1.1 微服务和分布式数据管理问题 单体式应用一般都会有一个关系型数据库,由此带来的好处是应用可以使用 ACID transactions,可以带来一些重要的操作特性: 原子性 – 任何改变都是原子性的 一致性 – 数据库状态一直是一致性的 隔离性 – 即使交易并发执行,看起来也是串行的 Durable – 一旦交易提交了就不可回滚 鉴于以上特性,应用可以简化为:开始一个交易,改变(插入,删除,更新)很多行,然后提交这些交易。 使用关系型数据库带来另外一个优势在于提供SQL(功能强大,可声明的,表转化的查询语言

数据中心网络架构

橙三吉。 提交于 2019-12-24 12:16:50
传统数据中心网络架构 传统数据中新网络架构通常是3层结构,(园区网一般也是3层结构)Cisco称之为:分级的互联网络模型,包含三层: Core 核心层 : 提供高速转发,为多个汇聚层提供连接性 Aggregation 汇聚层 :汇聚连接接入交换机,同时提供其他服务(FW、SLB、等) Access 接入层 :物理连接服务器,一般放在机柜顶端,也称ToR交换机 一个三层架构图如下: 汇聚是网络的分界点,汇聚交换机以下是L2网络,以上是L3网络,每组汇聚交换机是一个pod,根据业务分区分模块。pod内是一个或者多个VLAN网络,一个POD对应一个广播域。 这种架构部署简单,(vlan+xstp)技术成熟。 VLAN 、Xstp 使用vlan、xstp原因: 1、BUM(广播,未知单播,组播) vlan技术把一个大的物理二层域划分成多个小的逻辑二层域,这逻辑的二层域被称为vlan,同一个vlan内可以二层通信,不通vlan之间隔离,这样广播的范围被局限在一个vlan内,不会扩散到整个物理二层域 vlan还有简化管理,提高安全性等。。 2、环路及环路形成的广播风暴 如果是单设备单链路组成的3层架构,是不存在环路以及环路带来的广播,但是这种网络可靠性比较差,因为没有任何的备份设备和备份链路,一旦某个设备或者链路发生故障,故障点下的所有主机就无法连上网络。 为了提高网络的可靠性

云计算带来的网络技术新趋势的发展历程?

前提是你 提交于 2019-12-24 05:35:09
云计算是一种IT资源的使用模式,通过网络以按需、易扩展的方式获得所需的硬件、平台、软件及服务资源。 在近期召开的“第九届中国云计算标准和应用大会”上,工信部表示,我国企业上云空间巨大,云计算会迎来新一轮更为广阔的蓬勃发展机遇期。 我国云计算产业近年来保持强劲发展态势,年均增速超过30%,是全球增速最快的市场之一,未来提升空间巨大。 经过十几年的发展,云计算已经形成了较为完善的生态系统,那么云计算技术还会带来什么新领域?云即网络,云技术新领域意味着网络技术新趋势是什么? SDN(软件定义网络)和NFV(网络功能虚拟化)是近年来兴起的网络技术新趋势。 SDN是一种新兴的基于软件的网络架构及技术,其重点在于南向接口的标准化,即SDN控制平台软件与各种网络设备的对接;但伴随混合云的兴起,SDN的重点转移到对北向接口的支撑,即对各种混合云业务和应用负载提供灵活的网络支撑。 三种广泛的SDN架构定义 1)ONF SDN架构 ONF提出的SDN典型架构分为三层,由上到下为应用层,包括各种不同业务和应用;控制层,主要负责处理数据平面资源的编排、维护和网络拓扑等,基础设施层,负责数据处理、转发和状态收集等。 SDN架构 ONF SDN架构更多的是从网络资源用户角度出发,通过对网络的抽象推动更快速的业务创新。 2)ETSI NFV架构 由于现有网络存在缺陷以及软件技术对网络的巨大影响

部署LNMP架构之安装PHP

落爺英雄遲暮 提交于 2019-12-24 05:14:46
一、什么是PHP PHP即“超文本预处理器”,是一种通用开源脚本语言。PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言。PHP独特的语法混合了C、Java、Perl以及 PHP 自创的语法。利于学习,使用广泛,主要适用于Web开发领域。 与LAMP架构大致原理类似,有一点不同的是在LNMP结构里php会启动一个服务:php-fpm,而LAMP中php只是作为Apache的一个模块存在。Nginx会把用户的动态请求交给php服务去处理,这个php服务就会去和数据库进行交互。用户的静态请求Nginx会直接处理,Nginx处理静态请求的速度要比apache快很多性能上要好,所以apache和Nginx在动态请求处理上区别不大,但如果是静态请求处理的话就会明显发现Nginx要快于apache,而且Nginx能承受的并发量要比apache大,可以承受好几万的并发量,所以大一些的网站都会使用Nginx作为web服务器。 二、实验 1.安装部署环境包 2.将php安装包解压到/opt目录下 3.安装配置功能模块 4.make && make install 5.修改核心配置文件 6.开启php-fpm模块 需开启配置文件中的监控引擎pid 7.修改扩展配置文件 8.开启服务检查端口 9.将php的所有命令便于系统识别 10.让nginx支持PHP功能 location ~ \

ELK架构浅析

只谈情不闲聊 提交于 2019-12-24 04:20:28
转自:http://blog.csdn.net/lively1982/article/details/50678657 ELK是Elasticsearch、Logstash、Kibana的简称,这三者是核心套件,但并非全部。后文的四种基本架构中将逐一介绍应用到的其它套件。 Elasticsearch是实时全文搜索和分析引擎,提供搜集、分析、存储数据三大功能;是一套开放REST和JAVA API等结构提供高效搜索功能,可扩展的分布式系统。它构建于Apache Lucene搜索引擎库之上。 Logstash是一个用来搜集、分析、过滤日志的工具。它支持几乎任何类型的日志,包括系统日志、错误日志和自定义应用程序日志。它可以从许多来源接收日志,这些来源包括 syslog、消息传递(例如 RabbitMQ)和JMX,它能够以多种方式输出数据,包括电子邮件、websockets和Elasticsearch。 Kibana是一个基于Web的图形界面,用于搜索、分析和可视化存储在 Elasticsearch指标中的日志数据。它利用Elasticsearch的REST接口来检索数据,不仅允许用户创建他们自己的数据的定制仪表板视图,还允许他们以特殊的方式查询和过滤数据。 我们先谈谈第一种ELK架构,如图1,这是最简单的一种ELK架构方式。优点是搭建简单,易于上手。缺点是Logstash耗资源较大