- 博客(83)
- 收藏
- 关注
转载 高并发系统之HTTP缓存
http://geek.csdn.net/news/detail/96586因本文主要以浏览器缓存场景介绍,所以非浏览器场景下的一些用法本文不会介绍,而且本文以chrome为测试浏览器。浏览器缓存是指当我们使用浏览器访问一些网站页面或者http服务时,根据服务端返回的缓存设置响应头将响应内容缓存到浏览器,下次可以直接使用缓存内容或者仅需要去服务端验证内容是否过期即可。这
2016-08-22 18:49:28 426
转载 机器学习工程师需要了解的十种算法
http://geek.csdn.net/news/detail/96519毫无疑问,近些年机器学习和人工智能领域受到了越来越多的关注。随着大数据成为当下工业界最火爆的技术趋势,机器学习也借助大数据在预测和推荐方面取得了惊人的成绩。比较有名的机器学习案例包括Netflix根据用户历史浏览行为给用户推荐电影,亚马逊基于用户的历史购买行为来推荐图书。那么,如果你想要学习机器
2016-08-22 18:18:27 472
转载 性能分析系列——小命令保证大性能
http://geek.csdn.net/news/detail/90509一、开发者的自测利器-Hprof命令1. 示例演示例子程序:/** * PROJECT_NAME: test * DATE: 16/7/22 * CREATE BY: chao.cheng **/public class HProfTest {
2016-07-26 11:15:46 426
转载 异地多活架构设计
https://yq.aliyun.com/articles/577151. 引言有幸参与了阿里游戏的一个高可用方案的设计,并且在网上发表了方案(面向业务的立体化高可用架构设计),后来参加GOPS全球运维大会深圳站,与众多行业高手交流,发现大家对“异地多活”这个方案设计非常感兴趣,毕竟“异地多活”的方案价值非常大,尤其是互联网行业,规模稍微大一点几乎都必须是标配;但
2016-07-21 17:28:23 3198
转载 MyCat:开源分布式数据库中间件
http://www.csdn.net/article/2015-07-16/2825228为什么需要MyCat?虽然云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代。如果传统数据易于扩展,可切分,就可以避免单机(单库)的性能缺陷。MyCat的目标就是:低成本地将现有的单机数据库和应用平滑迁移到“云”端,解决数据存储和业务规模迅速
2016-07-21 11:03:44 241
转载 Canal--------阿里巴巴开源项目: 基于mysql数据库binlog的增量订阅&消费
http://agapple.iteye.com/blog/1796633背景 早期,阿里巴巴B2B公司因为存在杭州和美国双机房部署,存在跨机房同步的业务需求。不过早期的数据库同步业务,主要是基于trigger的方式获取增量变更,不过从2010年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务,从此开启了
2016-07-21 11:02:48 1499
转载 京东一元抢宝系统的数据库架构优化
http://geek.csdn.net/news/detail/89653一元抢宝系统是京东虚拟新兴的一个业务系统,上线以来订单量一直持续增长。在距离618前两个月时,京东商城商品虚拟研发部对系统做了整体预估,订单量快速增长及618大促的到来都将带来单量剧增,届时势必会对数据库容量和负载造成压力。分析结果表明数据库很可能成为影响性能的瓶颈,并决定对数据库底层做分库分表改造,确
2016-07-20 14:36:45 1304
原创 MySQL5.7 虚拟列实现表达式索引
1、建表CREATE TABLE t1 (id INT ,rank INT, log_time DATETIME, nickname VARCHAR(64)) ENGINE INNODB;ALTER TABLE t1 ADD PRIMARY KEY (id), ADD KEY idx_rank (rank),ADD KEY idx_log_time (log_time);2、增加数
2016-07-11 11:36:48 1041
转载 linux手动安装sbt过程
http://blog.csdn.net/zcf1002797280/article/details/496778811. 下载sbt安装包下载地址点这里。2. 解压文件tar zxvf sbt-0.13.9.tgz3. 建立启动sbt的脚本文件在./sbt目录下面新建文件名为sbt的文本文件$ cd ./sbt$ vim sbt#
2016-07-01 18:54:11 494
转载 Ubuntu 安装thrift教程
① Required packages 安装相关支持包sudo apt-get install libboost-dev libboost-test-dev libboost-program-options-dev libevent-dev automake libtool flex bison pkg-config g++ libssl-dev② tar -xvf thrift-
2016-07-01 18:03:00 834
转载 Twitter开源软件列表
http://www.infoq.com/cn/articles/twitter-open-source-list从Twitter的GitHub账户中可以看到,Twitter已经开源的开源项目有近200个,领域涉及分布式架构、大数据、异步网络传输(客户端、服务端)、Web、工具等。Twitter可以称为构建于开源项目之上,该公司开源负责人Chris Aniszczyk表示,如果
2016-07-01 11:44:25 1402
转载 Codis对比Twemproxy
http://www.infoq.com/cn/articles/effective-ops-part-03本文主要目录如下,对Redis比较了解的朋友,可跳过前两部分,直接欣赏Codis相关内容。1. Redis常见集群技术 1.1 客户端分片 1.2 代理分片 1.3 Redis Cluster2. Twemproxy及不足之处3. Codis实
2016-07-01 10:50:25 3447 1
转载 HTTP 浅谈 POST, PUT 和 PATCH
https://ihower.tw/blog/archives/6483在初學REST的這幾年,我都認為這幾個 HTTP Verbs 就是對應 CRUD:POST = 新增GET = 讀取PUT = 更新DELETE = 刪除後來在設計 API only 的 Web service 時,常常搞不清楚到底要用 PUT 還是 POST,才發現我被 Rails 的鷹架範例
2016-06-30 11:38:54 273
原创 HTTP请求方法对照表
根据HTTP标准,HTTP请求可以使用多种请求方法。 HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。 HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。 HTTP Request Method共计15种序号方法描述1GET请求
2016-06-30 11:37:55 409
转载 dubbo/dubbox 增加原生thrift及avro支持
http://www.cnblogs.com/yjmyzz/archive/2016/03/06/dubbo-pritimive-thrift-avro-support.html(facebook) thrift / (hadoop) avro / (google) probuf(grpc)是近几年来比较抢眼的高效序列化/rpc框架,dubbo框架虽然有thrift的支
2016-06-29 10:29:40 1235
原创 接入层三大神器对比-----简略
LVSHAProxyNginx网络协议层44,77性能最高高高资源消耗高中低安装配置复杂一般简单支持的协议tcp之上tcp之上http,pop/smtp会话保持
2016-06-27 15:54:56 338
转载 Netflix公布Cassandra新性能:基于AWS的百万次写入每秒
http://www.csdn.net/article/2014-08-07/2821095-Frevisiting-1-million-writes-per-second在2011年11月发表的文章“ NetFlix测试Cassandra——每秒百万次写入”中我们展示了Cassandra (C*)如何在集群节点增加时实现性能线性增长。随着新型EC2实例类型的产生,我们决定重做
2016-06-23 19:05:27 586
转载 非阻塞同步算法与CAS(Compare and Swap)无锁算法
http://www.cnblogs.com/Mainz/p/3546347.html锁(lock)的代价锁是用来做并发最简单的方式,当然其代价也是最高的。内核态的锁的时候需要操作系统进行一次上下文切换,加锁、释放锁会导致比较多的上下文切换和调度延时,等待锁的线程会被挂起直至锁释放。在上下文切换的时候,cpu之前缓存的指令和数据都将失效,对性能有很大的损失。操作系统对多线程
2016-06-20 16:20:56 666 1
原创 SnowFlake算法
结构snowflake的结构如下(每部分用-分开):0 - 0000000000 0000000000 0000000000 0000000000 0 - 00000 - 00000 - 000000000000第一位为未使用,接下来的41位为毫秒级时间(41位的长度可以使用69年),然后是5位datacenterId和5位workerId(10位的长度最多支持部署1024
2016-06-20 15:37:24 578
转载 阅文集团内容中心id生成器的设计与实现
http://geek.csdn.net/news/detail/82281摘要我们设计并实现了一个分布式的id生成器。它是基于Linux操作系统的,面向我们几乎所有的业务操作,为我们所有的业务提供对象的唯一标识,也为我们的错误号提供标示。虽然id生成器被设计成运行在廉价的Linux机器上或者是混搭在别的业务机器上,但是它依然为我们提供了良好的可访问性和可伸缩性。后期因
2016-06-20 15:02:45 1067
转载 TerarkDB 数据库的性能报告与技术解析
http://blog.csdn.net/whinah/article/details/51545839TerarkDB 简介TerarkDB 是一个拥有极高性能和数据压缩率的存储引擎。使用方法类似Facebook的RocksDB,不过比 RocksDB 具有更多功能,下面是 TerarkDB 的功能特性:高压缩率,通常是 snappy 的2~5倍实时免解压直接检索
2016-06-02 10:43:38 1576
转载 JVM 常用分析工具(二)----jhat
http://blog.csdn.net/gtuu0123/article/details/6039474jhat命令 -- Java Head Analyse Tool 用途:是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询语言第一步:导出堆 第二步:分析堆文件 第三步:查看html
2016-05-31 17:50:12 212
转载 深入学习微框架:Spring Boot
http://www.infoq.com/cn/articles/microframeworks1-spring-boot/Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rap
2016-05-17 18:21:03 167
转载 深入学习微框架:Spring Boot
http://www.infoq.com/cn/articles/microframeworks1-spring-boot/Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Boot致力于在蓬勃发展的快速应用开发领域(rap
2016-05-17 18:20:02 570
转载 JVM 常用分析工具(一)----jstat
http://www.tuicool.com/articles/nQZZjajstat -gcutil 4053 1000 1000jstat -gc 4053 1000 1000 S0C:年轻代中第一个survivor(幸存区)的容量 (字节) S1C:年轻代中第二个survivor(幸存区)的容量 (字节) S0U:年轻代中第
2016-05-09 17:34:40 210
转载 支付宝钱包系统架构内部剖析(架构图)
http://www.woshipm.com/pmd/160822.html支付宝系统架构概况典型处理默认资金处理平台财务会计支付清算核算中心交易柔性事务支付宝的开源分布式消息中间件–Me
2016-04-19 09:43:14 297
原创 Guava用法小计
(一)List to MapMap mapLiver = new HashMap();if(listLiver !=null && listLiver.size() > 0 ){ mapLiver = Maps.uniqueIndex(listLiver, new Function() { @Override public Integer appl
2016-03-03 20:35:15 304
转载 浅析:如何构建稳定的系统
http://geek.csdn.net/news/detail/58333准备工作第一个决策是最简单却最为重要的,属于意识形态的一种:那就是软件是由开发者控制的。开发者需要控制软件,而不是反过来,让管理者、产生负责人控制软件。 唯一能控制软件的人就是编写它们的人。第二个决策就是必须拥有能够掌控的小型工作单元。先解决整个问题的一小部分,并部署到生产环境中,显
2016-03-01 14:55:29 755
转载 轻量级中间件MySQL Router介绍与性能测试
http://www.innomysql.net/article/25361.html#rd?sukey=014c68f407f2d3e115d27f247b7e04b154f8eb4fdf63c87b62a39443d0ee10267f3e328e59e7f4fac657921683f1fe2a官方对于MySQL Router的定义是:MySQL Router is
2016-02-19 10:12:43 1364
转载 一号店用户画像系统实践
http://geek.csdn.net/news/detail/54940我先引用梵高的一句话:“我想强调的是,同一个人有多样的自画像。与其追求照相般的相似性,不如深入地发掘相似处”。下图是是当时梵高比较得意时的画像,戴了礼帽,穿了西服,但那时耳朵已经割掉了。我觉得作为一个好的架构师,要有艺术家的精神。时至今日架构发生了很多变化,新语言在不断出现,我觉得没必要把思维停留在某一个方面。
2016-02-14 10:42:21 2387
转载 Cassandra----暗示移交(hinted handoff)
If a write is made and a replica node for the key is down (and hinted_handoff_enabled == true), Cassandra will write a hint to:versions prior to 1.0: a live replica nodeversion 1.0: the coordinato
2016-02-03 17:37:09 737
转载 Schemaless架构(二):Uber基于MySQL的Trip数据库
http://geek.csdn.net/news/detail/54508Uber的Schemaless数据库是从2014年10月开始启用的,这是一个基于MySQL的数据库,本文就来探究一下它的架构。本文是系列文章的第二部分;第一部分是关于Schemaless的设计。在《Mezzanine项目——Uber的超级大迁移》一文中,我们描述了如何将Uber的核心trip数据从一个单
2016-02-03 17:30:32 419
转载 Schemaless:Uber基于MySQL的可扩展数据库(一)
http://geek.csdn.net/news/detail/53451Mezzanine项目描述了我们如何从单独的Postgres实例中将Uber的核心trip数据提取出来,就成了Schemaless这个具备容错性和高可用性的数据库。本文进一步描述了Schemaless的架构,及其在Uber基础结构中的详细角色,以及它如何成为这样的角色。我们关于新数据库的努力20
2016-02-03 16:04:09 636
转载 数据库性能的6大指标
http://geek.csdn.net/news/detail/53243具体来说,本文包括以下内容:事务查询性能用户和查询冲突容量配置NoSQL 数据库事务事务可以观察真实用户的行为:能够在应用交互时捕获实时性能。众所周知,测量事务的性能包括获取整个事务的响应时间和组成事务的各个部分的响应时间。通常我们可以用这些响应时间与满足事务需求的基线对比,来确
2016-01-28 19:01:03 28063
转载 荔枝FM:异地多活IDC机房架构
http://geek.csdn.net/news/detail/53231多机房架构存在的原因单机房一旦死机,断电、维护根本无法挽回整个数据,想离线读取等都不行。当一个机房不可用,所有的业务就都不可用。荔枝 FM 要求业务离用户最近,南方的用户连南方的机房,北方的用户连北方的机房,国外的用户连国外的机房。大陆的网络和国外的网络有一定的隔离性,如果没有做多机房的
2016-01-28 18:52:16 1607
转载 Java程序员在用的大数据工具
大数据-调查结果MongoDB-一种非常流行的、跨平台、面向document的数据库。Elasticsearch-专为云计算设计的分布式REST风格的搜索引擎。Cassandra-一个开源的分布式数据库管理系统。最初是Facebook设计和开发的,部署在大量商用服务器上来处理大量的数据。高可用,无单点故障。Redis-开源的(BSD)内存数据结构存储、内存库、缓存、消息代理。Haz
2016-01-28 18:32:58 701
原创 linux常用命令------持续更新
# find -type f -name "*.c" | xargs grep ""是你要找的文件夹;如果是当前文件夹可以省略-type f 说明,只找文件-name "*.c" 表示只找C语言写的代码,从而避免去查binary;也可以不写,表示找所有文件是你要找的某个字符串example:find /your/path -type f -print | xargs grep MAS
2016-01-28 16:57:41 225
转载 几种经典的网络服务器架构模型的分析与比较
http://mp.weixin.qq.com/s?__biz=MzA5ODM5MDU3MA==&mid=401904464&idx=1&sn=f225a4d168768065e7d65954b36519af&scene=0#wechat_redirect前言事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面编程中的应用;事实上,在网络编程中事件
2016-01-28 12:31:50 309
转载 业务系统需要怎样的全局唯一ID
http://ericliang.info/what-kind-of-id-generator-we-need-in-business-systems/ID 生成器在微博我们一直叫发号器,微博就是用这样的号来存储,而我微博里讨论的时候也都是以发号器为标签。它的主要目的确如平常大家理解的“为一个分布式系统的数据object产生一个唯一的标识”,但其实在一个真实的系统里可能也可以承担更多的
2016-01-20 18:38:24 268
转载 Spring Boot 性能优化
http://geek.csdn.net/news/detail/49541Spring 框架给企业软件开发者提供了常见问题的通用解决方案,包括那些在未来开发中没有意识到的问题。但是,它构建的 J2EE 项目变得越来越臃肿,逐渐被 Spring Boot 所替代。Spring Boot 让我们创建和运行项目变得更为迅速,现在已经有越来越多的人使用它。我们已经在几个项目中使用了 Spri
2016-01-08 17:15:18 1566
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人