用户您好!请先登录!

分类目录解决方案

Gartner:首份机器人流程自动化(RPA)魔力象限

作者:Derek Miers、Marc Kerremans、Saikat Ray和 Cathy Tornbohm

随着企业组织想方设法提高运营效率,并将遗留系统与新的企业应用软件和数字化业务集成,机器人流程自动化(RPA)继续扩大其应用范围。我们在本文中研究这些市场力量和提供此类软件的领先企业供应商。

市场定义/描述

机器人流程自动化(RPA)是一种数字化赋能技术,主要充分利用用户界面(UI)和表面级特征这对组合来创建自动处理常规性、可预测的数据转录工作的脚本。

RPA工具可将应用软件连接起来,消除输入错误,加快流程,并降低成本。RPA市场仍然比较小,2018年总收入略低于8.5亿美元。然而,RPA是Gartner正式跟踪分析的增长速度最快的软件领域,2018年同比增长超过63%。

阅读更多

DDD and CQRS Landing

这篇文章假设你已经初步了解过领域驱动设计(DDD)的基本概念(聚合根、实体、值对象、领域服务、领域事件、资源库、限界上下文等)以及CQRS的设计,这里将重点放在如何落地DDD和CQRS上。

DDD分层架构

Evans在它的《领域驱动设计:软件核心复杂性应对之道》书中推荐采用分层架构去实现领域驱动设计:

领域驱动设计(DDD)简介

今天的企业应用程序无疑是复杂的,并依赖一些专门技术(持久性,AJAX,Web服务等)来完成它们的工作。作为开发人员,我们倾向于关注这些技术细节是可以理解的。但事实是,一个不能解决业务需求的系统对任何人都没有用,无论它看起来多么漂亮或者如何很好地构建其基础设施。

领域驱动设计(DDD)的理念 – 首先由Eric Evans在他的同名书[1]中描述 – 是关于将我们的注意力放在应用程序的核心,关注业务领域固有的复杂性本身。我们还将核心域(业务独有)与支持子域(通常是通用的,如金钱或时间)区分开来,并将更多的设计工作放在核心上。

域驱动设计包含一组用于从域模型构建企业应用程序的模式。在您的软件生涯中,您可能已经遇到过许多这样的想法,特别是如果您是OO语言的经验丰富的开发人员。但将它们一起应用将允许您构建真正满足业务需求的系统。

阅读更多

微服务下的鉴权

从单体应用架构到分布式应用架构再到微服务架构,应用的安全访问在不断的经受考验。为了适应架构的变化、需求的变化,身份认证与鉴权方案也在不断的变革。面对数十个甚至上百个微服务之间的调用,如何保证高效安全的身份认证?面对外部的服务访问,该如何提供细粒度的鉴权方案?本文将会为大家阐述微服务架构下的安全认证与鉴权方案。

一、单体应用 VS 微服务

随着微服务架构的兴起,传统的单体应用场景下的身份认证和鉴权面临的挑战越来越大。单体应用体系下,应用是一个整体,一般针对所有的请求都会进行权限校验。请求一般会通过一个权限的拦截器进行权限的校验,在登录时将用户信息缓存到 session 中,后续访问则从缓存中获取用户信息。

微服务架构下的鉴权,怎么做更优雅?

阅读更多

Netflix Keystone实时流处理平台

Keystone流处理平台是Netflix的数据骨干,是实现工程数据驱动文化的重要基础架构。 虽然Keystone专注于数据分析,但值得一提的是,还有另一个Netflix自主研发的反应流处理平台Mantis,该平台针对运营用例。 我们将在以后的文章中讨论Mantis及其在Netflix生态系统中的重要作用。

如今,Keystone平台提供两种生产服务:

  • 数据管道:启用了流传输的路由服务和启用了Kafka的消息服务,共同负责几乎实时地生成,收集,处理,聚合和移动所有微服务事件。
  • 流处理即服务(SPaaS):使用户能够构建和运行自定义的托管流处理应用程序,从而使他们能够专注于业务应用程序逻辑,而平台则提供了规模缩放,运营和领域专业知识。

