资讯月刊下载
专访阿里陈康贤:我所理解的网站架构
【编者按】CSDN在日前策划了架构主题月活动:《互联网应用架构面面观》,就架构的方法面面进行各种形式探讨交流。今天,我们就网站架构这一话题,线上专访了阿里淘宝技术部技术专家陈康贤,著有《大型分布式网站架构设计与实践》一书,请他分享他的技术之道、架构之解、大型网站知识和职场心得等。 陈康贤(花名龙隆,博客),淘宝技术部技术专家,著有《大型分布式网站架构设计与实践》一书,在分布式系统架构设计、高并 ...
在首席架构师眼里,架构的本质是……
编者按:本文作者王庆友,前 1号店首席架构师,先后就职于 ebay、腾讯、1号店、找钢网,精通电商业务,擅长复杂系统业务建模和架构分析,目前在中国 B2B 第一电商公司找钢网担任首席架构师,微信号Brucetwins,欢迎一起聊架构。 目前讨论架构实操(术)的文章较多,讨论架构理念(道)的较少,本文基于作者在大型电商系统架构方面的一些实践和思考,和大家聊聊架构理念性的东西,希望能够抛砖引玉, ...
应用性能优化:如何将应用延迟降低为 0 ms
之前已经提过通过 Varnish 缓存进行网站性能优化,以及延迟对商业的影响。 经历过太多这样的问题分析和定位过程: 某大型网站的 Redis 集群的机器负载每几十分钟出现一个超越平时几十倍大的高峰,结果是因为这些实例每几十分钟对所有数据进行写盘持久化。 某大型媒体网站的 MySQL 读流量异常大,结果是因为每个读操作都携带了 2MB 的页面初始化信息。这个 BUG 修正的直接结果不仅仅是降低了数 ...
浅谈12306核心模型设计思路和架构设计
本文转自:汤雪华的博客 前言 春节期间,无意中看到一篇文章,文章中讲到12306的业务复杂度远远比淘宝天猫这种电商网站要复杂。后来自己想想,也确实如此。所以,很想挑战一下12306这个系统的核心领域模型的设计。一般的电商网站,购买都是基于商品的概念,每个商品有一定量的库存,用户的购买行为是针对商品的。当用户发起购买行为时,系统只需要生成订单并对用户要购买的商品减库存即可。但是,12306就不是那 ...
创建微服务?请先回答这10个问题
乍一看微服务似乎很容易构建,但是要真正构建微服务,要完成的工作可比在容器里运行一些代码,并在这些代码间使用HTTP请求进行通信,要多得多。在开发新的微服务之前——必须得在新服务部署到生产环境之前——你需要回答下面这10个重要的问题。 1. 如何测试服务? 当考虑到测试时,微服务有一些优势和劣势。一方面,定义良好的一小段功能的小型服务的单元测试,要比测试整个大型应用程序容易得多。另一方面,要验证由很 ...
微服务与单一整体式架构的优劣浅析
开发者要么出于本能,要么很快就能在痛苦中发觉:即便一个很小的变化也能改变一切。就像攀岩那样,每次挪移都会影响到未来的抉择,因此如果在开始时考虑不周的话,可能会在今后突然导致致命的危机。随着对开发生命周期和上市时间缩短这方面需求的增长,在架构初期的任何决定都比以前更加重要。 想要定义合适的软件架构,不应仅仅搭出高级架构的框架,还应联合所有利益相关者,包括程序员、管理员、市场推广人员等,最终一同 ...
老杨聊架构:每个架构师都应该研究下康威定律
本文转自微信公众号:聊聊架构 背景 今天的分享主要来自我之前的工作经验以及平时的学习总结和思考。我之前的背景主要是做框架、系统和平台架构,之前的工作过的公司eBay、携程、唯品会都是平台型互联网公司,所以今天主要带着平台架构视角和大家分享心得体会。架构的视角每个人都不一样,可以说一万种眼光,有业务架构、安全架构、平台架构、数据架构,各不相同,这里仅是我的一家之言,欢迎大家加入『聊聊架构』社群参与讨 ...
Facebook架构解读
从我看过的各种资料,还有与各式人等的交谈中,可以得出Facebook现在的架构是这样的: Web前端用PHP语言编写,然后用HipHop Compiler[1]转换为C++语言,再用g++编译器编写,从而提供高性能的模板与web逻辑执行层。 完全依赖静态编译所造成的限制,让Facebook开始启用HipHop Interpreter [2]及HipHop虚拟机,将PHP代码转译为HipHop ...
如何从代码层防御10大安全威胁中的 Xpath Injection?
本文转自OneAPM技术社区,系OneAPM架构师吕龙涛原创文章。 普遍性和可检测性: Xpath 注入是OWASP TOP10 安全威胁中 A1 Injection 中的一种,注入漏洞发生在应用程序将不可信的数据发送到解释器时。虽然注入漏洞很容易通过审查代码发现,但是却不容易在测试中发现。 影响严重: 注入能导致数据丢失或数据破坏、缺乏可审计性或者是拒绝服务。注入漏洞有时候甚至能导致完全主机接 ...
25个Java机器学习工具&库
本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法。这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用。Weka包括一系列的工具,如数据预处理、分类、回归、聚类、关联规则以及可视化。 2.Massive Online Analysis(MOA)是一个面向数据流挖掘的流行开源框架,有着非常活跃的成长社区。它包括一系列的机器学习算法(分类 ...
Vert.x3异步框架实战
作为异步无阻塞的网络框架,Vert.x的参照物是Node.js,基本可以完成Node.js能完成的所有事情。它是作者目前见过功能最强大,依赖第三方库最少的Java框架。本文将带你深入了解Vert.x。 Vert.x的由来 Vert.x诞生于2011年,当时叫node.x,不过后来因为某些原因改名位Vert.x。经过三年多的发展,现在已经到了3.2版本,社区也越来越活跃,在最新的官网Vertx.i ...
SreamCQL架构解析,来自华为的开源流处理框架
StreamCQL是一个类SQL的声明式语言,它用于在流(streams)和可更新关系(updatable relation)上的可持续查询,目的是在流处理平台分布式计算能力之上,通过使用简易通用的类SQL语言,使得业务逻辑的开发变得统一和简易。在功能上,StreamCQL弥补了传统流处理平台上一些基本业务功能的缺失,除了过滤、转换等基本SQL能力之外, 还引入基于内存窗口的计算、统计、关联等能力, ...
预示应用性能问题的十大征兆
一年一度的双11、双12全民网购节已经过去,淘宝、天猫及其他电商都迎来了大量用户,但是,你的基础架构能否承载突如其来的流量?面对预期而至的大量用户,容量规划是否到位?线上商城以及后端系统是否经受住了性能的考验? 对于任何互联网电子商务的成功,有两件事至关重要:创新与性能。创新是打入市场的通行证,而性能则决定了能否在市场中长久立足,如果网站性能差强人意,那么就没有用户会愿意再次访问。今天小编专门为大 ...
Restful API的设计与实践
本文转自简书 Restful这个名称应该很多人都不陌生,但是我发现不少人对Restful存在或多或少的理解偏差,其中不泛比较厉害的程序员,所以有必要为Restful来“正名”。 Restful是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。(详见百度百科介绍) Res ...
从3张图了解Pinterest Feed算法与架构设计
Pinterest首页的Feed消息流,最早是按照用户的关注对象的Pin(Pin类似微博)聚合后按时间进行排序(自然序,类似朋友圈),后来版本的feed系统放弃了自然序,而是根据一定规则及算法来设计,内部称之为Smart feed,其算法及架构根据其公开资料整理如下,值得业界做信息流产品的技术架构师参考。 Pinterest每个用户的首页feed都是个性化内容。Pinterest系统大约1/3流量 ...
人生何处不架构:Tieto、SONY架构实践
本文转自:mp.weixin.qq.com 9月初的某一天,一位朋友的几个问题一下子把正吭哧吭哧敲键盘而处于自High状态的我拉入了一段冥思之旅。是啊,什么是架构师?架构师一天到晚到底在做什么工作? IT领域中有架构师,其他行业有没有? 这是一个甚为庞大而又严肃的问题。而且,可以预料的是,不同人的答案,甚至同一人不同时期的答案都会千差万别。不过,没有标准答案有关系吗?没有。所谓“一花一世界,一叶 ...
你应该了解Nginx的7个原因
本文转自:亚里士朱德的博客 引用 Nginx (“engine x”)是一个高性能的HTTP和反向代理服务器,也是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 1 负载均衡实现可扩展的浏量管理 通过Nginx实现负载均衡将给你所需要的控制权,用来管理并扩展您的Web和移动应用。它提供了一个完整的基于软件应用的分发平台的解决方案,只消耗一小部分的硬件来平衡HT ...
Java应用一般架构
本文转自:http://bbear.me/ 当我们架设一个系统的时候通常需要考虑到如何与其他系统交互,所以我们首先需要知道各种系统之间是如何交互的,使用何种技术实现。 1. 不同系统不同语言之间的交互 现在我们常见的不同系统不同语言之间的交互使用WebService,Http请求。WebService,即“Web 服务”,简写为 WS。从字面上理解,它其实就是“基于 Web 的服务”。而服务却是 ...