性能优化 架构设计
文章平均质量分 83
codepython
这个作者很懒,什么都没留下…
展开
-
理解RESTful架构
越来越多的人开始意识到,网站即软件,而且是一种新型的软件。这种"互联网软件"采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(high latency)、高并发等特点。网站开发,完全可以采用软件开发的模式。但是传统上,软件和网络是两个不同的领域,很少有交集;软件开发主要针对单机环境,网络则主要研究系统之间的通信。互联网的兴起,使得这两个领域开始融合,现在我转载 2015-12-09 23:20:24 · 913 阅读 · 0 评论 -
淘宝应对"双11"的技术架构分析
双“11”最热门的话题是TB ,最近正好和阿里的一个朋友聊淘宝的技术架构,发现很多有意思的地方,分享一下他们的解析资料: 淘宝海量数据产品技术架构 数据产品的一个最大特点是数据的非实时写入,正因为如此,我们可以认为,在一定的时间段内,整个系统的数据是只读的。这为我们设计缓存奠定了非常重要的基础。 图1 淘宝海量数据产品技术架构 按照数据的流向来转载 2015-11-17 17:15:20 · 673 阅读 · 0 评论 -
淘宝架构框架
一、个人网站 2003 年 4 月 7 日,马云,在杭州,成立了一个神秘的组织。他叫来十位员工,要他们签了一份协议,这份协议要求他们立刻离开阿里巴巴,去做一个神秘的项目。这个项目要求绝对保密,老马戏称“连说梦话被老婆听到都不行,谁要是透漏出去,我将追杀到天涯海角”。这份协议是英文版的,匆忙之间,大多数人根本来不及看懂,但出于对老马的信任,都卷起铺盖离开了阿里巴巴。 他们去了一转载 2015-11-17 17:48:12 · 6629 阅读 · 1 评论 -
移动App该如何保存用户密码
这个实际上和桌面程序是一样的。先看下一些软件是如何保存用户密码的:我们先来看下QQ是怎么保存密码的:参考:http://bbs.pediy.com/archive/index.php?t-159045.html,桌面QQ在2012的时候把密码md5计算之后,保存到本地加密的Sqlite数据库里。再来看下手机淘宝是怎么做的:转载 2015-11-17 10:45:52 · 1039 阅读 · 0 评论 -
大型高并发高负载网站/论坛的系统架构
一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单,随着互联网业务的不断丰富,网站相关的技术经过这些年的发展,已经细分到很细的方方面面,尤其对于大型网站来说,所采用的技术更是涉及面非常广,从硬件到软件、编程语言、数据库、WebServer、防火墙等各个领域都有了很高的要求,已经不是转载 2015-10-27 19:09:20 · 1369 阅读 · 0 评论 -
Jedis使用示例
Jedis 是 Redis 官方首选的 Java 客户端开发包。工作过程总结的一个示例,贴出来,如下:Java代码 package com.wujintao.redis; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.转载 2015-09-06 17:00:52 · 655 阅读 · 0 评论 -
redis读写性能测试
性能测试服务器性能存储 一、基础测试: redis读写性能测试redis官网测试读写能到10万左右,非常吸引人,我在研发环境对redis进行测试,发现redis的速度的确很快,此测试是为日后应用优化提供研发参考。由于受到网络环境的限制,本机是100M的网卡,最高10M/s的传输速度,所以当测试到每秒读取45000条时,测试机和测试服务器上传或者下载速度已经达到转载 2015-09-06 17:02:41 · 2476 阅读 · 0 评论 -
Springmvc构造RESTful详细讲解
Rest介绍转载 2015-12-11 14:13:08 · 606 阅读 · 1 评论 -
RESTful API 设计指南
网络应用程序,分为前端和后端两个部分。当前的发展趋势,就是前端设备层出不穷(手机、平板、桌面电脑、其他专用设备......)。因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信。这导致API构架的流行,甚至出现"API First"的设计思想。RESTful API是目前比较成熟的一套互联网应用程序的API设计理论。我以前写过一篇《理解RESTful架构》,探讨如何理转载 2015-12-11 10:48:43 · 487 阅读 · 0 评论 -
Redis: 实现树形数据结构
目的:n 实现树形数据结构n 一次获取所有子节点 节点间没有排序,如果要实现排序,可以在每个节点增加一个排序字段,在 SORT 的 BY 参数中指定排序依据。原始树: id: root, name: Root id: 1, name: Node1 id: 11转载 2015-10-30 16:33:56 · 12713 阅读 · 0 评论 -
官网指南-RabbitMQ-Java Client API Guide
官网指南-RabbitMQ-Java Client API Guide概述RabbitMQ Java client 将com.rabbitmq.client作为其顶层包. 关键类和接口有:Channel Connection ConnectionFactory Consumer协议操作可通过Channel接口来进行.Connection用于开启channels,注册connec...转载 2018-09-11 14:40:17 · 401 阅读 · 0 评论 -
为什么说分布式事务不再适用于微服务架构
传统应用使用本地事务和分布式事务保证数据一致性,但是在微服务架构中数据都是服务私有的,需要通过服务提供的API来访问,所以分布式事务不再适用微服务架构。那么微服务架构又该如何保证数据一致性呢?本文就来谈谈这个话题。 传统分布式事务不是微服务中数据一致性的最佳选择 微服务架构中应满足数据最终一致性原则 微服务架构实现最终一致性的三种模式 对账是最后的终极防线 传统分布式事务 我们先来看下第一部分...转载 2018-03-06 21:30:43 · 427 阅读 · 0 评论 -
最近在看《微服务设计》这本书。记录下自己的心得体会。
最近在看《微服务设计》这本书。记录下自己的心得体会。豆瓣:https://book.douban.com/subject/26772677/1.主题脉络第一章 微服务:阐述了微服务的特点,以及带来的好处;第二章 演化式架构师:描述了架构师的工作内容和若干准则,非常有参考价值。第三章 如何建模服务 :好服务的标准?以及如何拆转载 2017-08-27 14:01:25 · 4119 阅读 · 0 评论 -
使用Jersey创建RESTful服务
一、REST基础概念首先REST是 Representational State Transfer 的缩写,如果一个架构符合REST原则,它就是RESTful架构。在REST中的一切都被认为是一种资源。所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个具体的实在。你可以用一个URI(统一资源定位符)指向转载 2017-08-25 14:38:57 · 413 阅读 · 0 评论 -
HTTP 传输内容的压缩
一、HTTP压缩和内容编码的区别HTTP压缩,在HTTP协议中,其实是内容编码的一种。在http协议中,可以对内容(也就是body部分)进行编码, 可以采用gzip这样的编码。 从而达到压缩的目的。 也可以使用其他的编码把内容搅乱或加密,以此来防止未授权的第三方看到文档的内容。所以我们说HTTP压缩,其实就是HTTP内容编码的一种。 所以大家不要把HTTP压缩和HTTP内容转载 2017-08-25 14:36:36 · 786 阅读 · 0 评论 -
两级缓存框架 J2Cache 的简单实验
今天对 J2Cache 做了最基本的测试,代码已经开放出来,地址是 http://git.oschina.net/ld/J2Cache补充为什么要做这个框架:说实话,OSC 现在还是单个 Tomcat,只不过我们做了一些分流措施将爬虫的请求独立运行了。我一直跟人说 OSC 的扩展很容易,只需要加多几个 Tomcat 就搞定了。如果是纯浏览的网站的确是这样的,但事实上并非如此。要让应转载 2015-12-31 17:14:31 · 1898 阅读 · 0 评论 -
Redis
本词条由“科普中国”百科科学词条编写与应用工作项目审核。Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。中文名转载 2015-06-13 11:09:02 · 814 阅读 · 0 评论 -
Redis大冒险
Redis大冒险原文:ALCA in Redis-land一篇对使用Redis在NoSQL的世界中冒险之旅的总结。The legs of our journey像每次出发一样,先对我们这次的旅程路线做个介绍:Redis? What is it?Available datatypesWhere are my tables?A sim转载 2015-06-11 11:17:54 · 376 阅读 · 0 评论 -
EhCache参数及磁盘持久化加载
EhCache是不错的Java开源缓存模块,Cache的配置很灵活,官方提供的Cache配置方式有好几种。你可以通过声明配置、在xml中配置、在程序里配置或者调用构造方法时传入不同的参数。你可以将Cache的配置从代码中剥离出来,也可以在使用运行时配置,所谓的运行时配置无非也就是在代码中配置。以下是运行时配置的好处:1、在同一个地方配置所有的Cache,这样很容易管理Cache的内存和转载 2015-01-23 08:18:38 · 8384 阅读 · 1 评论 -
HBase多线程建立HTable问题
最近在写wormhole的HBase plugin,需要分别实现hbase reader和hbase writer。 相关阅读: Hadoop+HBase搭建云存储总结 PDF HBase 结点之间时间不一致造成regionserver启动失败 Hadoop+ZooKeeper+HBase集群配置 在测试的时候会报错如下: 2013-07-08 0转载 2015-01-23 12:28:31 · 1984 阅读 · 0 评论 -
JSP学习笔记(七十六):使用EHCache
一、获取EHCache下载地址:http://ehcache.sourceforge.net/二、使用EHCache添加对应的jar包到classpath中:我使用的是1.5,需要添加ehcache-1.5.0.jar,backport-util-concurrent-3.0.jar,commons-logging-1.0.4.jar(这个包struts2中有,我没有添加)在src转载 2015-01-23 08:36:19 · 774 阅读 · 0 评论 -
Tomcat并发数优化的方法总结
web应用的并发提升,除了负载均衡。在小企业中也可以通过一些软件的上的设置来进行一些优化。下面是一些在服务器上修改tomcat参数的优化方法,非常简单实用!(这些方法通过网络整理的) 1,让Tomcat6 中支持Java语言的特性 NIO( New I/O) 引用使用NIO在服务器端会有更好的性能,加强服务器端对并发处理的性能。 请注意:很抱歉,在tomcat6在默认的配转载 2015-01-20 17:08:29 · 509 阅读 · 0 评论 -
memcached搭建缓存系统
一、概念Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升性能。二、适用场合1.分布式应用。由于memcached本身基于分布式的系统,所以尤其适合大型的分布式系统。2.数据库前段缓存。数据库常常是网站系统的瓶颈。数据库的大并发量访问,常常造成网站内存溢出。转载 2014-12-29 11:49:26 · 461 阅读 · 0 评论 -
EhCache 分布式缓存/缓存集群
开发环境:System:WindowsJavaEE Server:tomcat5.0.2.8、tomcat6JavaSDK: jdk6+IDE:eclipse、MyEclipse 6.6 开发依赖库:JDK6、 JavaEE5、ehcache-core-2.5.2.jarEmail:hoojo_@126.comBlog:http://blog.csdn.net/转载 2015-01-10 19:57:46 · 381 阅读 · 0 评论 -
EhCache 缓存系统简介
EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是 Hibernate 中默认的 CacheProvider。下图是 EhCache 在应用程序中的位置:图 1. EhCache 应用架构图EhCache 的主要特性有:快速;简单;多种缓存策略;缓存数据有两级:内存和磁盘,因此无需担心容量问题;缓存数据会在虚拟机重转载 2015-01-10 20:00:26 · 478 阅读 · 0 评论 -
我读《大型网站技术架构》笔记
之前很早的时候了解过这本书,但是发现很多都是概念性的东西,没有意向看。后来在微博上看到一个我比较欣赏的架构师分享这本书,说是基本上涵盖了他过去十来年的一些点,于是打算买回来看了看。发现还是挺不错的,后面的案例有的过于宽泛,但是整体还是挺不错的。 架构一词,比较飘渺,隐藏在代码的背后,似有似无。大家对于架构师这个职位也褒贬不一。大型网站不是设计出来的,而是逐步发展转载 2014-08-02 14:20:16 · 763 阅读 · 0 评论 -
Ehcache缓存配置
简介 Cache的配置很灵活,官方提供的Cache配置方式有好几种。你可以通过声明配置、在xml中配置、在程序里配置或者调用构造方法时传入不同的参数。 你可以将Cache的配置从代码中剥离出来,也可以在使用运行时配置,所谓的运行时配置无非也就是在代码中配置。以下是运行时配置的好处: · 在同一个地方配置所有的Cache,这样很容易管理Cache的内存和磁转载 2015-01-23 07:57:11 · 436 阅读 · 0 评论 -
大数据性能调优之HBase的RowKey设计
1 概述HBase是一个分布式的、面向列的数据库,它和一般关系型数据库的最大区别是:HBase很适合于存储非结构化的数据,还有就是它基于列的而不是基于行的模式。既然HBase是采用KeyValue的列存储,那Rowkey就是KeyValue的Key了,表示唯一一行。Rowkey也是一段二进制码流,最大长度为64KB,内容可以由使用的用户自定义。数据加载时,一般也是根据Rowke转载 2015-01-23 14:39:37 · 1384 阅读 · 0 评论 -
Ehcache介绍
1.OverviewEhcache从 Hibernate 发展而来,逐渐涵盖了Cahce界的全部功能,是目前发展势头最好的一个项目。标准缓存分布式缓存(基于RMI/JGroups/JMS)URL,页面片段缓存(类似OSCache的相关部分)中央缓存服务器(类似Memcached)2.基本功能与配置Ehcache的基本功能,可以从配置文件中学习转载 2015-01-23 08:17:00 · 439 阅读 · 0 评论 -
用Redis bitmap统计活跃用户、留存
用Redis bitmap统计活跃用户、留存分类: NOSQL 大数据处理 Spool的开发者博客,描述了Spool利用Redis的bitmaps相关的操作,进行网站活跃用户统计工作。 原文:http://blog.getspool.com/2011/11/29/fast-easy-realtime-metrics-using-redis-bi转载 2015-06-11 11:05:21 · 595 阅读 · 0 评论 -
Java中使用Jedis操作Redis
使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar,下载地址:http://files.cnblogs.com/liuling/commons-pool-1.5.4.jar.zip转载 2015-06-04 18:59:48 · 450 阅读 · 0 评论 -
java对redis的基本操作
java对redis的基本操作一、server端安装 1、下载 https://github.com/MSOpenTech/redis 可看到当前可下载版本:redis2.6 下载windows平台文件: 解压后,选择当前64位win7系统对应的版本: 2、安装转载 2015-06-04 18:47:42 · 462 阅读 · 0 评论 -
几点建议,让Redis在你的系统中发挥更大作用
几点建议,让Redis在你的系统中发挥更大作用2011-07-18 09:19 Salvatore 'antirez’ Sanfilippo/贾隆译 51CTO 字号:T | TRedis在很多方面与其他数据库解决方案不同:它使用内存提供主存储支持,而仅使用硬盘做持久性的存储;它的数据模型非常独特,用的是单线程。另一个大区别在于,你可以在开发环境中使用Redis的功转载 2015-06-04 15:58:56 · 369 阅读 · 0 评论 -
Web API 版本控制的几种方式
这篇文章写得很好,介绍了三种实现web api版本化的三种方式。我从评论里又收集到两种方式,所以一共是5种:方式一:利用URL[html] view plaincopyHTTP GET: https://haveibeenpwned.com/api/v2/breachedaccount/foo 方式二:利用用户自定转载 2015-06-02 15:34:34 · 896 阅读 · 0 评论 -
How are REST APIs versioned?
How are REST APIs versioned?Posted on March 12, 2012, Modified on September 15, 2014I am currently working on a REST API, and the question was raised, how are, and how should, REST APIs be转载 2015-06-02 15:35:41 · 1121 阅读 · 0 评论 -
Web API 版本化的介绍
Web API 版本化的介绍返回原文英文原文:Introduction to Web API VersioningWebAPI HTTP Custom Header Based VersioningWebAPI Namespace Based VersioningIntroductionIn this article le转载 2015-06-02 16:07:58 · 1269 阅读 · 0 评论 -
各大网站架构总结笔记
各大网站架构总结笔记记得在大学里不止一次关注网站架构方面的东西了,但每次都是泛泛了解,也没有着重记录,一段时间后对各种架构的思想也就模糊了。这几天不知怎么的又心血来潮(可能是快毕业了冲动了)想深入了解一下网站架构方面的知识,并想通过这次来总结一下网站架构,记录一点东西供自己以后翻阅,也给那些希望了解这方面知识的朋友提供一点点有用的信息,下面是我这次学习的总结笔记,有什么写得转载 2015-03-04 10:14:28 · 2233 阅读 · 0 评论 -
大型网站技术架构
架构演变第一步:物理分离webserver和数据库最开始,由于某些想法,于是在互联网上搭建了一个网站,这个时候甚至有可能主机都是租借的,但由于这篇文章我们只关注架构的演变历程,因此就假设这个时候已经是托管了一台主机,并且有一定的带宽了,这个时候由于网站具备了一定的特色,吸引了部分人访问,逐渐你发现系统的压力越来越高,响应速度越来越慢,而这个时候比较明显的是数据库和应用互相影响,应用出问题了转载 2014-08-02 14:25:08 · 429 阅读 · 0 评论