在本文中,我们将探讨一些挑战,设计原则,平台思维方式,高级架构,最后是平台为Netflix提供的愿景和核心价值。

单个流作业的剖析:

Keystone实时流处理平台

…并且平台管理以下工作:

阅读更多

继续扯一扯秒杀系统设计

秒杀系统的关键点:

秒杀系统其实主要解决2个问题,一个是并发读,一个是并发写。整体概况为“稳、准、快”

  • 高性能。 秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键。本文将从设计数据的动静分离方案、热点的发现与隔离、请求的削峰与分层过滤、服务端的极致优化这 4 个方面重点介绍。
  • 一致性。 秒杀中商品减库存的实现方式同样关键。可想而知,有限数量的商品在同一时刻被很多倍的请求同时来减库存,减库存又分为“拍下减库存”“付款减库存”以及预扣等几种,在大并发更新的过程中都要保证数据的准确性,其难度可想而知。
  • 高可用。 虽然介绍了很多极致的优化思路,但现实中总难免出现一些我们考虑不到的情况,所以要保证系统的高可用和正确性,我们还要设计一个 PlanB 来兜底,以便在最坏情况发生时仍然能够从容应对。

 

1. 设计秒杀系统时应该注意的5个架构原则

总结来说就是“4 要 1 不要”

  • 数据要尽量少。 所谓“数据要尽量少”,请求的数据包括请求包体和返回包体,字段精简。不管是请求数据还是返回数据都需要服务器做处理,而服务器在写网络时通常都要做压缩和字符编码,这些都非常消耗 CPU,所以减少传输的数据量可以显著减少 CPU 的使用。数据库也容易成为一个瓶颈,所以和数据库打交道越少越好,数据越简单、越小则越好。
  • 请求数要尽量少。 这里的请求数包括了页面依赖的 CSS/JavaScript、图片、加载这些文件都需要建立连接要做三次握手,另外,如果不同请求的域名不一样的话,还涉及这些域名的 DNS 解析,可能会耗时更久。所以,减少请求数可以显著减少以上这些因素导致的资源消耗。

阅读更多

Flink在小红书实时推荐系统中的运用

本文整理自2019阿里云峰会·上海开发者大会开源大数据专场中小红书实时推荐团队负责人郭一先生现场分享。小红书作为生活分享类社区,目前有8500万用户,年同比增长为300%,大约每天有30亿条笔记在发现首页进行展示。推荐是小红书非常核心且重要的场景之一,本文主要分享在推荐业务场景中小红书的实时计算应用。

实时计算在推荐业务中的场景

1. 线上推荐流程

小红书线上推荐的流程主要可以分为三步。第一步,从小红书用户每天上传的的笔记池中选出候选集,即通过各种策略从近千万条的笔记中选出上千个侯选集进行初排。第二步,在模型排序阶段给每个笔记打分,根据小红书用户的点赞和收藏行为给平台带来的价值设计了一套权重的评估体系,通过预估用户的点击率,评估点击之后的点赞、收藏和评论等的概率进行打分。第三步,在将笔记展示给用户之前,选择分数高的笔记,通过各种策略进行多样性调整。

阅读更多

知识图谱在美团智能场景下的应用与实践

导读:目前为止 IT 产业经历了六次浪潮,分别为:大型机时代,小型机时代,个人电脑时代,桌面互联网时代,移动互联网时代和 AIOT 时代。在这些时代背后可以发现是人机交互方式的变化:从鼠键交互,到触控交互,再到语音智能交互,可以看到人机交互的方式在向更自然更直接化的方式演进。今天会和大家分享基于知识图谱的问答在美团智能交互场景中的应用和演进。

今天的介绍会围绕下面三点展开:

  • 智能交互背景介绍
  • 受限场景问答应用和演进
  • 复杂场景问答应用和演进

