精华内容
参与话题
问答
  • 技术架构

    万次阅读 2019-01-28 16:55:41
    框架概要 现有产品问题 用户多,分布广泛;维护难。 大流量,数据请求量大;...1、传统系统架构,耦合性太高,需求变化之后需要大量二次开发。本架构低耦合高内聚,开发升级周期短; 2、传统系统...

    网址:http://ivononic.com/3q1T

    • 框架概要

    现有产品问题

    • 用户多,分布广泛;维护难。
    • 大流量,数据请求量大;大数据请求加载数据慢。
    • 垂直式开发;维护难,版本升级混乱。
    • 功能多,变更快,频繁发布,升级出现未知问题。
    • 未模块、组件式开发,影响开发效率和bug修复。
    • 以用户为中心,用户需求变更造成版本过多。

     

    1、传统系统架构,耦合性太高,需求变化之后需要大量二次开发。本架构低耦合高内聚,开发升级周期短;

    2、传统系统架构无法适应海量数据存储计算。本架构可以满足海量并发计算;

    3、传统架构集成难度大,接口适应差。本架构可以适配各种流式/消息队列/文本各类接口。

    4、本架构使用最新开源技术,支持分布式部署,保证架构先进性

     

    分布式架构特点

    • 系统拆分
      1. 对于一个复杂系统,首先对其分拆,拆成多个子系统。每个子系统自己的存储/Service/接口层,各个子系统独立开发、测试、部署、运维。 解决性能瓶颈、方便维护升级。
    • 分库分表
      1. 因公司产品数据量巨大,已达到大数据级别,后续对产品进行分库、分表存储。
    • 系统模块、组件化
      1. 系统复杂、构建效率慢,后续对产品模块化、组件化、高内聚,内耦合,提高复用性,扩展性。
    • 面向接口开发
      1. 公司产品多、技术架构不统一、语言(VB、C#、JAVA)不统一,产品系统数据对接、维护困难,后续架构以面向服务方式提供接口,解决各业务组件之间相互交互问题。

     

    二、框架特点

    • 采用目前安全性高、扩展性好,框架技术最完善的JAVA语言作为框架开发语言
    • 采用springboot+springcloud,使框架具有分层开发、模块开发、接口实现数据的沟通,使系统有极强的扩展性
    • 基于模块组件开发,方便平台模块快速组装
    • 与OS、中间件、数据库系统无关
    • 所使用技术开源免费
    • 支持分布式部署、监控
    • 支持大数据存储、分析、计算

     

    三、框架设计说明

    框架架构图

    架构层次说明

    客户层

     

    展现层

    基于HTML/HTML5/Vue/CSS3开发web前端页面,兼容主流浏览器。展现层和数据层完全分离,通过跨域实现前后端数据通信。

     

    业务层

    核心业务基于Spring Cloud 架构实现微服务化。

     

    数据层

    对于平台中的所有应用,都存在着各种各样的配置信息、业务数据、系统运行状态等信息。数据库层对这些数据信息本身进行归档,提供快速查询的底层接口,并保证数据的完整性、可靠性。

    在数据库方面, 框架可以无缝对接主流关系性数据库的包括 PostgreSQL、Oracle、Mysql 和 MSSql。

     

    基础服务层

    用户权限管理

    日志服务管理

    模型管理

    缓存服务管理

    任务调度

    四、框架技术架构图

     

     

     

     

     

     

     

    技术版本列表

    序号

    前/后/数据库

    技术

    版本

    说明

    1.  

    前端

    Jquery

    3.x

    Js工具类

    1.  

    VUE

    2.5

    Js工具类

    1.  

    Bootstrap

    4.0.0

    基于jqueryUI框架

    1.  

    iView

    3.x

    基于vue的UI框架

    1.  

    echarts

    4.x

    图表展示组件

    1.  

    Spreadjs

    v11.2

    报表展示组件

    1.  

    yFiles

    待定

    可视化组件

    1.  

    后端

    JDK

    1.8

     

    1.  

    SpringBoot

    2.x

    底层框架

    1.  

    SpringCloud

    Dalston.SR5

    微服务解决方案

    1.  

    Shiro

    1.3

    安全(授权)框架

    1.  

    Activiti

    6.x

    工作流

    1.  

    Druid

    1.x

    连接池

    1.  

    FastJosn

    1.2x

    Json处理

    1.  

    大数据

    PostgreSQL

    10.4

    关系性数据库

    1.  

    Redis

    4.0

    内存性数据库

    1.  

    Elasticsearch

    6.2

    搜索引擎

     

    五、技术说明

    SpringBoot

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程

    特点

    1. 创建独立的Spring应用程序

    2. 嵌入的Tomcat,无需部署WAR文件

    3. 简化Maven配置

    4. 自动配置Spring

    5. 提供生产就绪型功能,如指标,健康检查和外部配置

    6. 绝对没有代码生成和对XML没有要求配置

    Spring Boot非常契合微服务的概念,可以结合Spring Boot与Spring Cloud和Docker技术来构建微服务并部署到云端:

    一个可执行jar即为一个独立服务

    很容易加载到容器,每个服务可以在自己的容器(例如docker)中运行

    通过一个脚本就可以实现配置与部署,很适合云端部署,并且自动扩展也更容易

    简单而言,即Spring Boot使编码更简单,使配置更简单,使部署更简单,使监控更简单。

     

    SpringCloud

    SpringCloud是基于SpringBoot的一套实现微服务的框架。

    Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

     

    SpringCloud 组件架构图

    Shiro

    Apache Shiro™是一个功能强大且易于使用的Java安全框架,可执行身份验证,授权,加密和会话管理。借助Shiro易于理解的API,您可以快速轻松地保护任何应用程序 - 从最小的移动应用程序到最大的Web和企业应用程序。

    Shiro特性

    shiro除了基本的认证,授权,会话管理,加密之外,还有许多额外的特性

     

    Shiro架构图:

    ElasticSearch

    Elasticsearch:是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

     

    展开全文
  • 应用架构、业务架构、技术架构和业务流程图详解

    万次阅读 多人点赞 2018-10-09 18:48:32
    应用架构(Application Architecture)是描述了IT系统功能和技术实现的内容。应用架构分为以下两个不同的层次: 企业级的应用架构:企业层面的应用架构起到了统一规划、承上启下的作用,向上承接了企业战略发展方向...

    应用架构

    应用架构(Application Architecture)是描述了IT系统功能和技术实现的内容。应用架构分为以下两个不同的层次:

    企业级的应用架构:企业层面的应用架构起到了统一规划、承上启下的作用,向上承接了企业战略发展方向和业务模式,向下规划和指导企业各个IT系统的定位和功能。在企业架构中,应用架构是最重要和工作量最大的部分,他包括了企业的应用架构蓝图、架构标准/原则、系统的边界和定义、系统间的关联关系等方面的内容。

    单个系统的应用架构:在开发或设计单一IT系统时,设计系统的主要模块和功能点,系统技术实现是从前端展示到业务处理逻辑,到后台数据是如何架构的。这方面的工作一般属于项目组,而不是企业架构的范畴,不过各个系统的架构设计需要遵循企业总体应用架构原则。

    应用架构主要以架构图的方式描述系统的组成和框架,一般从系统功能和系统技术层次两个架构视角进行设计:

    1. 系统功能视角的应用架构图

    ​​​​​

    2. 系统技术层次视角的应用架构图 

    业务架构

    ----摘自《自主变革的基石 制造企业管理技术及SOA实践》

        主要考虑部署,例如你不同的应用如何分别部署,如何支持灵活扩展、大并发量、安全性等,需要画出物理网络部署图。按照应用进行划分的话,还需要考虑是否支持分布式SOA

        每一个典型业务,都可以把它想象为一台运行中的机器,而其中的每个业务组件便是构成这台机器的功能模块。之所以要利用组件来进行业务架构的搭建,正是因为组件具有上述特性,这些特性能确保搭建的典型业务架构图,既完整有效、又无功能冗余,而且有利于今后展开系统架构的组件分析和设计。这样的架构能告诉我们:是由哪些内容相对独立的业务模块构成了这项典型业务。如对其中的每一个业务组件之间的作业关联关系、相互沟通的方式进行研究,就能掌握整个业务架构的协同作业水平;如果对每一个业务组件都采用前述外特性定义的方法加以描述,就能掌握这些组件当前能完成哪些独立的业务内容以及能达成哪些业务目标。本节重点介绍利用业务架构图分析典型业务的分析方法,分析的对象就是业务架构在功能构成方面的完整性和合理性。

       首先,需要表达出当前的典型业务是由哪些业务组件构成的。基本可以断言,大家在开始按上述三个层次描述某个典型业务的构成时,一定会对应该如何定义管理层和决策层的业务组件感到困惑,这是非常自然的反应。因为,至今以来,大家总是在研究执行层的作业方式,不会去、也不敢去研究管理层和决策层的作业能力。但在不远的将来,我们的企业注定要进入业务协同和系统整合的时代,所以,大家现在应该开始学习如何定义和建立管理层和决策层业务组件的具体方法了。

    典型的整车生产企业产品开发业务的业务架构示意图

     

       如典型的整车生产企业产品开发业务的业务架构示意图所示:当我们对于某项典型业务的业务组件的构成进行初步的归纳后,能够得到该项业务的一个整体的框架结构,我们可以称之为“业务架构图”,以及在这个框架内,企业中三个层级的员工在该项业务上分别从事着哪些作业内容。分析执行层的业务作业方式和作业规律,你觉得很正常,但如果让你去分析作为你上司的管理层、甚至决策层的作业方式和作业规律时,你也许会感到有所不安。这种心理反应,实际上正好反映出目前很多企业中的一种能力倒置现象的产生原因。很多人都了解这样的事实,那就是,企业中的很多升职后的中高层领导,在就位后的很长时间内,不能进入应有的管理角色中,这绝对不只是个人能力的差异问题,而主要是因为我们的中高层领导总是习惯地认为:研究执行层的作业方式和规律才是他们的主要职责,而没有注意到自己的作业内容和作业方式在整个作业链条中的重要作用,其结果,自然是管理层和决策层领导们的业绩,只好取决于执行层作业人员的努力程度,这种习惯也导致我们的中高层领导们不会去研究影响自己判断能力和决策能力的技术瓶颈是什么。而很多新出现的现代管理模式,实际上就是为了解决中高层领导们的作业能力问题,或是为了解决三个业务层级之间的信息沟通能力的问题,这也就是为什么业务架构分析人员还必须分析战略层和管理层作业形态的原因。下面将分别说明上述三个不同层次作业组件的特点:

    (1)战略层业务组件

       战略层业务组件自然是用于定义和规范战略层决策人员的业务行为的。那么,哪些人员可以归类于战略决策层之中呢?一般说来,在典型的制造企业中,部长以上的领导应被理解为企业战略决策人员,因为,他们通常已脱离具体的、单一的业务管理,他们通常会被要求在某个综合业务的专业领域提出战略性规划,并按规划进行部署和指挥。但在很多企业中,还设置有经营管理课或战略策划部等机构,其中的一些专门从事为决策层领导进行战略数据分析和提出具体方案的高级管理人员,也应该被认为是战略层业务组件中的业务人员。

     战略层业务组件通常应按如下的作业基准进行设计:

    - 对于特定的典型业务,是否具备有效的战略规划编制和调控能力。

    这里提到的调控能力,是指当企业经营发生重大的内部或外部环境变化时,企业内部是否具备能对既定规划及经营目标做出及时分析和调整的响应机制和具体的作业标准。

    - 制定、发布以及变更经营战略规划的流程和作业规则是否明确。

    这只是一个规范作业流程的问题,在很多企业内部,通常具有手工审批,进行传递的流程,有时存在指令重复、重要度不明、不易追溯等管理问题。

    - 是否能及时、准确地获取相关战略指标的动态统计数据(用于决策)。

    这是直接影响战略层决策能力的重要条件。这里提到的及时和准确,往往可以作为衡量一个企业管理技术水平的标尺。

    - 战略指标数据是否能明确指向具体部门或具体业务组件(用于能力评价)。

    这同样是一项检验企业管理技术水准的重要课题,在此后的第七和第八章中,将对此课题展开详细的讨论。

    - 是否具有根据设置的危机监控标准,及时触发决策机制的系统反应能力(确保决策的及时性)。

    这是一个技术含量最高的课题,任何企业都很难达到这样的水准,只有在管理方法和技术手段方面同时达到很高水准的企业,才能有效展开这一类课题的研究活动。但这一课题显然是所有企业都需要瞄准的目标。

       当然,上述的作业基准未必一定完整和精准,只是按照对一般指挥机构职能的理解来考虑的。例如,企业每年需要设置生产成本控制的战略目标,如经营层的业务人员(实际上是一些领导们)能按图2的成本控制图谱获取所有部门和所有组件的目标达成数据的话,自然就能及时做出相应的评价、指导和决策调整。关于如何实时采集和展现业务状态数据、以及如何设计战略决策信息舱的详细情况,请参见第八章《商业智能和可视化管理》的内容。

    单车成本构成示意图

    (2)管理层业务组件

    由于管理层处于决策层和执行层之间,从信息沟通的角度来说,具有上情下达、下情上报的职责,一般情况下,上情下达比较容易实现,但下情上达则相对困难,存在诸多的管理和技术问题。管理层业务组件应以提升管理层控制业务过程的能力、以及提高管理层和执行层及战略层之间的信息沟通能力为主线进行设计。管理层作业的重点应按如下思路设置:

    - 对于某个典型业务的企业战略,是否具有明确的计划编制、监督实施等作业标准。

    如部门接受了达成企业某个战略,或实现某个企业年度指标的任务时,应该按照既定的作业标准,进行自身业务能力的分析、指标的分解、作业分工以及过程控制方法的确定等作业,以确保该项战略目标或年度绩效指标能按计划展开,并确保其实施过程能得到有效的监控。

    - 相关的典型业务的过程状态是否能有效掌控。

    这一条可以认为是管理层的主要业务方向之一,如一个中层管理人员对如何监控业务过程缺乏最起码的研究,那就基本可以断言,他肯定是一个缺乏最起码业务过程控制能力的管理人员。

    - 对于某些典型业务或某些关键的作业节点,能否实时、有效地评价员工的执行力。

    管理人员之所以需要掌握员工或团队的执行力,不仅仅有利于达成业务目标的正确预测,更重要的是将有利于管理人员发现团队中意愿不足和能力不足的员工,以便及时加以指导。另外,如能实现员工执行力的数据统计,还将有利于事后的正确评价。

    - 对于部门重点业务以及管理改进目标,能否掌握员工知识贡献度的不同。

    能设置符合这一方向的业务组件,其先决条件是必须已经实现了基本有效的知识管理,否则,这样的要求就偏高了一点。作为一个以创新为主的业务部门的管理人员,必须研究如何做才能达成这样的目的,关于这一点,将在第八章中进行详细的介绍。

    - 对于所承担的企业战略指标部分,是否具有实时采集、分析和上报的机制。

    如果管理层职员基本具备这样的意识,就基本上能够得到他们上司的认可,至少能够保持住当前的官帽。如果能够建立这样的机制,具备这样的能力,那就完全不用担心自己的升迁问题了,因为,能够实现及时、准确地“下情上报”的管理人员,已经充分具备了能随时取悦上司的资本。

       总之,从信息沟通的功能来说,设置中层管理业务组件的目的,一是能够掌握企业战略动态,及时编制、和实施部门业务计划;二是要能够实时掌握执行层业务的作业状态(进度、执行力、作业量、知识贡献等)、并能够及时处理、分析执行层的业务统计数据,以便及时对员工进行指导、督促和评价,以及顺利履行按规定向上通报的职责。根据以上思路设置管理层业务组件,从表面来看,似乎主要关注的是中层管理者们处理信息的能力,但大家必须清醒地认识到这样一个事实,那就是:没有充分有效的反映执行层作业状态的信息,管理层就不可能进行有效的控制、指导和评价,作为管理者的能力,也就不可能得到充分地展现。

    (3)执行层业务组件

        执行层业务组件的设计重点,当然首先要关注组件的设置是否有利于实现所属典型业务的目标,其次是希望它能以最少的资源投入来确保业务目标的实现。如果企业单一系统的建设卓有成效,则基本可以认为该企业的执行层业务组件应该是处于一种良好的状态。但在当前加强目标管理、绩效管理的企业,所有执行层组件应该还要考虑是否需要设置向管理层提供信息服务的功能。归纳起来,应考虑以下要素:

    - 是否能确保实现典型业务的业务目标。

    要回答上述问题,必须对典型业务有完整的认识,所以,必须尽量把有利于实现业务目标的业务活动、操作方法以及技术手段都纳入研讨的范围。也许,在考虑如何才能实现典型业务的业务目标时,暂时可以不要过多地去推敲效率的好坏。

    - 实现业务目标的效率如何。

    如果企业对于作业效率有很高的要求,则在设计业务组件时,或许要更多地考虑组件的合并、组件业务流程的连通方式的改进、执行力的监控等有利于提高作业效率的问题。

    - 业务过程失控的危险是否已完全消除。

    企业中的有些业务,如必须需要通过设置控制基准值,并通过逻辑条件或数学运算规则来发现业务过程失控、指标达成失败等现象时、则需要考虑追加自动监控组件,如果没有自动监控的条件,也应明确人工监控的具体方法。

    - 业务状态数据是否可实时采集、统计和发布。

    对于必须控制进程的业务,则通常需要考虑追加进度监控组件,至少应明确关键节点的进度监控方法。

    - 业务组件之间的协同是否顺畅。

     这一条要求是指业务组件之间的流程连通方式、信息共享方式是否符合业务目标的要求,如果不能达到要求,则要追加某种提升协同能力的辅助组件。

        总之,执行层业务组件是实现典型业务目标的骨干部分,而管理层业务组件的合理设置可确保执行层业务过程得到实时的控制,而战略层业务组件则应起到目标调整、资源调整的决策作用。

    在进行上述三个层面的业务组件设置时,如果已经掌握了相对先进的、行业内的最佳实践模式,并对该典型业务进行过组件构成合理性的分析,或者根据日常的业务不良投诉记录,已经掌握了某些组件的问题,那么,在分析和描述该项典型业务时,可明确地表达出该典型业务在构成上的缺失或冗余项,以及当前这些业务组件的业务能力的总体状态。在分析中,最容易发现的是业务组件的缺失项,即一些目前我们还没有开展的业务,而这些业务的开展恰恰有利于企业最新战略的实现。但发现所谓冗余项,则通常是一个不容易完成的任务,因为,大多数员工不会斗胆挑战现有业务存在的合理性,因为大家已经习惯于把时间打发在这些日常业务上了。但作为业务分析人员,建议大家必须时常保持高度的怀疑态度,因为任何业务组件的存在都要消耗资源,为此,任何业务组件都存在压缩、分解乃至取消的可能,如果能通过业务的重组或优化,凸现出某些业务的冗余功能,并最终取消之。这才是分析人员应该加以重点研讨的方向,才是大家更值得骄傲的地方。真所谓“居人之所恶,故几于道”,我们业务分析人员,没有必要对自己始终保持对现实的批判态度而心怀歉疚,反倒应该随时提醒自己,要始终保持对现有业务合理性的怀疑态度,在这方面,做“恶人”比做“好人”,更能体现业务分析人员的职业价值。对于上述的分析结果,自然应在业务架构图中表达出来,具体的表达方式可参见图2-4。在图中,采用的是用色彩区分来表达组件业务能力状态的方法,虽然这种表达方法比较直观,但肯定不是唯一的表达方法,在此建议大家不必拘泥于形式,只要能容易理解即可。

    和最佳实践模式对标或完成调查和分析后的业务热点分析图

        不过,有一点,希望大家注意,上述的架构图是一张企业级的典型业务架构概略图,所以,对于每一个典型业务,都包含了所有相关部门的业务组件。但实际上,我们的很多具体分析,往往只须针对一个部门的业务展开即可。在这种情况下,也可以按照上述的方法编制部门级业务架构图,只是这种架构图在大多数情况下,不需要考虑战略层的组件设计,所以,只采用两层的架构图也是没有问题的。另外,根据需要,对于部门级的业务,还可以编制一种横向按时间顺序展开的架构图,但这种架构图不利于展开全局性的分析,所以,通常不采用,这里就不作详细说明了。

       根据以上两个图例,读者是否不再介意使用‘业务架构’这样的表达方法了呢?为此可以认为,即使是相对抽象的业务也是可以用相对直观的架构形式来表达的。这样的表达方式不仅仅只是为了直观地进行业务的归纳,更重要的是为了直观地表达出现有业务架构的缺陷。图3中,红色的组件表示缺失、冗余或存在严重缺陷的组件,此类组件我们通常称之为“热点组件”(这样的架构图也可称之为热点组件示意图)。红色组件通常是表示尚未实施改进对策的热点组件。粉红色的组件则表示该组件虽有问题,但目前正在对策中。黄色的组件表示存在当前可以默许的缺陷,但随着企业的发展也许需要加以关注的组件,通常其评价的平均得分低于3分。绿色则表明该模块当前运行正常,暂时不需要特别关注的业务。当面对如此直观明了的业务架构图。没有理由不对缺失的和有缺陷的模块部分进行进一步的问题定位分析、并制定改进方案。但怎样才能知道A组件是缺失,应该考虑增设,或B组件有缺陷,需要改进呢?这便是后面的章节中将要重点介绍的核心内容。

    下面这张就是画的比较细的业务架构图

    ​​​​​

    技术架构

    从技术层面描述,主要是分层模型,例如持久层、数据层、逻辑层、应用层、表现层等,然后每层使用什么技术框架,例如Spring、hibernate、ioc、MVC、成熟的类库、中间件、WebService等,分别说明,要求这些技术能够将整个系统的主要实现概括。

    技术框架(technological Framework)是整个或部分技术系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,技术框架是可被技术开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。

    实例图:

    业务流程

    业务流程,是为达到特定的价值目标而由不同的人分别共同完成的一系列活动。活动之间不仅有严格的先后顺序限定,而且活动的内容、方式、责任等也都必须有明确的安排和界定,以使不同活动在不同岗位角色之间进行转手交接成为可能。活动与活动之间在时间和空间上的转移可以有较大的跨度。而狭义的业务流程,则认为它仅仅是与客户价值的满足相联系的一系列活动。

    流程图

    竖式业务流程图就是要业务流从上到下,看起来一目了然。

    竖式业务流程图可以划制成矩阵式流程图,就可以同时说明业务、工作的流程,还可以在流程中明确各自的分工和职责,关键的控制点等。业务流程要重点注意可靠性、资源利用率、反应性、灵活性、较低的管理成本五方面问题。

    综述

    良好的业务流程设计是保证企业灵活运行的关键。清晰的定义业务流程之间的接口,可以降低业务之间的耦合度,使得对局部业务流程的改变不会对全局的流程产生灾难性的后果。

    对整个企业的业务流程进行建模是一个相当复杂而有挑战性的工作,但是并不代表没有方法可循。一般来说,建模需要处理好以下几个方面:

    建立流程

    主要的业务流程是由直接存在于企业的价值链条上的一系列活动及其之间的关系构成的。一般来说包含了采购、生产、销售等活动。 辅助的业务流程是由为主要业务流程提供服务的一系列活动及其之间的关系构成的。一般来说包含了管理、后勤保障、财务等等活动。

    层次关系

    业务流程之间的层次关系反应业务建模由总体到部分、由宏观到微观的逻辑关系。这样一个层次关系也符合人类的思维习惯,有利于企业业务模型的建立。一般来说,我们可以先建立主要业务流程的总体运行过程,然后对其中的每项活动进行细化,建立相对独立的子业务流程以及为其服务的辅助业务流程

    业务流程之间的层次关系一定程度上也反映了企业部门之间的层次关系。为使得所建立的业务流程能够更顺畅的运行,业务流程的改进与企业组织结构的优化是一个相互制约、相互促进的过程。

    合作关系

    企业不同的业务流程之间以及构成总体的业务流程的各个子流程之间往往存在着形式多样的合作关系。一个业务流程可以为其它的一个或多个并行的业务流程服务,也可能以其它的业务流程的执行为前提。可能某个业务流程是必须经过的,也可能在特定条件下是不必经过的。在组织结构上,同级的多个部门往往会构成业务流程上的合作关系。

    进QQ群(779809018)免费领取学习资源,欢迎大家,加入我的微信公众号:代码帮 ,免费分享资源。

    本公众号将秉持活到老学到老学习无休止的交流分享开源精神,汇聚于互联网和个人学习工作的精华干货知识,一切来于互联网,反馈回互联网。
    目前研究领域:大数据、机器学习、深度学习、人工智能、数据挖掘、数据分析。 语言涉及:Java、Scala、Python、Shell、Linux等 。同时还涉及平常所使用的手机、电脑和互联网上的使用技巧、问题和实用软件。 只要你一直关注和呆在群里,每天必须有收获,讨论和答疑QQ群:大数据和人工智能总群(779809018)微信公众号(代码帮)每天分享最新IT、大数据和人工智能新技术。

    展开全文
  • 支付产品模块是按照支付场景来为业务方提供支付服务。这个模块一般位于支付网关之后,支付渠道之前。 它根据支付能力将不同的支付渠道封装成统一的接口,通过支付网关来对外提供服务...支付产品在支付系统参考架构图...

    支付产品模块是按照支付场景来为业务方提供支付服务。这个模块一般位于支付网关之后,支付渠道之前。 它根据支付能力将不同的支付渠道封装成统一的接口,通过支付网关来对外提供服务。所以,从微服务的角度,支付产品本身也是一个代理模式的微服务,它透过支付网关响应业务方请求, 进行一些统一处理后,分发到不同的支付渠道去执行,最后将执行结果做处理后,通过支付网关再回传给业务方。

    支付产品在支付系统参考架构图中之位置,请看下图所示:

    产品分类

    在不同的公司由于接入渠道和应用的差异,对支付产品分类略有不同。综合支付场景和流程,支付产品可以分为如下几类:

    支付产品是由支付系统对支付渠道进行封装而对业务方提供的支付能力。整体上来说,可以提供如下支付产品:

    1. 快捷支付

    用户在完成绑卡之后,在支付的时候,不需要再输入卡或者身份信息,仅需要输入支付密码就可以完成支付。对于小额度的支付,甚至可以开通小额免密,直接完成支付。 这种支付方式不会打断用户的体验,是目前主要的在线支付方式。一般快捷支付产品是通过封装银行或者第三方支付平台提供的快捷支付接口或者代付接口来实现的。

    2. 网银支付

    用户在支付的时候,需要跳转到银行网银页面来完成支付。在网银页面,需要输入用户的卡号和身份信息。这种支付方式会中断用户当前的体验,一般仅用于PC Web上的支付。 网银支付是封装银行提供的网银支付来实现。

    3. 协议支付

    协议支付也称代收或者代扣,代收指渠道授权商户可以从用户的银行账户中扣款,一般用于定期扣款,不用于日常消费。比如水电煤气、有线电视费。协议支付是通过封装银行、第三方支付提供的代扣或者快捷接口来实现。

    4. 平台支付

    使用微信、支付宝等第三方支付平台来完成支付。使用时,一般需要用户预先安装支付平台系统(手机上),注册并登录到第三方支付平台,并且已经在该平台上完成绑卡等操作。 由于微信、支付宝已经被大量使用,用户也产生对这些平台的信任,平台支付往往是电商公司的主要支付方式。

    5. 外卡支付

    对于由海外支付的需求,还需要提供外卡支付支持。 国内不少支付渠道都能支持外卡支付,如支付宝全球购等。直接对接Paypal,也是目前用的最多的外卡支付渠道。 关于外卡支付,以后会有专文介绍。

    6. 话费支付

    对于有包月小额类型的支付,手机话费也是一个不错的选择。目前也有一些平台可以支持话费支付,比如虹软、联动优势等。

    7. 虚币支付

    不少公司会有自己的虚拟币,比如京豆、Q币等。这些虚币也可以作为一种支付方式。

    8. 账户支付

    也成为余额支付、零钱支付等。 指为用户建立本地账户, 支持充值,之后可以使用这个账户来完成支付。

    9. 信用支付

    如京东的白条,蚂蚁花呗等,指使用信用账户进行透支,类似信用卡支付。

    10. 代付

    和代扣相反,代付是平台将钱打给用户。

    每一种支付方式的详细功能将在后续的各个章节中介绍。 这里先简要介绍支付产品模块的通用功能。

    模块功能

    支出产品根据其支付能力,对外提供不同的功能。整体上来说,一般支付产品需要提供如下接口:

    1. 签约和解约

    在快捷支付、代扣等产品中,用户在使用前,需要先完成签约。签约可以在渠道侧进行,一般第三方支付采用这种方式,当电商需要接入时,让第三方给授权。 银行和银联的签约一般是在电商侧进行, 电商侧负责收集用户的信息,调用银行和银联的接口进行签约。签约后,后续的支付行为就使用签约号来进行,无需再输入个人信息。 和签约相对应,解约则是取消签约关系。

    2. 支付

    支付是少不了的操作。 不同产品中支付行为不一样。快捷支付是在电商服务器上发起,请求渠道进行支付;网银支付则是跳转到银行支付网关上进行; 而账户支付、虚币支付,则是在本地进行的。

    3. 撤销和退款

    有些渠道区分撤销和退款,比如银联、农行等,撤销指取消当天在渠道侧未结算的交易; 而退款仅针对已经结算的交易。有些渠道则不作区分。

    4. 查询签约状态

    对于需要签约的交易,可以通过这个接口来查询签约状态。

    5. 查询订单状态

    通过这个接口来查询支付清单状态以及退款的订单状态。

    6. 预授权

    预授权交易用于受理方向持卡人的发卡方确认交易许可。受理方将预估的消费金额作为预授权金额,发送给持卡人的发卡方。

    7. 预授权撤销

    对已成功的预授权交易,在结算前使用预授权撤销交易,通知发卡方取消付款承诺。预授权撤销交易必须是对原始预授权交易或追加预授权交易最终承兑金额的全额撤销。

    8. 预授权完成交易

    对已批准的预授权交易,用预授权完成做支付结算。

    9. 预授权完成撤销

    预授权完成撤销交易必须是对原始预授权完成交易的全额撤销。预授权完成撤销后的预授权仍然有效。

    10. 对账

    通过FTP或者HTTP方式提供对账文件供商户侧对账。

    11. 余额查询

    查询商户的交易账户的余额,避免由于余额不足导致交易失败。 注意,不是客户的余额。 当然,不是所有的银行或者第三方支付都提供这个接口。

    业务流程

    上述操作,除了对账、查单外,每个操作实现的主流程,一般会包括参数校验,支付路由,生成订单,风险评估,调用渠道服务,更新订单和发送消息这7步,对于一些比较复杂的服务,还会涉及到异步同通知处理的步骤。

    1. 执行参数校验

    所有的支付操作,都需要对输入执行参数校验,避免接口受到攻击。

    • 验证输入参数中各字段的有效性验证,比如用户ID,商户ID,价格,返回地址等参数。

    • 验证账户状态。交易主体、交易对手等账户的状态是处于可交易的状态。

    • 验证订单:如果涉及到预单,还需要验证订单号的有效性,订单状态是未支付。为了避免用户缓存某个URL地址,还需要校验下单时间和支付时间是否超过预定的间隔。

    • 验证签名。签名也是为了防止支付接口被伪造。 一般签名是使用分发给商户的key来对输入参数拼接成的字符串做MD5 Hash或者RSA加密,然后作为一个参数随其他参数一起提交到服务器端。如支付网关设计所介绍,签名验证也可以在网关中统一完成。

    2. 根据支付路由寻找合适的支付服务

    根据用户选择的支付方式确定用来完成该操作的合适的支付渠道。用户指定的支付方式不一定是最终的执行支付的渠道。比如用户选择通过工行信用卡来执行支付,但是我们没有实现和工行的对接,而是可以通过第三方支付,比如支付宝、微信支付、易宝支付,或者银联来完成。那如何选择合适的支付渠道,就通过支付路由来实现。支付路由会综合考虑收费、渠道的可用性等因素来选择最优方案。

    3. 评估交易风险

    检查本次交易是否有风险。风控接口返回三种结果:阻断交易、增强验证和放行交易。

    1) 阻断交易,说明该交易是高风险的,需要终止,不执行第5个步骤;

    2) 增强验证,说明该交易有一定的风险,需要确认下是不是用户本人在操作。这可以通过发送短信验证码或者其他可以验证用户身份的方式来做校验,验证通过后,可以继续执行该交易。

    3) 放行交易,即本次交易是安全的,可以继续往下走。

    4. 生成交易订单

    将订单信息持久化到数据库中。当访问压力大的时候,数据库写入会成为一个瓶颈。

    5. 调用支付渠道提供的服务

    所有的支付服务都需要第三方通道来完成执行。一般银行渠道的调用比较简单,可以直接返回结果。一些第三方支付,支付宝,微信支付等,会通过异步接口来告知支付结果。

    6. 更新订单

    对于同步返回的结果,需要在主线程中更新订单的状态,标记是支付成功还是失败。对于异步返回的渠道,需要在异步程序中处理。

    7. 发送消息

    通过消息来通知相关系统关于订单的变更。风控,信用BI等,都需要依赖这数据做准实时计算。

    8. 异步通知

    如上述流程,其中涉及到调用远程接口,其延迟不可控。如果调用方一直阻塞等待,很容易超时。引入异步通知机制,可以让调用方在主线程中尽快返回,通过异步线程来得到支付结果。对于通过异步来获取支付结果的渠道接口,也需要对应的在异步通知中将结果返回给调用方。 异步通知需要调用方提供一个回调地址,一般以http或者https的方式。这就有技术风险,如果调用失败,还需要重试。而重试不能过于频繁,需要逐步拉大每一次重试的时间间隔。 在异步处理程序中,订单根据处理结果变更状态后,也要发消息通知相关系统。

    支付系统架构整体设计

    每个公司根据其业务和公司发展的不同阶段,所设计的支付系统也会有所不同。我们先看看互联网公司的一些典型的支付系统架构。

    支付宝

    我们先看看业内最强的支付宝系统。架构图如下:

    这个整体架构上并没有与众不同之处。在模块划分上,这个图显示的是最顶层的划分,也无法告知更多细节。 但支付宝架构文档有两个搞支付平台设计的人必须仔细揣摩的要点。 一个是账务处理。在记账方面,涉及到内外两个子系统,外部子系统是单边账,满足线上性能需求;内部子系统走复式记账,满足财务需求。在清结算这个章节中也是基于这个模型来详细介绍如何记账、对账和平账。

    另一个亮点是柔性事务处理,利用消息机制来实现跨系统的事务处理,避免数据库锁导致的性能问题。

    京东金融

    来自京东支付平台总体架构设计 。如下图:

    京东金融是在网银在线的基础上发展起来的。 网银在线的原班技术人员有不少来自易宝公司,在京东收购之后,又引入了支付宝的人才。

    因而从架构上受这两个公司的影响很大。

    去哪儿

    这是来自去哪儿公司分享的支付产品架构。请看下图:

    美团的支付平台架构

    来自美团的支付平台规划架构 。这是2015年的文档。 2016年美团才拿到支付牌照。 从这个架构,大家也能知道为什么美团必须拿到支付牌照。

    这些架构文档全部来自互联网公开资料。 对于架构是否真实反映实际系统情况,需要大家自行判断。 我们以这些文档为基础,分析支付系统的应有的软件架构。

    参考架构

    一般来说,支付系统典型架构会包含如下模块:

    支付系统从架构上来说,分为三层;

    1. 支撑层: 用来支持核心系统的基础软件包和基础设施, 包括运维监控系统、日志分析系统等。

    2. 核心层: 支付系统的核心模块,内部又分为两个部分: 支付核心模块以及支付服务模块。

    3. 产品层: 通过核心层提供的服务组合起来,对最终用户、商户、运营管理人员提供的系统。

    支撑系统

    支撑系统是一个公司提供给支付系统运行的基础设施。 主要包括如下子系统:

    1. 运维监控: 支付系统在下运行过程中不可避免的会受到各种内部和外部的干扰,光纤被挖断、黑客攻击、数据库被误删、上线系统中有bug等等,运维人员必须在第一时间内对这些意外事件作出响应,又不能够一天24小时盯着。这就需要一个运维监控系统来协助完成。

    2. 日志分析: 日志是支付系统统计分析、运维监控的重要依据。公司需要提供基础设施来支持日志统一收集和分析。

    3. 短信平台: 短信在支付系统中有重要作用: 身份验证、安全登录、找回密码、以及报警监控,都需要短信的支持。

    4. 安全机制: 安全是支付的生命线。 SSL、证书系统、防刷接口等,都是支付的必要设施。

    5. 统计报表: 支付数据的可视化展示,是公司进行决策的基础。

    远程连接管理、分布式计算、消息机制、全文检索、文件传输、数据存储、机器学习等,都是构建大型系统所必须的基础软件,这里不再一一详细介绍。

    支付核心系统

    支付核心系统指用户执行支付的核心流程,包括:

    1. 用户从支付应用启动支付流程。

    2. 支付应用根据应用和用户选择的支付工具来调用对应的支付产品来执行支付。

    3. 支付路由根据支付工具、渠道费率、接口稳定性等因素选择合适的支付渠道来落地支付。

    4. 支付渠道调用银行、第三方支付等渠道提供的接口来执行支付操作,最终落地资金转移。

    支付服务系统

    支持支付核心系统所提供的功能。服务系统又分为基础服务系统、资金系统、风控和信用系统。

    基础服务系统提供支撑线上支付系统运行的基础业务功能:

    1. 客户信息管理:包括对用户、商户的实名身份、基本信息、协议的管理;

    2. 卡券管理: 对优惠券、代金券、折扣券的制作、发放、使用流程的管理;

    3. 支付通道管理: 通道接口、配置参数、费用、限额以及QOS的管理;

    4. 账户和账务系统: 管理账户信息以及交易流水、记账凭证等。这里的账务一般指对接线上系统的账务,采用单边账的记账方式。 内部账记录在会计核算系统中。

    5. 订单系统: 一般订单系统可以独立于业务系统来实现的。这里的订单,主要指支付订单。

    资金系统指围绕财务会计而产生的后台资金核实、调度和管理的系统,包括:

    1. 会计核算: 提供会计科目、内部账务、试算平衡、日切、流水登记、核算和归档的功能。

    2. 资金管理: 管理公司在各个支付渠道的头寸,在余额不足时进行打款。 对第三方支付公司,还需要对备付金进行管理。

    3. 清算分润: 对于有分润需求的业务,还需要提供清分清算、对账处理和计费分润功能。

    风控系统是支付系统必备的基础功能,所有的支付行为必须做风险评估并采取对应的措施;信用系统是在风控基础上发展的高级功能,京东的白条,蚂蚁花呗等,都是成功的案例。

    支付应用

    支撑系统、核心系统和服务系统,在每个互联网公司的架构上都是大同小异的,都是必不可少的模块。而支付应用是每个公司根据自己的业务来构建的,各不相同。

    总体来说,可以按照使用对象分为针对最终用户的应用、针对商户的应用、针对运营人员的运营管理、BI和风控后台。

    展开全文
  • 漫谈《大型网站技术架构

    万次阅读 2017-04-04 20:37:14
    本文的内容来自阿里巴巴员工李智慧的著作《大型网站技术架构 核心原理与案例分析》,这本书很值得一看,故整理之。

    转载请标明出处:
    http://blog.csdn.net/forezp/article/details/69196483
    本文出自方志朋的博客

    本文的内容来自阿里巴巴员工李智慧的著作《大型网站技术架构 核心原理与案例分析》,这本书很值得一看,故整理之。

    一、大型网站的架构演化

    1.1 大型网站软件的特点

    • 高并发、大流量
    • 高可用:系统7*24小时不间断提供服务
    • 海量数据
    • 用户分布广泛
    • 安全环境恶劣
    • 需求变更快,发布频繁
    • 渐进式发展

    1.2 大型网站架构演化发展历程

    • **初始阶段的网站架构:**例如 LAMP 架构
    • **应用和数据服务分离:**三台服务器:应用服务器,文件服务器和数据库服务器
    • **使用缓存改善网站性能:**分为两种,缓存在应用服务器上的本地缓存和缓存在专门的分布式缓存服务器的远程缓存
    • **使用应用服务器集群改善网站并发处理能力:**通过负载均衡调度服务器来分发请求到应用服务器集群中的任何一台机器
    • 数据库读写分离: 主写从读。
    • **使用反向代理和 CDN 加速网站响应:**这两者基本原理都是缓存。反向代理部署在网站的中心机房,CDN 部署在网络提供商的机房。
    • 使用分布式文件系统和分布式数据库系统: 将不同的业务分布,将不同的业务的数据库部署在不同的机器上。
    • 使用 NoSQL 和搜索引擎: 源自互联网技术,对可伸缩的分布式有更好的支持。
    • **业务拆分:**将整个网站通过分而治之的手段将网站业务分成不同的产品线。
    • 分布式服务: 比如最近流行的微服务,横行、纵向切片,将服务集群化,相互关联化。

    在这里插入图片描述

    1.3 大型网站架构演化的价值观

    • 大型网站架构的核心价值是随网站所需灵活应对
    • 驱动大型网站技术发展的主要力量是网站的业务发展

    1.4 网站架构设计误区

    • 一味追随大公司的解决方案
    • 为了技术而技术
    • 企图用技术解决所有问题

    二、大型网站架构模式

    2.1 网站架构模式

    • 分层
    • 分割
    • 分布式
      • 分布式应用和服务
      • 分布式静态资源
      • 分布式数据和存储
      • 分布式计算
    • 集群
    • 缓存
      • Cdn
      • 反向代理
      • 本地缓存
      • 分布式缓存
    • 异步
      • 提供系统可用性
      • 加快网站响应速度
      • 消除高并发访问高峰
    • 冗余 服务器冗余运行,数据库冗余备份
    • 自动化
    • 安全 : 防止XSS攻击、sql注入

    三、大型网站核心架构要素

    • 性能
    • 可用性
    • 伸缩性 不断地向服务器集群加服务器
    • 扩张性

    四、瞬时响应:网站的高性能架构

    4.1 网站性能测试

    • 不同视角下网站的性能
      • 用户视角网站性能 响应时间
      • 开发人员视角的网站性能 响应时间、并发亮
      • 运维人员视角的网站性能 资源
    • 性能测试指标
      • 响应时间
      • 并发数
      • 吞吐量 qps tps hps
      • 性能计数器
    • 性能测试方法
      • 性能测试
      • 负载测试
      • 压力测试
      • 稳定性测试
    • 性能测试报告
    • 性能优化策略
      • 性能分析
      • 性能优化

    4.2 web前端性能优化

    • 浏览器访问优化
      • 减少http请求
      • 使用浏览器缓存
      • 启用压缩
      • css放在网页最上面 js最下面
      • 减少cookie传输
    • CDN加速。(content distribute network)
    • 反向代理

    4.3 应用服务器性能优化

    • 分布式缓存
      • 缓存的基本原理
      • 合理的使用缓存
        • 频繁修改数据
        • 没有热点的访问
        • 数据不一致与脏读
        • 缓存可用性
        • 缓存预热
        • 缓存穿透 缓存不存在,直接访问数据库
      • 分布式缓存架构
      • Memcached
    • 异步操作
    • 使用集群
    • 代码优化
      • 多线程
      • 资源复用
      • 数据结构
      • 垃圾回收

    4.4 存储性能优化

    • 机械硬盘 vs. 固态硬盘
    • B+ 树 vs. LSM 树
    • RAID vs. HDFS

    五、万无一失:网站的高可用架构

    5.1 网站可用性的度量和考核

    • 网站可行性度量
    • 网站可用性考核

    5.2 高可用的网站架构

    5.3 高可用的应用

    • 通过负载均衡进行无状态服务的失效转移
    • 应用服务器集群的session管理
      • session复制
      • session绑定
      • 利用cookie记录 session
      • session服务器

    5.4 高可用的应用

    • 分级管理
    • 超时设置
    • 异步调用
    • 服务降级 随机拒绝访问(twitter)
    • 幂等性设计

    5.5 高可用的数据

    • CAP原理
      • 数据持久性
      • 数据可访问性
      • 数据一致性
        • 数据强一致性
        • 数据用户一致性
        • 数据最终一致性
    • 数据备份
    • 失效转移
      • 失效确认
      • 访问转移
      • 数据恢复

    5.6 高可用软件质量保障

    • 网站发布
    • 自动化测试
    • 预发布验证
    • 代码控制
      • 主干开发,分支发布
      • 分支开发,主干发布
    • 自动化发布
    • 灰度发布

    5.7 网站运行监控

    • 监控数据采集
      • 用户行为日志收集
      • 服务器性能检测
      • 运行数据报告
    • 监控管理
      • 系统报警
      • 失效转移
      • 自动优雅降级

    六、永无止尽:网站的伸缩性架构

    6.1 网站伸缩性设计

    • 不同功能进行物理分离实现伸缩
    • 单一功能通过集群实现伸缩

    6.2 应用服务器集群伸缩设计

    • http重定向负载均衡
    • Dns域名解析负载均衡
    • 反向代理负载均衡
    • ip负载均衡
    • 数据链路层负载均衡
    • 负载均衡算法
      • 轮询
      • 加权轮询
      • 随机
      • 最少链接
      • 原地址散列

    6.3 分布式缓存集群的伸缩性设计

    • Memcached分布式缓存集群的访问模型
    • Memcached分布式缓存集群的伸缩性挑战
    • 分布式缓存的一致性hash算法

    6.4 数据存储服务器集群的伸缩性设计

    • 关系数据库集群的伸缩性设计
    • Nosql数据库的伸缩性设计

    七、随机应变:网站的可扩展性架构

    7.1 构建可扩展性的网站架构

    7.2 利用分布式消息队列降低系统耦合性

    • 事件驱动架构
    • 分布式消息队列

    7.3 利用分布式服务打造可复用的业务平台

    • web service与企业级分布式服务
    • 大型网站分布式服务的需求与特点
      • 负载均衡
      • 失效转移
      • 高效的远程通信
      • 整合异构系统
      • 对应用最少侵入
      • 版本控制
      • 实时监控
    • 分布式服务框架设计

    7.4 可扩展的数据结构

    7.5 利用开放平台建设网站生态圈

    • api接口
    • 协议转移
    • 安全
    • 审计
    • 路由
    • 流程

    8、固若金汤:网站的安全架构

    8.1 道高一尺魔高一丈的网站应用攻击与防御

    • xss攻击
      • 消毒
      • httponly
    • 注入攻击
      • 开源
      • 错误回显
      • 盲注
      • 消毒
      • 参数绑定
    • csrf攻击
      • 表单token
      • 验证码
      • referer check
    • 其他攻击和漏洞
      • error code
      • html注释
      • 文件上传
      • 路径遍历
    • web应用防火墙
    • 网站安全漏洞扫描

    8.2 信息加密技术及密钥安全管理

    • 单向散列加密
    • 对称加密
    • 非对称加密
    • 密钥安全管理

    8.3 信息过滤与反垃圾

    • 文本匹配
    • 分类算法
    • 黑名单

    8.4 电子商务风险控制

    • 风险
      • 账号风险
      • 买家风险
      • 卖家风险
      • 交易风险
    • 风控
      • 规则引擎
      • 统计模型

    SouthEast
    扫码关注公众号有惊喜

    (转载本站文章请注明作者和出处 方志朋的博客

    展开全文
  • 技术架构的图片 1.简单的struts+hibernate的开发框架 2.struts+spring+hibernate框架 3.springmvc+spring+mybatis的框架
  • 开源大数据技术架构设计

    万人学习 2015-09-23 11:19:44
    主讲: 钱广锐(IBM研究员/技术讲师/教授) 苏再卿(IBM开发组长/工程师/技术讲师) 【课程主题】 开源大数据技术架构设计
  • 技术架构框架

    千次阅读 2017-09-05 14:50:11
    理想的技术架构框架是,把应用、平台、基础设施相对独立地拆分为以下几层:一、系统层系统层也叫基础设施层。包括系统级的硬、软件两层。底层硬件包括主机、各种服务器、PC、存储设备、网络设备等。第二层系统软件...
  • 如何画出一张合格的技术架构图?

    万次阅读 2019-04-11 09:23:57
    当我们想用一张或几张图来描述我们的系统时,是不是... 画出来的图到底是产品图功能图还是技术图又或是大杂烩? 图上的框框有点少是不是要找点儿框框加进来? 布局怎么画都不满意…… 如果有同样的困...
  • 用户可以在线分享文字、图片和短视频,也可以查看某个好友最近的分享,网站每日有大量的文字,图片和短视频读写请求(读请求远大于写请求),你是网站架构师,请根据你的理解自行设计该网站技术架构,给出网站技术...
  • 云计算技术架构与实践

    千次下载 热门讨论 2014-11-17 17:29:04
    本书深入浅出地介绍了云计算的基本概念,探讨了云计算的商业模式,展望了云计算对社会的影响及其未来的发展趋势,深入介绍了云计算的关键技术和体系架构,接着对云计算的编程实践进行了清晰讲解,便于读者理论联系...
  • 集群NAS技术架构

    万次阅读 热门讨论 2011-05-15 17:19:00
    集群NAS是一种横向扩展(Scale-out)存储架构,具有容量和性能线性扩展的优势,已经得到全球市场的认可,集群NAS已经成为主流存储技术之一。这里主要剖析集群NAS的三种技术架构,并简单介绍了开源集群NAS解决方案。
  • 技术架构如何做?

    万次阅读 2018-12-02 02:15:05
    作为技术人,大家应该都希望自己能够成为技术专家、架构师。但是在当今纷繁复杂的技术中,如何缕清自己的思路,让自己始终处于一个主动的地位,其实非常重要的。构建自己的知识网,让自己的知识是有条理(整理过后)...
  • Redis集群技术架构

    千次阅读 2016-07-13 16:18:25
    Redis Cluster采用无中心架构,每个节点都保存数据和整个集群的节点状态 每个节点都和集群中的其它节点保持连接 使用gossip协议传播信息以及发现新的节点 节点不作为client请求的代理,client应该根据节点返回的错误...
  • Magento技术架构简介

    千次阅读 2014-06-04 23:34:53
    http://magentophp.blogspot.jp/2010/08/magento-architecture.html
  • 腾讯微信技术架构

    千次阅读 2013-02-10 00:06:37
    技术架构上,微信是如何做到的?日前,在腾讯大讲堂在中山大学校园宣讲活动上,腾讯广研助理总经理、微信技术总监周颢在两小时的演讲中揭开了微信背后的秘密。周颢,2001年毕业于华南理工大学,计算机专业硕士。...
  • 新浪微博技术架构

    千次阅读 2013-02-07 23:24:00
    下文为微博平台首席架构师杨卫华演讲。以下为演讲实录:大家下午好,在座的大部分都是技术开发者,技术开发者往往对微博这个产品非常关心。最晚的一次,是12点多收到一个邮件说想了解一下微博底层是
  • ATMS技术架构说明

    千次阅读 2013-02-13 11:38:41
    ATMS技术架构说明 http://ishare.iask.sina.com.cn/f/35731051.html
  • 视频直播技术架构的新解读

    千人学习 2016-09-06 10:19:58
    音视频直播技术架构教程:视频直播秒开背后的技术与优化经验、webrtc音视频通话技术、直播互动体验、移动直播技术上的坑与优化经验分享。
  • 架构可细分为业务架构、应用架构、技术架构, 业务架构是战略,应用架构是战术,技术架构是装备。 应用架构承上启下: 1、一方面承接业务架构的落地, 2、一方面影响技术选型  应用架构类型:单体式...
  • 技术架构发展历程

    万次阅读 2018-06-29 16:42:31
    本文摘抄自《大型网站技术架构——核心原理与案例分析》,由李智慧 著 在互联网日益发展的今日,人们每天浏览着大大小小的网站,使用着各式各样的APP,无数的流量在无形中穿梭。那我们是如何判断一个网站或者APP...
  • 串讲Apache OFBiz技术架构

    万次阅读 多人点赞 2015-02-17 22:32:27
    以图代文,串讲Apache OFBiz技术架构
  • 常用技术架构总结:包括技术架构、运维架构、产品架构。知识剖析给出了普遍使用的软件技术选型。 目录 知识剖析 技术架构 运维架构 产品架构 知识剖析 技术架构 运维架构 产品架构 设计下载Axure...
  • 大数据之大数据技术架构

    万次阅读 2019-07-11 16:55:29
    最近,中央电视台纪录片频道正在热播的一部纪录片《大数据时代》,细致而生动地讲述了大数据技术在政府治理、民生服务、数据安全、工业转型、未来生活等方面带来的改变和影响。大数据现在已经成了一种全新的思维方式...
  • 网站技术架构

    千次阅读 2018-11-14 05:44:50
    《大型网站技术架构:核心原理与案例分析》笔记 高可用性 什么是可用性? 可用性(Availablility)是指服务可被有效访问的特性,不是指有用性(Usability)。 能够保证服务永远可用吗? 保证服务永远可用几乎是一件...
  • 美团技术架构

    万次阅读 2016-04-20 10:30:12
    追求极致:从技术细节看美团架构  很多人认为,电商都没有什么技术含量,没有什么门槛。可是,美团能从千团大战中脱颖而出,成为国内最大的本地生活服务平台,必然不是靠运气。美团网技术委员会主席夏...
  • 为了解决高并发访问、海量数据处理和高可靠性运行一系列问题,大型网站架构有一些套路,可称为大型网站的架构模式:1、分层2、分割3、分布式4、集群5、缓存6、异步7、冗余8、自动化9、安全

空空如也

1 2 3 4 5 ... 20
收藏数 117,046
精华内容 46,818
关键字:

技术架构