服务器及架构
Coding-lover
Keep hungry,Keep foolish(可通过微信联系我:unilay_yang)
展开
-
Tomcat7 配置数据源
在JDBC的操作中,打开和关闭数据库连接,是最耗费数据库资源的,我们可以在服务器上存放一定量的数据库连接,每当程序要连接数据库时,就将这些链接给它们,而一旦程序退出数据库操作时,要将这些链接返回给服务器。下图是数据源的基本概念:1:通过Connection Pool 管理数据库连接2:通过Data Source 去管理Connection Pool3: Da转载 2014-11-30 23:27:07 · 787 阅读 · 0 评论 -
架构设计心得体会
架构师不是那么好当的,架构设计首先最重要的一点是搞清楚需求,深刻理解业务,做业务和技术的桥梁,因为架构设计的最终目的是满足需求,为客户所用。我有以下一些心得:简单,不过度设计:架构设计需要设计模式,用成熟的设计模式来解决架构问题,但不要滥用而导致过度设计。 重视缓存,消息队列:架构设计当中要给以缓存足够的重视,而异步消息队列系统对分布式系统提高系统吞吐能力非常重要。框架的选择:选择成熟转载 2014-12-14 15:46:05 · 898 阅读 · 0 评论 -
一步步构建大型网站架构
之前我简单向大家介绍了各个知名大型网站的架构,MySpace的五个里程碑、Flickr的架构、YouTube的架构、PlentyOfFish的架构、WikiPedia的架构。这几个都很典型,我们可以从中获取很多有关网站架构方面的知识,看了之后你会发现你原来的想法很可能是狭隘的。今天我们来谈谈一个网站一般是如何一步步来构建起系统架构的,虽然我们希望网站一开始就能有一个很好的架构,但马克思告诉转载 2014-10-16 11:37:02 · 599 阅读 · 0 评论 -
mysql 在大型网站的应用架构演变
写在最前:本文主要描述在网站的不同的并发访问量级下,Mysql架构的演变可扩展性架构的可扩展性往往和并发是息息相关,没有并发的增长,也就没有必要做高可扩展性的架构,这里对可扩展性进行简单介绍一下,常用的扩展手段有以下两种 Scale-up : 纵向扩展,通过替换为更好的机器和资源来实现伸缩,提升服务能力 Scale-out : 横向扩展, 通过加节点(机器)来实现伸缩,提升服务能力 对于互转载 2015-06-05 14:56:20 · 913 阅读 · 0 评论 -
大型网站架构体系的演变
互联网上有很多关于网站架构的各种分享,有些主要是从运维和基础架构的角度去分析的(堆机器,做集群),太关注技术细节实现,普通的开发人员基本看不太懂。 本文上篇将主要介绍大型网站基础架构的扩展,下篇则重点从应用程序的角度去介绍网站架构的扩展和演变。草根时期,快速开发网站并上线。当然,通常只是先试水,用户规模也没有形成,经济能力和投入也非常有限。有一定的业务量和用户规模了,想提升网站速度,于是,缓存出场转载 2015-06-26 20:15:27 · 718 阅读 · 0 评论 -
大型网站图片服务器架构的演进
在主流的Web站点中,图片往往是不可或缺的页面元素,尤其在大型网站中,几乎都将面临“海量图片资源”的存储、访问等相关技术问题。在针对图片服务器的架构扩展中,也会历经很多曲折甚至是血泪教训(尤其是早期规划不足,造成后期架构上很难兼容和扩展)。本文将以一个真实垂直门户网站的发展历程,向大家娓娓道来。构建在Windows平台之上的网站,往往会被业内众多技术认为很“保守”,甚至会有点。很大部分原因,是由于微转载 2015-07-02 22:31:08 · 857 阅读 · 0 评论 -
浅谈图片服务器的架构演进
现在几乎任何一个网站、Web App以及移动APP等应用都需要有图片展示的功能,对于图片功能从下至上都是很重要的。必须要具有前瞻性的规划好图片服务器,图片的上传和下载速度至关重要,当然这并不是说一上来就搞很NB的架构,至少具备一定扩展性和稳定性。虽然各种架构设计都有,在这里我只是谈谈我的一些个人想法。对于图片服务器来说IO无疑是消耗资源最为严重的,对于web应用来说需要将图片服务器做一定的分离,否则转载 2015-07-02 22:19:40 · 752 阅读 · 0 评论 -
理解OAuth 2.0
OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版。 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749。一、应用场景为了理解OAuth的适用场合,让我举一个假设的例子。 有一个”云冲印”的网站,可以将用户储存在Google的照片,冲印出来。用户为了使用该服务,必须让”云冲印”读取自己储转载 2015-09-29 19:19:16 · 708 阅读 · 0 评论 -
专访范钢:重构不是阳春白雪的高端玩意,而是码农编程利器
转载自:http://www.csdn.net/article/2015-09-22/2825775转载 2015-10-13 00:07:26 · 1728 阅读 · 1 评论 -
大型网站之分布式会话管理
随着网站的功能和用户越来越多,单机器服务部署的Web应用已经不能再支持了。这时候就需要优化或调整目前的架构,具体怎么优化,或先优化哪部分,这取决于网站的具体情况, 并非总是一个套路。如根据使用情况得知,数据库压力大,则就可以先设施读写分离,分库分表,是垂直划分(可以简单的理解为按业务功能划分), 还是水平划分(如用户表数据量很多,就可以按一定的规则分表设计,表结构仍然是相同的)。如Web应用服务器压转载 2015-10-15 09:29:13 · 536 阅读 · 0 评论 -
分布式系统中 Unique ID 的生成方法
一, 问题描述在分布式系统存在多个 Shard 的场景中, 同时在各个 Shard 插入数据时, 怎么给这些数据生成全局的 unique ID?在单机系统中 (例如一个 MySQL 实例), unique ID 的生成是非常简单的, 直接利用 MySQL 自带的自增 ID 功能就可以实现.但在一个存在多个 Shards 的分布式系统 (例如多个 MySQL 实例组成一个集群, 在这个集群中插入数据)转载 2015-12-18 10:03:10 · 1728 阅读 · 0 评论 -
大型网站系统架构演化之路
一、大型网站系统特点 (1)高并发、大流量:PV量巨大 (2)高可用:7*24小时不间断服务 (3)海量数据:文件数目分分钟xxTB (4)用户分布广泛,网络情况复杂:网络运营商 (5)安全环境恶劣:黑客的攻击 (6)需求快速变更,发布频繁:快速适应市场,满足用户需求 (7)渐进式发展:慢慢地运营出大型网站二、大型网站架构演化过程 (1)初始阶段网站架构:一台Server就刚需—应用转载 2015-08-01 17:43:13 · 637 阅读 · 0 评论 -
分享舍得网开发经验(修改版)(转载)
导读: 不知道为什么原来的帖子被删除了,我用心写这么高水准的帖子,不应该被删才对。该帖在原来的基础上做了修正和增加。 舍得网(shedewang.com)的开发暂时告一段落,一个人用时不到1个月,java底层代码16902行,jsp代码27685行,共计44587行。整个开发过程遇到过许多问题,但最后都解决了。下面把我在开发中遇到的所有问题和解决办法列出,供参考。 系统构架:r转载 2014-08-09 18:04:36 · 1373 阅读 · 0 评论 -
消息解耦初探
一般来说解耦有两条途径,一是远程请求,二是消息(推送)。这两种方式可以说使用的应用场景不一样,比如说远程请求这是主动方在调用方,而推送的主动权肯定是在生产方。为什么要解耦?这个。。。 如果用消息进行应用间解耦,消息将作为应用间的介质作为上下文传输。其实知道生产者和消费者就很容易明白,这样两个应用之间将不会有任何代码的依赖。 这样会有一个消息提供方和消息接收方。也可以说是消息生产方和消息消费方转载 2015-04-23 13:56:42 · 1091 阅读 · 0 评论 -
项目分享-限流框架的实现
背景 开篇之前我一直在想怎么把这个项目给讲清楚,如果在互联网公司有高并发场景对于这个内容的就比较容易接受。这里大概说一下背景:代码写于2013年四月份,最开始的雏形是在2012年写的,从另外一个项目上进行,代码侵入性比较强。我在今年四月份进行了剥离,实现可插拔式的监控。言归正传,当时对于性能领域非常有兴趣,所以就在想如何写一个框架对于现有项目对于”类级别(严格来讲是方法级别)”做性能监控。既然是性转载 2015-04-23 14:32:21 · 1148 阅读 · 0 评论 -
Apache与Nginx的优缺点比较
1、nginx相对于apache的优点: 轻量级,同样起web 服务,比apache占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速啊 apache 相对于nginx 的优点: rewrite ,比nginx转载 2014-11-29 00:47:43 · 530 阅读 · 0 评论 -
Web系统大规模并发——电商秒杀与抢购
电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注秒杀和抢购的技术实现和优化,同时,从技术层面揭开,为什么我们总是不容易抢到火车票的原因? 一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,转载 2014-12-17 11:11:54 · 1031 阅读 · 0 评论 -
Java系的大网站架构-LinkedIn和淘宝
用Java的大网站很多(LinkedIn,淘宝),当然用LAMP(PHP+MySQL)的更多(Facebook是把PHP转成C++编译的,也算),用ASP.NET也有一些(如Stackoverflow,CSDN,京东)。其实高并发的大网站架构和具体的语言没有啥大关系。针对高可用、可扩展的、高可伸缩性的、异步、解耦、面向服务的、分而治之的架构设计才是关键。操作层面来说,分布式文件系统、异步消息系统、转载 2014-12-15 00:17:35 · 937 阅读 · 0 评论 -
淘宝海量数据产品的技术架构
淘宝海量数据产品的技术架构是什么,又是如何应对双十一的海量访问的?先看图:按照数据的流向来划分,我们把淘宝数据产品的技术架构分为五层(如图1所示),分别是数据源、计算层、存储层、查询层和产品层。位于架构顶端的是我们的数据来源层,这里有淘宝主站的用户、店铺、商品和交易等数据库,还有用户的浏览、搜索等行为日志等。这一系列的数据是数据产品最原始的生命力所在。 在数据源转载 2014-12-15 00:51:03 · 1773 阅读 · 0 评论 -
6种有效的开发模型
叶亚明(Eric Ye),携程首席架构师,负责移动、Web、呼叫中心等部门的研发工作,领导开发的业务和领域包括酒店、机票、商务旅游、开放API、全球站、用户体验研究。他从过去十年的电子商务变革中,总结出六种有效的编程模型,目前被广泛应用于携程内部的产品研发过程中。此外,他还致力于升级携程网架构并创建新一代框架,以提高可扩展性和可用性。 在加入携程之前,叶亚明是eBay公司平台工程的总监,在升级eB转载 2014-12-15 00:59:14 · 839 阅读 · 0 评论 -
Java系的几种WebServer和ApplicationServer
微软提供的Web服务器就是IIS,而在Java系就没那么简单了。首先要分为Web Server和Application Server,前者不说了,后者既可以进行运算又可以做web server,下面详细说一下:Apache: Apache是免费老牌web服务器,特长是处理静态页面,对静态内容的效率非常高。Tomcat:Tomcat是免费的Web服务器,提供对JSP和Servlet动态内转载 2014-12-15 00:24:11 · 1791 阅读 · 0 评论 -
RESTful API后台系统架构设计(Java)
最近设计和实现了一个JAVA的RESTful API的后台业务系统架构,主要基于Java平台。设计要求是:性能:平均响应时间(RESTful API)小于2s(平均负载的情况下),并发访问200个以上。可用性:99%,87.6小时每年宕机时间伸缩性:允许负载均衡集群水平扩展web server和application server。保留半年的历史数据。可以扩展。安全性:具有基于RBAC的角转载 2014-12-15 00:37:25 · 2459 阅读 · 0 评论 -
基于Java技术的大型网站架构方案
Web层主体架构可以基于 Struts 1.X/2.X,当然有很多更好的控制层框架供选择,以快速敏捷为准则吧。抽象出核心库封装 控制器和中间层 的操作。在大规模集群环境下,session复制会引起严重的性能问题。考虑用 集群缓存 + cookie验证 代替session实现权限控制吧。Cache层配置 Memcache 组成集群缓存对 Memcache 客户端进行封装Mem转载 2015-03-12 00:56:45 · 755 阅读 · 0 评论 -
tomcat 内存、连接数等性能参数设置
默认参数不适合生产环境使用,因此需要修改一些参数 1、修改启动时内存参数、并指定JVM时区 (在windows server 2008 下时间少了8个小时): 在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数: window下, 在catalina.bat最前面:set JAVA_OPTS=-转载 2015-04-01 12:02:57 · 633 阅读 · 0 评论 -
远程服务化的思路整理
这里客户端和远程服务都是具体和业务相关的,比如说会员服务需要独立部署。远程服务框架是要做的工作就是屏蔽具体和远程接口交互的细节,方便调用方进行调用,比如说配上接口名,服务器IP就能实现通信。实际应用中也不会太关心具体的机器IP。假如说会员服务是一个集群服务,那么对于客户端而言并不需要关心具体的IP,它所关心的只有服务,具体路由到哪台机器去处理也将是目标服务需要做的事情。并非客户端去做的事情。转载 2015-04-23 13:46:31 · 576 阅读 · 0 评论 -
漫谈SOA(面向服务架构)
面向服务架构的思想在整个软件的架构中已经不是什么新鲜的东西。我简单的认为服务化是模块化的延伸,所以服务化有着和模块化类似的优点和缺点。这里不再讨论这些服务定义服务与服务之间的通信协议(像WSDL等等),我并不认为这是服务化的本质所在。即使Java语言用RMI进行服务与服务之间的通信也仍然不违背服务化的宗旨。一.为什么需要面向服务架构 1.我觉得面向服务的根本好处是便于管理,也是应用大到一定时候的必转载 2015-04-23 13:36:01 · 707 阅读 · 0 评论 -
大型网站架构技术一览
网站系统架构层次如下图所示:1.前端架构前端指用户请求到达网站应用服务器之前经历的环节,通常不包含网站业务逻辑,不处理动态内容。浏览器优化技术并不是优化浏览器,而是通过优化响应页面,加快浏览器页面的加载和显示,常用的有页面缓存、合并HTTP减少请求次数、使用页面压缩等。CDN内容分发网络,部署在网络运营商机房,通过将静态页面内容分发到离用户最近最近的CDN服务器,使用户可以通过最短路径获取内转载 2016-02-04 10:07:00 · 853 阅读 · 0 评论