智能交互背景介绍

1. 智能交互的划分

知识图谱在美团智能场景下的应用于实践

智能交互的划分基本上是根据人类需求拆分:

  • 检索式交互—信息获取,比较经典的方法 FAQ:QA 匹配,QQ 匹配;
  • 任务式交互—执行任务,比如订机票 ( 酒店 ) 的特定任务;
  • 闲聊式交互—娱乐与休闲,基于深度学习的端到端的学习系统。

阅读更多

饿了么推荐系统的0到1

随着移动互联网的发展,用户使用习惯日趋碎片化,如何让用户在有限的访问时间里找到想要的产品,成为了搜索/推荐系统演进的重要职责。作为外卖领域的独角兽, 饿了么拥有百万级的日活跃用户,如何利用数据挖掘/机器学习的方法挖掘潜在用户、增加用户粘性,已成为迫切需要解决的问题。

个性化推荐系统通过研究用户的兴趣偏好,进行个性化计算,发现用户的兴趣点,从而引导用户发现自己的信息需求。一个好的推荐系统不仅能为用户提供个性化的服务,还能和用户之间建立密切关系,让用户对推荐产生依赖。

本次分享介绍饿 了么如何从0到1构建一个可快速迭代的推荐系统,从产品形态出发,包括推荐模型与特征工程、日志处理与效果评估,以及更深层次的场景选择和意图识别

在携程个性化推荐与人工智能meetup上,已经就以上几部分做了整体上的说明,本文将就其中模型排序与特征计算的线上实现做具体说明,同时补充有关业务规则相关的洗牌逻辑说明,力图从细节上还原和展示饿了么美食推荐系统。

一、模型排序

1.设计流程

对于任何一个外部请求, 系统都会构建一个QueryInfo(查询请求), 同时从各种数据源提取UserInfo(用户信息)、ShopInfo(商户信息)、FoodInfo(食物信息)以及ABTest配置信息等, 然后调用Ranker排序。以下是排序的基本流程(如下图所示):

  • 调取RankerManager, 初始化排序器Ranker:
  • 根据ABTest配置信息, 构建排序器Ranker;
  • 调取ScorerManger, 指定所需打分器Scorer(可以多个); 同时, Scorer会从ModelManager获取对应Model, 并校验;
  • 调取FeatureManager, 指定及校验Scorer所需特征Features。
  • 调取InstanceBuilder, 汇总所有打分器Scorer的特征, 计算对应排序项EntityInfo(餐厅/食物)排序所需特征Features;
  • 对EntityInfo进行打分, 并按需对Records进行排序。
饿了么推荐系统:从0到1(天天外卖,你可不知道的程序里面原理)

阅读更多

浅析阿里云API网关的产品架构和常见应用场景

什么是API网关

API 网关提供完整的 API 托管服务,辅助用户将能力、服务、数据以 API 的形式开放给合作伙伴,也可以发布到 API 市场供更多的开发者采购使用。

  1. 提供防攻击、防重放、请求加密、身份认证、权限管理、流量控制等多重手段保证 API 安全,降低 API 开放风险。
  2. 提供 API 定义、测试、发布、下线等全生命周期管理,并生成 SDK、API 说明文档,提升 API 管理、迭代的效率。
  3. 提供便捷的监控、报警、分析、API 市场等运维、运营工具,降低 API 运营、维护成本。
    API网关技术解读稿(改)713.png

API托管服务: 为企业与开发者提供低成本、高可用、安全、便捷、易于管理的 API 开发能力。

在 API 的市场里,日均调用次数已经超过1.2亿次,基于此背景,阿里云全新探索了云市场能力中心,建立 API 生态,为企业客户和伙伴提供 API 购买和 API 变现一站式解决方案。API 网关将能力的复用率最大化,让企业之间能够互相借力,企业发展能够专注自身业务,实现共赢。

阅读更多

推荐系统基础知识

