架构
文章平均质量分 63
wang_quan_li
高级工程师,CSAI顾问团顾问,PHP策进会(PEA)兰州常委,首批陇原青年创新人才扶持计划人选,甘肃省省属科研院所科技创新团队——情报研究与信息服务模式创新团队成员。先后取得程序员、软件设计师、系统分析师资格。
展开
-
从Netflix的Hystrix框架理解服务熔断和服务降级
伴随着微服务架构被宣传得如火如荼,一些概念也被推到了我们面前,其实大多数概念以前就有,但很少被提的这么频繁。想起有人总结的一句话,微服务架构的特点就是:“一解释就懂,一问就不知,一讨论就吵架”。图片 来自网络,如果涉及版权请与我们联系。其实对老外的总结能力一直特别崇拜,Kevin Kelly、Martin Fowler、Werner Vogels……转载 2017-09-28 12:42:47 · 956 阅读 · 0 评论 -
云服务总线
服务总线提供了安全消息传递和中继功能,使您能够在云中构建松散耦合的分布式应用程序以及跨私有云和公有云的混合应用程序。 它不仅支持多种消息传递协议和模式,而且将处理针对应用程序的交付保证、可靠消息传递和缩放。服务总线有多种实际用途。一些常见用途包括:混合应用程序利用服务总线,您可以安全连接私有云中运行的企业系统并将这些系统与 云 上运行的应用程序集成。这样一来,便能更轻松地将解决方案原创 2016-10-27 11:15:24 · 1077 阅读 · 0 评论 -
云服务总线CSB:“连”无边界
本文主要谈及了服务互通开放典型问题,也介绍了企业业务能力API化,着重说明了云服务总线CSB的服务处理过程,最后概括了综合场景。以下为精彩内容整理:云服务总线CSB与ESB有什么关系呢?CSB就是互联网以及云计算场景下的企业服务总线,但重点不同,CSB真正要做的是能力开放平台,无论是ESB还是CSB,它们都是要实现系统之间的服务互通。 服务互通开放典型问题服务协议和接口差异:转载 2016-10-26 16:51:47 · 4715 阅读 · 0 评论 -
lvs为何不能完全替代DNS轮询
58沈剑 架构师之路上一篇文章“一分钟了解负载均衡的一切”引起了不少同学的关注,评论中大家争论的比较多的一个技术点是接入层负载均衡技术,部分同学持这样的观点:1)nginx前端加入lvs和keepalived可以替代“DNS轮询”2)F5能搞定接入层高可用、扩展性、负载均衡,可以替代“DNS轮询”“DNS轮询”究竟是不是过时的技术,是不是可以被其他方案替代,接入转载 2016-09-29 09:48:32 · 248 阅读 · 0 评论 -
细聊冗余表数据一致性(架构师之路)
转自58沈剑 架构师之路本文主要讨论四个问题:(1)为什么会有冗余表的需求(2)如何实现冗余表(3)正反冗余表谁先执行(4)冗余表如何保证数据的一致性 一、需求缘起互联网很多业务场景的数据量很大,此时数据库架构要进行水平切分,水平切分会有一个patition key,通过patition key的查询能够直接定位到库,但是非p转载 2016-08-26 13:51:42 · 538 阅读 · 0 评论 -
互联网架构,如何进行容量设计?
转自58沈剑 架构师之路一,需求缘起互联网公司,这样的场景是否似曾相识: 场景一:pm要做一个很大的运营活动,技术老大杀过来,问了两个问题:(1)机器能抗住么?(2)如果扛不住,需要加多少台机器? 场景二:系统设计阶段,技术老大杀过来,又问了两个问题:(1)数据库需要分库么?(2)如果需要分库,需要分几个库?转载 2016-08-25 15:44:33 · 366 阅读 · 0 评论 -
从IDC到云端架构迁移之路
转自58沈剑 架构师之路大家好,很高兴来到GITC2016的舞台,我是来自58到家的沈剑,今天我分享的主题是《58到家从IDC到云端架构迁移之路》。机房迁移是一个很大的动作:15年在58同城实施过一次(“逐日”项目),几千台物理机,从IDC迁到了腾讯的天津机房,项目做了10个多月,跨所有的部门,与所有的业务都相关;16年在58到家又实施了一次(“凌云转载 2016-08-25 16:03:59 · 744 阅读 · 0 评论 -
Java 应用一般架构
当我们架设一个系统的时候通常需要考虑到如何与其他系统交互,所以我们首先需要知道各种系统之间是如何交互的,使用何种技术实现。1. 不同系统不同语言之间的交互现在我们常见的不同系统不同语言之间的交互使用WebService,Http请求。WebService,即“Web 服务”,简写为 WS。从字面上理解,它其实就是“基于 Web 的服务”。而服务却是双方的,有服务需求方,就有服务提供方。转载 2016-07-19 11:04:45 · 298 阅读 · 0 评论 -
减少存储过程封装业务逻辑-web开发与传统软件开发的思维模式不同
本篇文章讨论并不是:不要使用存储过程,因为有些事情还是要存储过程来完成,不可能不用。而是关于:"业务逻辑是不是要封装在存储过程中实现,这样子php、java等就是调用存储过程"。 业务逻辑,通俗说就是:比如要取数据的操作,取出会员编号为x的数据,原来我们一般是封装成函数,或者直接编写sql语句查询。现在是交给数据库的存储过程去完成。+--------------------转载 2015-03-23 17:15:15 · 715 阅读 · 0 评论 -
从100PV到1亿级PV网站架构演变
一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。1:积累是必不可少的架构师不是一天练成的。1999年,我作了一个个人主页,在学校内的虚拟空间,参加了一次主页大赛,几个DREAMWEAVER的页面,几个TABLE作布局,一个DB连接,几行PHP的代转载 2015-01-24 10:26:22 · 795 阅读 · 0 评论 -
多点生活的分布式服务框架DSF
编者按:J2EE异军突起之时,那些2层架构(web+后端)的人必定是崩溃的;而后spring以without ejb革命了,现在spring已渐成全家桶之势。SOA概念兴起之时,ESB相关的厂商大赚,而今老马又携微服务而来,受益者包括企业软件厂商,各云平台厂商等,眼花缭乱渐迷眼,各领风骚好几年!多点生活架构师陈泽洪本着【少谈些概念、多解决问题】的原则给我们分享他们用几个月完成的这一套分布式服务框架转载 2016-10-19 14:19:15 · 1639 阅读 · 0 评论 -
构建微服务:使用API Gateway
【编者的话】本系列的第一篇介绍了微服务架构模式。它讨论了采用微服务的优点和缺点,除了一些复杂的微服务,这种模式还是复杂应用的理想选择。当你决定将应用作为一组微服务时,需要决定应用客户端如何与微服务交互。在单体式程序中,通常只有一组冗余的或者负载均衡的服务提供点。在微服务架构中,每一个微服务暴露一组细粒度的服务提供点。在本篇文章中,我们来看它如何影响客户端到服务端通信,同时提出一种API G转载 2016-10-20 09:05:22 · 304 阅读 · 0 评论 -
1号店如何玩转混合云
黄哲铿:很高兴有这个机会能够跟大家一起来分享1号店是怎么在混合云去做实践的。这是我个人的一个介绍,我是基础平台部的总监,主要是负责安全,还有云平台,以及我们的运维的工作。这是大致的介绍路径,首先我们会讲一下1号店业务特点,以及我们混合云应用的背景,以及整体的技术架构,和我们从去年开始在做混合云的过程中我们遇到什么样的问题以及我们怎么解决的,最后我们会展望一下1号店在混合云这块,我们后面有什么样的规转载 2016-12-08 14:08:31 · 506 阅读 · 0 评论 -
易到用车构架演进及上云探索
会议为:3月26日,北京,【思路汇】企业电商云应用案例分享,易到用车首席架构师—余庆发表了题为《易到用车构架演进及上云探索》的公开演讲。以下为演讲实录:首先非常容幸第一个上来跟大家分享,很高兴和大家认识做交流。然后我是在易到用车做架构师,所以我这个演讲可能技术性会更强一点。我个人先简单介绍一下,刚刚刘宸这边也讲了,就讲了我的背景,可能在新浪,雅虎中国,淘宝阿里云都工作过,我个人比较喜欢开源转载 2016-12-08 14:05:10 · 530 阅读 · 0 评论 -
SaaS企业想转型?也许SaaS + PaaS 模式是你们最后一次机会!
说到SaaS和PaaS就不得不提及本地(On-Premise)软件。那么,他们之间有什么显著的区别呢?最近,上海房价的增长趋势已经到了无法无天的程度,买房成了白领心中永远的痛。简单粗暴点说,本地(On-Premise)软件就相当于买房,前期必须投入大量的资金,购买所得软件的拥有权。SaaS和PaaS的特性就相当于租房,根据自我需求、使用时长、经济实力等因素通过租用的方式,获取软件的使用权。他们存在转载 2016-11-30 18:12:34 · 1138 阅读 · 0 评论 -
构建高性能微服务架构的实践
随着移动互联网时代的兴起,提供高性能、高可用性、高扩展性的服务已经不仅仅是大公司的专利,而逐渐成为所有互联网+公司的标配需求,本问会介绍如何利用多年的互联网架构经验进行架构改进、微服务化、性能调优。传统架构之痛当前的时代称为互联网的时代,互联网应用的特点往往是,新型的应用迅速出现颠覆旧的商业模式,一旦商业模式稍有起色便会有大量的厂商蜂拥而至,使得蓝海变成红海,经转载 2016-11-30 16:07:00 · 471 阅读 · 0 评论 -
阿里云 EDAS-HSF 用户指南
1 前言本文档旨在描述阿里云 EDAS 产品中应用服务化模块的基本概念,以及如何使用。2 产品背景HSF(High Speed Framework)是一个高可用、高性能、分布式的服务框架。HSF 可以被看作是人体的血管,帮助应用轻松实现服务化解耦,是阿里内部各个系统通信的基础软件。3 专业术语 Agent安装于用于 ECS,负责 EDAS 控制台与用户 ECS 之间转载 2016-10-31 16:59:48 · 2921 阅读 · 0 评论 -
创业互联网公司如何搭建自己的技术框架
适用范围 本文主要针对小型互联网公司,特别适用于手机APP的后台架构,基本可以支撑5万日活 本文会对可能用到的相关技术进行技术选型的说明,以及相对应的设备的采购。 技术指标 说一下一些技术指标的计算过程可以作为其他同学的参考QPS, 如果是5万日活,使用集中在每天的4小时,每个用户大概产生100的请求,那么平均下来,我们系统大概应该支撑的请求为:50000 * 100 / (4 * 6转载 2016-10-31 16:50:13 · 320 阅读 · 0 评论 -
EDAS开发入门
极简EDAS程序结构在EDAS中,服务调用方和服务提供方通过EDAS Config Center互相发现。一个最小的EDAS程序包含如下三个部分:服务提供方服务调用方发现机制(EDAS Config Center)EDAS Config Center可以在阿里官网下载并配置 定义服务接口一个服务总是从接口定义开始public interface Gree转载 2016-10-31 16:38:58 · 2310 阅读 · 1 评论 -
分布式系统为什么需要 Tracing?
先介绍一个概念:分布式跟踪,或分布式追踪。 电商平台由数以百计的分布式服务构成,每一个请求路由过来后,会经过多个业务系统并留下足迹,并产生对各种Cache或DB的访问,但是这些分散的数据对于问题排查,或是流程优化都帮助有限。对于这么一个跨进程/跨线程的场景,汇总收集并分析海量日志就显得尤为重要。要能做到追踪每个请求的完整调用链路,收集调用链路上每个服务的性能数据,计算性能数据和比对性能指标(转载 2016-10-31 16:27:09 · 654 阅读 · 0 评论 -
从User Guide 初识 EDAS
晚上下班回家,想起白天有同事说到的一个叫EDAS的分布式服务框架,就去其阿里云官网看了User Guide了解下下,通过UG了解下下其基础功能,猜想下其实现。喜欢结合以前相关产品的使用体会,想尽量把里面的功能说的易懂一点。低级的视野来说高级的技术和牛B的产品。还没有用过,充其量是一个UG的读后感。对着UG上涉及的若干个重要内容,其实就是功能,记录下理解。1. 服务化:就是把一个大的系统转载 2016-10-31 16:17:45 · 1545 阅读 · 0 评论 -
亿级用户下的新浪微博平台架构
序言新浪微博在2014年3月公布的月活跃用户(MAU)已经达到1.43亿,2014年新年第一分钟发送的微博达808298条,如此巨大的用户规模和业务量,需要高可用(HA)、高并发访问、低延时的强大后台系统支撑。微博平台第一代架构为LAMP架构,数据库使用的MyIsam,后台用的php,缓存为Memcache。随着应用规模的增长,衍生出的第二代架构对业务功能模块化、服务化、组转载 2015-01-22 20:39:52 · 749 阅读 · 0 评论 -
Web网站架构设计考虑的因素
转自http://blog.csdn.net/moshengtan/article/details/89900521 Web负载均衡 1.1 - 使用商业硬件实现 最常用的F5 与citrix netscaler。比如12306前端的web好像用的就是F5 的BIGIP。如果公司资金足够的话,相对使用开源软件来说理方便。优点:维护方便,性能稳定 缺点:费用太高转载 2015-01-20 11:07:44 · 842 阅读 · 0 评论 -
某移动社交应用服务端架构浅析
原文http://blog.csdn.net/lvjin110/article/details/12958463TA是一款是基于地理位置的社交应用,帮助你与你不认识的、但就在附近的人进行即时沟通。TA是一款陌生人约会交友应用,无论你在银行排队、乘坐公交、咖啡厅或公园散步等任何地方,随时随地就能与附近有趣的陌生人进行即时沟通、分享照片、约会和交友……转眼间,离开该研发团队快半年了,在转载 2015-01-20 11:02:24 · 668 阅读 · 0 评论 -
使用 Vagrant就可以轻易部署N+台机器
大数据地兴起对应用程序提出了更高地要求,其中高可伸缩性就是当今任何Web都应具备的条件之一。那么如何才能学好高可伸缩编程呢?本文作者列出了一个简单的学习向导。简单,但只要坚持,你一定会成为高手。当我们对可伸缩性感兴趣时,便会寻找链接、说明、书籍、引用等各种可以学习利用的资料。本文篇幅较短,但希望能够帮助你高效地开启高可伸缩性编程之旅。声明: 你无需使用N台机器来构建/测试一个集群/转载 2014-12-03 08:36:17 · 682 阅读 · 0 评论 -
实现多服务器共享 SESSION 数据
参考:肖理达 http://nio.infor96.com/sharing-php-session-data-between-servers 一、问题起源 大型网站通常有多个服务器,并且使用多个二级域名。这样一台服务器产生的session就不能为所有服务器所共享。这样用户在一个地方登录就不能全部通行(以下来自http://nio.infor96.com/sha转载 2014-12-02 15:31:50 · 864 阅读 · 0 评论 -
在开发高访问量、高负载的系统时要注意什么?
开发大型的电子商务系统高访问量和高负载的问题是不能不考虑的。总的来说需要注意以下几点: 1、HTML静态化 我们尽可能使我们的网站上的页面采用静态页面来实现,这个最简单的方法其实也是最有效的方法。同时,html静态化也是某些缓存策略使用的手段,对于系统中频繁使用数据库查询但是内容更新很小的应用,可以考虑使用html静态化来实现。在进行html静态化的时候可以使用一种折中的方法,就是前转载 2014-11-21 18:44:47 · 754 阅读 · 0 评论 -
互联网Web应用缓存系统的分类
目前Web应用的缓存方式多种多样,有APC,File,SQLite,Memcache等等各种类库实现着不同的缓存方式,如果单纯按他们的性能高低对他们进行选择,那将毫无意义,不但不会使你的应用加速,反而有可能给你带来灾难的后果,只有通过了解他们的实现方式,根据具体应用具体选择,才会使缓存系统发挥出最大的性能。 按照缓存系统存储方式不同,可以将缓存系统分为基于内存的缓存与基于文件的缓存。转载 2014-11-21 19:35:03 · 601 阅读 · 0 评论 -
知彼知己 - 细数各大互联网网站系统的实现语言
历来,为各种语言的优劣,各大论坛的水仗总是不能烟消云散,而且甚至有风起云涌之势。本文就来介绍一下各大互联网公司的网站系统实现语言。 1. Stackoverflow (.NET) Stackoverflow是美国最大的也是世界上最大的程序员高质量在线问答的网站(注:国内也有若干家山寨网站,如Segmentfault)。ET的初创公司太少了,SO比较奇葩一些。.NET成本高,不仅转载 2014-11-21 19:22:11 · 867 阅读 · 0 评论 -
你应该知道的WEB程序性能调优的基本方法
这个地球上有着成千上万的WEB系统在成千上万的服务器上跑着,提供者各种各样的服务。追求WEB程序的性能是每一个WEB开发者应该具备的基本素质。本文为大家介绍一下IBM是如何处理WEB程序性能调优的。 深入WEB服务的请求 动态的 Web 应用程序能够存储大量信息,让用户能够通过熟悉的界面立即访问这些信息。但是,随着应用程序越来越受欢迎,可能会发现对请求的响应速度没有以前那么快了。 开转载 2014-11-21 19:02:20 · 626 阅读 · 0 评论 -
总结web系统的架构
能力/经验有限,不足之处还请指点 : 负载均衡 这里把多台nginx反向代理服务器顶在最前面,可以通过DNS简单轮循或绑定虚拟IP的方法来实现分流。之所以用nginx是因为它的稳定、强大、高性能、低开销、以及对高并发的支持。也可以换成LVS,从效率上来说肯定会比nginx高,因为工作在OSI的第四层传输层,可以修改目标IP。甚至可以在第二层数据链路层修改MAC地址DR模式,相当转载 2014-11-21 19:33:43 · 633 阅读 · 0 评论 -
十年磨一剑:梳理淘宝网技术架构的发展
一、引言 光棍节的狂欢 “时间到,开抢!”坐在电脑前早已等待多时的小美一看时间已到 2011 年 11 月 11 日零时,便迫不及待地投身于淘宝商城一年一度的大型网购促销活动 —— “淘宝双11购物狂欢节”。小美打开早已收藏好的宝贝 —— 某品牌的雪地靴,飞快的点击购买,付款,一回头发现 3000 双靴子已被抢购一空。 小美跳起来,大叫一声“欧耶!”转载 2014-11-21 19:29:07 · 2736 阅读 · 0 评论 -
Facebook谷歌等是如何应对大规模系统架构的?
大家一定都对系统架构不陌生,尤其是对于有5-10年或者更多经验的老码农。西方理论界管系统架构变迁叫做“System Architecture Evolution”。在这篇文章中,我们可以从一些大公司身上了解到许多宝贵的经验来关于设计一个大容量,高并发,分布式的系统。 本期主要介绍国外大型网站如facebook, 谷歌, ebay等,至于国内的典范,请参考淘宝的《十年磨一剑:淘宝技术架构发转载 2014-11-21 19:24:15 · 747 阅读 · 0 评论 -
高访问量UGC系统设计总结
总结下来,一般UGC系统的设计方针就是通过降低系统次要环节的实时一致性,在合理的成本范围内,尽量提高系统响应性能,而提高响应性能的手段归根结底就是三板斧:队列(Queue)、缓存(Cache)和分区(Sharding)。队列:可以缓解并发写操作的压力,提高系统伸缩性,同时也是异步化系统的最常见实现手段。缓存:从文件系统到数据库再到内存的各级缓存模块,解决了数据就近读取的需求。分区:保证了系转载 2014-12-20 10:24:17 · 1109 阅读 · 0 评论 -
大型网站架构改进历程:存储的瓶颈
大型网站定义从网站的技术指标角度考虑这个问题人们很容易犯一个毛病就是认为网站的访问量是衡量的指标,懂点行的人也许会认为是网站在单位时间里的并发量的大小来作为指标大型网站是技术和业务的结合,一个满足某些用户需求的网站只要技术和业务二者有一方难度很大,必然会让企业投入更多的、更优秀的人力成本实现它,那么这样的网站就是所谓的大型网站了。服务器部署分开部署的Web应用服务Session转载 2015-01-29 09:30:22 · 545 阅读 · 0 评论 -
架构大流量稳定交易系统十大原则
原则一:流量隔离原则二:灾备切换原则三:水平扩展-分流原则四:超预期流量-限流原则五:保护系统-降级原则六:提高性能-读写分离原则七:唯快不破-异步化原则八:动态,静态流量分离原则九:线上压力测试-发现瓶颈原则十:预案转载 2015-01-20 11:33:16 · 1234 阅读 · 0 评论 -
微博消息队列架构分析
最近一两年,大部分系统的数据流由基于日志的离线处理方式转变成实时的流式处理方式,并逐渐形成几种通用的使用方式,以下介绍微博的消息队列体系。(点击图片全屏缩放浏览)功能模块当前的主要消息队列分成如图3部分:1、feed信息流主流程处理,图中中间的流程,通过相关MQ worker将数据写入cache、Redis及MySQL,以便用户浏览信息流。传统的队列使用转载 2015-01-18 18:48:22 · 949 阅读 · 0 评论 -
微服务(Microservices)
说在前面 好久没写博文了,心里痒痒(也许是换工作后,有点时间了吧)。最近好像谈论微服务的人比较多,也开始学习一下,但是都有E文,看起来半懂不懂的。 Martinfowler的《微服务》,也算是入门必读了。有人翻译过,但是只有一半。还是自己练练手吧。微服务 “微服务架构”一词在过去几年里广泛的传播,它用于描述一种独立部署的软件应用设计方式。这种架构方式并没有非常准确转载 2015-02-05 09:04:16 · 1050 阅读 · 0 评论 -
58同城背后的数据库设计实践
大家好,我是主持人皮皮,欢迎大家做客第116期名人堂。58同城,一个被贴上“神奇”标签的网站,究竟有多神奇?不用中介租房子、不用花钱招人才、一折吃喝玩乐、闲置物品能换钱。尤其是对58同城这样的以信息交换为主的网站而言,数据就是金矿。如此海量信息背后到底支撑的数据库是什么?无论是双11秒杀,还是12306购票,当并发访问量相当密集的时候,这些数据库系统都会采取缓存策略,那么58同城在数据库的缓存优化转载 2015-01-17 11:37:51 · 1768 阅读 · 0 评论 -
基于Docker的PHP开发环境
现在很多开发者都使用Vagrant来管理他们的虚拟机开发环境,Vagrant确实很酷, 不过也有不少缺点(最主要的是它占用太多的资源)。在容器技术、Docker和更多类Docker技术出现后,解决这个问题就变得简单了。免责声明由于boot2docker的工作方式,本文所述的方法在你的环境中可能无法正常运行。如果需要在非Linux环境下共享文件夹到Docker容器,还需要注意更多额外的细节。转载 2015-02-05 10:25:31 · 913 阅读 · 0 评论