系统架构
文章平均质量分 71
童年的天空
管理?产品?技术?运营?项目?不求面面精通,但求左右逢源。
展开
-
高性能、高流量互联网应用架构设计实战原则
FreeWheel是由前DoubleClick高管Douglas Knopper, Jon Heller和Diane Yu于2007年创建,由硅谷顶级的风险投资机构Battery Ventures投资的互联网视频广告技术服务提供商,总部位于硅谷的Palo Alto,提供互联网视频广告投放、监测、预测和内容互联增值等关键解决方案。不同于其他外资企业,FreeWheel的研发中心设在中国,数据运营中心转载 2011-11-26 17:31:20 · 1486 阅读 · 0 评论 -
ActiveMQ的插件开发介绍
ActiveMQ是一个流行的开源MQ,我们也大规模应用在网站的方方面面,每天处理上亿消息,取得了较好效果。ActiveMQ有一个很好很强大的插件体系,提供了很强的扩展能力,ActiveMQ本身就是使用这一套插件体系实现了很多扩展功能,包括他的权限管理,日志管理,事务等模块都是作为一个插件集成的,我们自己也在消息路由、补偿式事务方面使用了它的插件功能,确实非常方便。 在ActiveMQ中,Br转载 2015-09-01 16:38:50 · 3243 阅读 · 1 评论 -
通过JMS监听Oracle AQ,在数据库变化时触发执行Java程序
Oracle高级消息队列AQ本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用原创 2015-10-25 21:31:49 · 15717 阅读 · 8 评论 -
银联的跨行清算体系架构分析
目前实现跨行清算的系统主要有银联跨行清算系统、第三方支付系统、人行的网上支付跨行清算系统(超级网银),本文主要介绍银联的跨行清算系统。跨行清算业务与清算对象首先从业务上讲,银联的支付清算包括清分和资金划拨两个环节。清分是指对交易日志中记录的成功交易,逐笔计算交易本金及交易费用(手续费、分润等),然后按清算对象汇总扎差习惯应收或应付金额,简言之,就是搞清楚今天应该向谁要多少钱,应该给谁多少钱;资金划原创 2016-07-27 18:39:18 · 29252 阅读 · 4 评论 -
ActiveMQ常见的高可用架构模式及使用LevelDB、ZooKeeper进行高可用消息架构
ActiveMQ进行高可用架构可以采用主从方式(Master-Slave)或负载均衡(集群)方式。 1. 主从模式Master-Slave方式中,只能是Master提供服务,Slave是实时地备份Master的数据,以保证消息的可靠性。当Master失效时,Slave会自动升级为Master,客户端会自动连接到Slave上工作。主从模式,可以使用如下方式实现:1.1. 基于共享文件(Shared原创 2016-07-27 18:48:53 · 4968 阅读 · 1 评论 -
网站的静态资源为什么要使用独立域名,竟然对访问性能还有如此大的影响
在大型网站中,我们发现页面资源经常使用不同的域名进行引用,例如126邮箱的部分js、css、图片存放于http://mimg.127.net/域名下,京东的部分静态图片存放在http://img11.360buyimg.com域名下,那这样做究竟有什么好处呢,和性能又有什么关系呢,下面进行具体分析。一、浏览器并发请求数的限制我们进行网站页面访问时的客户端是浏览器,浏览器的很多机制对网站的访问速度有原创 2016-11-03 12:20:35 · 7880 阅读 · 0 评论 -
高并发系统限流中的漏桶算法和令牌桶算法,通过流量整形和速率限制提升稳定性
在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃。此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速率,就进行等待、排队、降级、拒绝服务等。在限流时,常见的两种算法是漏桶和令牌桶算法算法,本文即对相关内容进行重点介绍。一、漏桶和令牌桶算法的概念漏桶算法(Leaky Bucket):主要目的是控制数据注入到网络的速率,平滑网络上原创 2016-11-09 18:20:22 · 11274 阅读 · 5 评论 -
分布式系统架构的内功心法
天之道,损有余而补不足,是故虚胜实,不足胜有余。对于软件架构,更多的是一种思想,即内功修为。在道与术层面,则更偏重道的修炼,道的深度决定架构的境界。相对而言,术是手段,随不同的环境应运而生,就像太极剑法和独孤九剑,能做到随境而变。架构是一种权衡没有一种架构可以应用到所有环境,也没有一个技术或框架可以解决所有问题,即使是针对同一种场景也往往存在多种解决方案。在架构的时候,更多的是方案和手段的权衡,例原创 2017-03-18 22:28:26 · 1413 阅读 · 0 评论 -
通过tomcat自身进行简单的动静分离
一般的动静分类会使用Apache+tomcat或者Nginx+tomcat的方式进行实现,Nginx+tomcat的方式配置较为简单,而且Nginx处理并发性能也更强;此处仅使用tomcat进行简单的动静分离处理。tomcat、jboss、jetty等容器提供了一个默认的servlet:default,该servlet将静态资源的映射从/改为/static,该servlet在jboss中的定义位置原创 2015-03-27 19:43:16 · 3551 阅读 · 0 评论 -
JVM调优总结 -Xms -Xmx -Xmn -Xss
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。 典型设置:java-Xmx35转载 2012-10-21 12:15:12 · 1262 阅读 · 0 评论 -
浅谈架构模式
软件体系结构通常被称为架构,指可以预制和可重构的软件框架结构。架构尚处在发展期,对于其定义,学术界尚未形成一个统一的意见,而不同角度的视点也会造成软件体系结构的不同理解,以下是一些主流的标准观点。组成派 Mary Shaw在《软件体系结构:一门初露端倪学科的展望》中为“软件架构”给出了非常简明的定义:软件系统的架构将系统描述为计算机组件及组件之间的交互(The architect转载 2011-12-27 22:52:43 · 1073 阅读 · 0 评论 -
TOGAG简介
转自:http://www.cnblogs.com/zhoujg/archive/2010/01/23/1654721.html 什么是企业具有一个共同目标的组织的集合,可能是政府部门,一个完整的公司,公司部门,单一科/处,或由共同拥有权连接在一起的地理疏远的组织链可能是一个“扩展的企业”,包括合作伙伴、供应商和客户什么是架构 架构是针对某种特定目标系统的具有体系性的、普转载 2012-05-27 11:40:55 · 1862 阅读 · 0 评论 -
浮动IP
IP地址分成两种,通常叫做外网IP和内网IP,外网IP是网络连接请求时运营商给你的电脑分配的IP地址,这个IP地址一般情况下是不会变的,除非重新请求。现在一般技术跟踪如流光等都是追踪外网IP。(代理除外)内网IP是在一个局域网中使用的IP,可以自己在电脑中设定。就算不设定外网也会自动帮你分配。你说的浮动IP是不固定的外网IP,就是为了不被特殊手段跟踪,每次的外网IP都不一样。其实现在的原创 2012-05-30 08:50:50 · 6078 阅读 · 0 评论 -
架构之美–开放环境下的网络架构
腾讯开放平台承载着广泛开发者的梦想,腾讯的网络平台正为其保驾护航。如何保障用户对业务的访问体验、如何构建稳定可靠的数据中心及广域网络、如何适应云计算的多样性需求打造云网络? 腾讯网络架构经过萌发期到海量的蜕变,其间发生了怎样的变化?积累了哪些可供业界分享的经验?5月16日晚,腾讯大讲堂·深圳站《架构之美——开放环境下的网络架构》活动在腾讯总部腾讯大厦多功能厅举办,腾讯网络架构中心总监马志强在两转载 2012-06-04 22:25:37 · 3105 阅读 · 0 评论 -
通向架构师的道路(第五天)之tomcat集群-群猫乱舞
http://blog.csdn.net/lifetragedy/article/details/7712691 一、为何要集群单台App Server再强劲,也有其瓶劲,先来看一下下面这个真实的场景。当时这个工程是这样的,tomcat这一段被称为web zone,里面用spring+ws,还装了一个jboss的规则引擎Guvnor5.x,全部是ws没有service la转载 2012-07-05 20:30:38 · 10916 阅读 · 1 评论 -
Tomcat性能调优方案
一、操作系统调优 对于操作系统优化来说,是尽可能的增大可使用的内存容量、提高CPU的频率,保证文件系统的读写速率等。经过压力测试验证,在并发连接很多的情况下,CPU的处理能力越强,系统运行速度越快。。【适用场景】 任何项目。 二、Java虚拟机调优 应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。转载 2012-06-24 19:34:06 · 1585 阅读 · 0 评论 -
解决 - java.lang.OutOfMemoryError: unable to create new native thread
工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文章,这篇文章分为三个部分:认识问题、分析问题、解决问题。 一、认识问题:首先我们通过下面这个测试程序 来认识这个问题:运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, eclipse 3.4,测试程序: Java代码转载 2012-07-10 22:44:27 · 1701 阅读 · 0 评论 -
策略枚举模式
先看看策略模式:策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。(原文:The Strategy Pattern defines a family of algorithms,encapsulates each one,and makes them interchangeable. Strategy lets the alg原创 2012-07-23 08:50:34 · 2838 阅读 · 0 评论 -
优化Java堆大小的5个技巧
本文作者Pierre是一名有10多年经验的高级系统架构师,他的主要专业领域是Java EE、中间件和JVM技术。根据他多年的工作实践经验,他发现许多性能问题都是由Java堆容量不足和调优引起的。下面他将和大家分享非常实用的5个Java堆优化技巧。1.JVM:对难以理解的东西产生恐惧感千万不要以为,通过配置,调优,就可以排除那些你所不明白的问题。有些人认为Java程序员不需要知道内部JVM内转载 2012-08-07 08:50:01 · 1420 阅读 · 0 评论 -
系统设计时关于性能问题处理的几点心得
【将复杂的运算分解到其它过程】此种思想将整个系统的操作看成一个整体,类似于负载均衡。在系统中常见的一个问题是,数据量比较大,对数据的查询统计变得很复杂很缓慢。对于这种问题应该在设计时就进行考虑,建立表的冗余字段或者汇总表存储一些汇总信息,在录入或更新数据时计算冗余字段或汇总表的值。这样将复杂的运算时间分解到了数据录入修改的时间。而一般的录入/修改都是单笔的操作,此时的一点点延时(可能很少很少)原创 2012-08-21 07:46:35 · 2587 阅读 · 0 评论 -
ZooKeeper使用场景总结
转载自:http://www.cnblogs.com/fanguangdexiaoyuer/p/6086463.html 数据发布与订阅(配置中心)发布与订阅模型,即所谓的配置中心,顾名思义就是发布者将数据发布到ZK节点上,供订阅者动态获取数据,实现配置信息的集中式管理和动态更新。例如全局的配置信息,服务式服务框架的服务地址列表等就非常适合使用。应用中用到的一些配置信息放到ZK上进行集中管理。这类转载 2017-03-09 21:05:19 · 2825 阅读 · 0 评论