本文主要包括推荐系统的相关概念、推荐系统的架构和流程、常见的推荐算法、挖掘、召回、排序、评估和总结这几部分。

概念部分会简述推荐系统相关的理论知识,架构和流程主要是介绍推荐系统的通用架构和常规的推荐流程。

算法部分主要是一些常见的推荐算法介绍,挖掘》召回》排序主要是基于推荐流程的详细展开。

评估部分指的是如何评估一个推荐系统的好坏,总结部分主要是整体内容的回顾,以及一个真实推荐系统的案例。

1. 相关概念

1.1. 什么是推荐系统

先来看下Wiki的定义:

一种信息过滤系统,用来预测用户对物品的行为和偏好。

按照字面意思理解下来,就是帮助过滤信息,预测用户对物品的行为和偏好。

在今日头条曹欢欢博士的一次分享中提到了这样一个定义:

资讯推荐系统本质上要解决用户,资讯和环境的匹配,y=F(Xi,Xu,Xc)

感觉把这个定义延伸到其他推荐系统上也是成立的,那就是推荐系统本质上要解决用户,物品和环境的匹配问题,帮助建立用户和物品之间的连接。

回到定义本身,理论上说能实现这个功能的系统都可以称之为推荐系统。

阅读更多

不能免俗:学习下阿里数据中台

数据中台的概念是最早由阿里巴巴首次提出,是为了应对内部众多业务部门千变万化的数据需求和高速时效性的要求而成长起来的,它既要满足业务部门日常性的多个业务前台的数据需求,又要满足像双十一,六一八这样的业务高峰、应对大规模数据的线性可扩展问题、应对复杂活动场景业务系统的解耦问题,而在技术、组织架构等方面采取的一些变革。

数据中台定义

阿里巴巴数据中台是阿里云上实现数据智能的最佳实践,它是由数据中台方法论+组织+工具所组成。

  • 数据中台方法论采用实现企业数据的全局规划设计,通过前期的设计形成统一的数据标准、计算口径,统一保障数据质量,面向数据分析场景构建数据模型,让通用计算和数据能沉淀并能复用,提升计算效能;
  • 数据中台的建设实施必须有能与之配合的组织,不仅仅相应岗位的人员要配备齐全,而且组织架构建设也需要对应,有一个数据技术部门统筹企业的数字化转型,数据赋能业务中形成业务模式,在推进数字化转型中实现价值;
  • 数据中台由一系列的工具和产品组成,阿里云数据中台以智能数据构建与管理Dataphin产品、商业智能QuickBI工具和企业参谋产品为主体等一系列工具组成。

详解阿里云数据中台

数据中台的概念来自于阿里巴巴“大中台,小前台”业务战略下的数据化实践,它是关于“数据价值化和数据资产化”的一整套解决方案,内容包括数据中台方法论,组织,数据产品三个方面。

阅读更多

边缘计算那点事

边缘计算(Edge Computing)是云计算向边缘的延伸,本文对边缘计算、雾计算、MEC、Cloudlet、分布式云等边缘计算领域相关概念和技术的定义、架构、场景等进行了比较分析,并对该领域的技术发展趋势给出了预测与展望。

一、概述

在整个行业数字化转型的大背景下,在 IoT、5G、 VR、AI 等业务云化需求驱动和技术发展推动下,边缘计算(Edge Computing)概念应运而生并迅速得到了行业的广泛关注。相对于经典云计算带来的“云端”的海量计算能力,边缘计算实现了资源和服务向边缘位置的下沉, 从而能够降低交互时延、减轻网络负担、丰富业务类型、优化服务处理,提升服务质量和用户体验。

边缘计算概念并无明确定义,雾计 算、MEC、Cloudlet、 边 缘 计 算、 分 布 式 云 等 概 念 迭 出,ETSI、ITU、OpenFog、ECC、OEC、3GPP、ISO、IEC、 IEEE、Linux 基金会、OpenStack 基金会等业界主流标准 化、开源和行业组织都在积极推进但都有所侧重。本文针对边缘计算、雾计算、MEC、Cloudlet、分布式云等领域内核心技术的定义、架构、场景等进行简介,并进行比较分析。

阅读更多

IPD(集成产品开发)那点事

集成产品开发(Integrated Product Development, 简称IPD)是一套产品开发的模式、理念与方法。IPD的思想来源于美国PRTM公司出版的《产品及生命周期优化法》(简称PACE——Product And Cycle-time Excellence)一书,该书中详细描述了这种新的产品开发模式所包含的各个方面。

IPD的研发背景

最先将IPD付诸实践的是IBM公司,1992年IBM在激烈的市场竞争下,遭遇到了严重的财政困难,公司销售收入停止增长,利润急剧下降。经过分析,IBM发现他们在研发费用、研发损失费用和产品上市时间等几个方面远远落后于业界最佳。为了重新获得市场竞争优势,IBM提出了将产品上市时间压缩一半,在不影响产品开发结果的情况下,将研发费用减少一半的目标。

为了达到这个目标,IBM公司率先应用了集成产品开发(IPD)的方法,在综合了许多业界最佳实践要素的框架指导下,从流程重整和产品重整两个方面来达到缩短产品上市时间、提高产品利润、有效地进行产品开发、为顾客和股东提供更大价值的目标。

阅读更多

Small Team’s Microservice Evolution

微服务是否银弹,如何实施,甚至是否使用微服务都是个问题,这里既要防止过度设计,又要充分考虑到人的因素。本文参考Linkflow运维开发负责人对其产品与项目交付上线过程的描述来看一看小团队是如何微服务化的。

要不要微服务

微服务的好处是什么?

  • 相比于单体应用,每个服务的复杂度会下降,特别是数据层面(数据表关系)更清晰,不会一个应用上百张表,新员工上手快;
  • 对于稳定的核心业务可以单独成为一个服务,降低该服务的发布频率,也减少测试人员压力;
  • 可以将不同密集型的服务搭配着放到物理机或者虚拟机上,或者单独对某个服务进行扩容,实现硬件资源的充分利用;
  • 部署灵活,在私有化项目中,如果客户有不需要的业务,那么对应的微服务就不需要部署,节省硬件成本,就像上文提到的乐高积木理念。

阅读更多

The Evolution of Architecture from SOA , to Microservice and to Cloud Native Application

进入 21 世纪以来,我们见证了企业分布式应用架构从 SOA (Service-oriented Architecture),到微服务架构,再到云原生应用架构的演化。我们先从我们熟悉的物理守恒定律说起:

  • 第一,企业 IT 系统的复杂性(熵)符合热力学第二定律。随着时间的推演,业务的变化,企业 IT 系统的复杂度会越来越高;
  • 第二,在计算机交互设计中有一个著名的复杂性守恒定律[1]。应用交互的复杂性不会消失,只会换一种方式存在。这个原理也同样适用于软件架构。引入新的软件架构,不会降低IT系统的整体复杂性。

现代软件架构的核心任务之一就是定义基础设施与应用的边界,合理切分复杂性,减少应用开发者需要面对的复杂性。换句话说,就是让开发者专注在核心价值创新上,而把一些问题交给更合适的人和系统来解决。

阅读更多

System Architectures for Personalization and Recommendation

本文我们将探索如何创建一个能够交付并支持快速创新的软件架构。提出一种能够处理大量现有数据、响应用户交互并易于试验新的推荐方法的软件体系结构并非易事。在这篇文章中,我们将描述我们如何解决Netflix面临的一些挑战。

首先,我们在下图中展示了推荐系统的总体系统图。该体系结构的主要组件包含一个或多个机器学习算法。

Netflix应用架构之用于个性化和推荐的系统架构

对于数据,我们能做的最简单的事情就是将其存储起来,以便稍后进行脱机处理,这就引出了管理脱机作业的部分体系结构。然而,计算可以离线、近线或在线进行。

阅读更多

Introduction of API Gateway

为了提高系统的性能和可靠性,将应用服务进行拆分微服务化。作为系统入口的 API 网关也逐渐成为了标配。今天我们一起来看看 API 网关的设计思路,需要承载了哪些功能?以及如何选择流行的 API 网关?

什么是 API 网关

既然需要 API 网关为我所用,首先就让我们来了解一下什么是 API 网关。网关一词最早出现在网络设备,比如两个相互独立的局域网之间通过路由器进行通信,中间的路由被称之为网关。

任何一个应用系统如果需要被其他系统调用,就需要暴露 API,这些 API 代表着一个一个的功能点。如果两个系统中间通信,在系统之间加上一个中介者协助 API 的调用,这个中介者就是 API 网关。

阅读更多

常用的Python Web程序的部署方式

通常来说, Web应用一般是三层结构:Web Server====》 Application=====》 DB Server

主流的 Web server 一个巴掌就能数出来,Apache,Lighttpd,Nginx,IIS等。 Application,中文名叫做应用服务,就是你基于某个web framework写的应用代码;DB server 泛指存储服务,web开发中用mysql比较多,最近几年因为网站规模扩大,memcache,redis这种key-value等存储也流行开来。

放在最前面的web server有3个功能:

  • 高效率处理静态文件,web server都是用c开发,调用是native的函数,对IO,文件传输都做针对性的优化
  • 充当一个简易的网络防火墙,可以denny一些ip,简单的控制并发连接数量等等,聊胜于无
  • 处理高并发短连接请求,把成千上万用户的request 通过内网的几十个长连接进行转发,原因一个是web server处理高并发很专业,另外一个原因是大部分的application所用的框架都不具备处理高并发的能力

实际上,市面上有部分web framework由于内置了支持epoll/kqueue 等高效网络库,而具备了处理高并发的能力,比如说 python的tornado,java系的tomcat,jetty等等,有人就去掉前端的web server,直接裸奔,但是在部署公网应用时候,最好别这样做,因为前面提到的1,2两个原因,用户brower到web server的网络状况是千奇百怪,你无法想象的。

阅读更多

Design of Structured Large Data Analysis Platform

时下大数据平台主要解决以下几个问题:

1. 丰富的数据源支持和数据格式延迟绑定

丰富的数据源是因为这样一个数据分析平台是汇总我们各类业务数据的地方,数据源可能来自各类数据库例如MySQL,MongoDB,日志源等等。这个平台需要能够方便各类数据源便捷的入库,例如通常大家会发现大数据架构中有一个Kafka,各类数据源会先进入Kafka,再由Kafka推送到大数据的存储系统中。这里Kafka就承担了解耦大数据平台的存储接口和上游数据源的作用。

数据格式延时绑定是一个很重要的概念,TP类数据库往往需要根据业务需求预先定义Schema,也就是通常说的写入型Schema,数据在写入时即会做严格的数据字段类型检验。但是分析系统并不希望因为Schema约束或者限制的数据入库,通常会采用读取型Schema,也就是这里的延时绑定,数据在分析时才会根据数据类型做对应的处理。

阅读更多

SD-WAN与VPN的选择

当谈到是选择SD-WAN还是虚拟私人网络时,企业往往都要考虑两者之间的成本、云使用和应用程序等差异和因素。一方面,也是由于近些年来业界对SD-WAN的热度颇高。因此,不少企业想知道,选择SD-WAN与虚拟私人网络的根本区别和相似之处到底在哪。

先来说说虚拟私人网络。虚拟私人网络的定义是通过不太安全的网络传输(例如互联网)创建安全网络。长久以来,虚拟私人网络的基本任务一直是删除来自已验证端点的数据包。端点之间的所有通信都会进行最高级别的加密,这构成了Internet上虚拟私人网络的基础,可以说它是简单且具有成本效益的,但在保证网络性能方面可能存有问题。

阅读更多


1 2 3