应用系统设计思考

及时响应应用系统是软件系统近些年来的一个发展趋势(信息的价值随时间变久而价值降低),从设计上需符合Reactive宣言四大部分 1. 对事件反应 2. 对资源加载反应 3. 对失败反应 4. 对用户访问反应 通过宣言可以总结反思过去软件设计的一些教训,比如: 1. 在分布式系统中把状态做集中式...

2014-04-18 11:17:43

阅读数 5918

评论数 0

访客路径分析-Druid实践

一、背景 访客分析是常见数据分析的一种,通过如上图(Google Analytics)以比较直观的方式展现用户达到网站后各条访问路径的流失情况,帮助网站优化减少流失率。 访客路径分析有如下几个关键点: 用户访问的路径通常有多级,默认展开包含着陆页在内的5级路径,支持往后每点击一次展开一...

2018-05-04 17:16:53

阅读数 391

评论数 0

有序漏斗分析-Druid实践

有序漏斗分析 一、背景 漏斗分析是常见数据分析的一种,通过分析用户在网站的行为,帮助运营人员分析一个多步骤过程中每一步的转化与流失情况。比如定义一次电商活动(指定时间范围比如最长30天)中用户行为:访问网站 -> 到达商品推荐页 → 查看商品 → 生成订单,统计用户从...

2018-05-02 15:21:20

阅读数 1167

评论数 0

分布式系统唯一ID生成

转载至:http://darktea.github.io/notes/2013/12/08/Unique-ID 本文主要介绍在一个分布式系统中, 怎么样生成全局唯一的 ID 一, 问题描述 在分布式系统存在多个 Shard 的场景中, 同时在各个 Shard 插入数据...

2015-12-18 10:08:14

阅读数 3057

评论数 0

java运行

java 参数: -Xms128m 表示JVM Heap(堆内存)最小尺寸128MB,初始分配 -Xmx256m 表示JVM  eap(堆内存)最大允许的尺寸256MB,按需分配。 说明:如果-Xmx不指定或者指定偏小,应用可能会导致java.lang.OutOfMem...

2015-11-03 17:42:48

阅读数 366

评论数 0

Druid简介

Druid是一个用于大数据实时查询和分析的高容错、高性能开源分布式系统,旨在快速处理大规模的数据,并能够实现快速查询和分析。 特征: 为分析而设计——Druid是为OLAP工作流的探索性分析而构建,它支持各种过滤、聚合和查询等类;快速的交互式查询——Druid的低延迟数据摄取架构允许事件在...

2015-10-20 13:46:04

阅读数 902

评论数 0

再谈面向对象多态及C++实践

多态特性: 提起面向对象,很自然地想到三大特性:封装、继承、多态。他们的目录分别是: 1. 封装,使代码模块化封装内部结构和状态。 2. 继承,用于扩展原有代码。 3. 多态,方便接口重用,通过同一接口和传入的对象调用适用于不同对象的实现。多态在运行时绑定函数,而非多态则在编译期就已确定了...

2014-11-27 15:14:48

阅读数 844

评论数 0

Linux磁盘管理之LVM与RAID(转载)

1. 传统磁盘管理问题 当分区大小不够用时无法扩展其大小,只能通过添加硬盘、创建新的分区来扩充空间,但是新添加进来的硬盘是作为独立文件系统存在的,原有的文件系统并未得到扩充,上层应用很多时候只能访问一个文件系统。只能让现有磁盘下线,换上新的磁盘之后,再将原来磁盘中的数据导入。 ...

2014-09-12 09:41:23

阅读数 491

评论数 0

MongoDB应用实践思考

最近研究MongoDB,利用其可以简单快速地搭建一套灵活的no schema存储系统。 本文通过论证和分析需求,利用MongoDB快速搭建了一套具有良好性能及可用性满足上亿规模的存储系统。 在关于NoSQL数据库的选型上,需要结合自身数据模型、访问方式以及成本等方面的考虑作一个权衡(trad...

2014-09-11 11:09:57

阅读数 1241

评论数 0

软件设计的思考

关键词: trade off、资源限制、人力、空间、时间 最近有幸参与到新的项目设计开发中,结合工程实践中的经验与教训发掘可从资源调配的角度来思考架构设计问题。 工程中的软件设计是什么?即在资源有限的条件下,控制成本并作出资源整合效率最大化的配置的设计。 那么结合计算机系统可从以下...

2014-08-16 09:28:37

阅读数 542

评论数 0

MongoDB简单学习

1. 与传统RMDBS的对比 MongoDB作为一款NOSQL数据库,相比传统的关系型数据库如MySQL的一大特点就是数据模型上的无模式定义,在获取灵活数据模型的同事,又在特定的环境中表现出绝佳的性能。学习MongoDB从数据的结构定义上入手可与MySQL做对比如下: mysql  ---...

2014-08-10 22:42:21

阅读数 641

评论数 0

Git使用入门

Git作为一种版本控制系统广泛应用于软件开发协作当中。 Git有其自身的系统与开发哲学这里不做过多深究,本文只针对工作实践中的需求,让开发者能够快速set up。 1. git 简明指南 http://rogerdudler.github.io/git-guide/index.zh.html ...

2014-05-03 12:45:20

阅读数 608

评论数 0

软件与经济学 (开发篇)

跨界、混搭、连接。 在当前基于互联网的这个世界中以上3点有着别样的魅力和潜力。 经济学是人类发展过程中的产物,其揭示了客观事物的运行规律。其中经济学3大命题: 1. 生产什么 2. 为谁生产 3. 怎么生产 谈得是生产力的问题,我觉得同样也适用于“科学技术是第一生产力”的IT行...

2014-04-24 16:12:37

阅读数 623

评论数 0

ubuntu环境ceph配置入门(二)

快速配置好ceph存储集群环境的基础上,可以相关的对象操作: 1. 设置osd pool min_size 首先通过rados命令查看pool如下: #rados lspools data metadata rbd ...

2014-04-23 10:33:54

阅读数 10941

评论数 1

ubuntu环境ceph配置入门(一)

环境:ubuntu server 14.04 64bit 正常情况下应有多个主机,这里为了快速入门以一台主机为例,多台主机配置方式类似。

2014-04-23 10:07:56

阅读数 10937

评论数 2

服务端性能分析优化

要提高服务端处理的绝对性能和伸缩性,通常分析以下几点: 1. 数据拷贝 2. 上下文切换 3. 内存分配 4. 锁的争用

2014-04-21 15:42:32

阅读数 862

评论数 0

ubuntu无线上网静态ip配置

安装完ubuntu server版后,需要配置相关上网的设置,这里以14.04版为例说明无线上网的静态配置(有线上网配置类似)。 1. 安装wpasupplicant 在ubuntu 14.04中默认自带,利用该工具生成无线上网的psk码 2. 根据无线上网的SSID和密码生...

2014-04-20 19:50:34

阅读数 9213

评论数 0

元数据的理解

最近在项目当中,沟通中常提到一个元数据,但是这个词我发现不同的人对此理解不同而导致了沟通障碍。 所以写篇博客澄清下,在一个成功的项目中,大家首要工作的是统一语言统一概念这样才不会持续地造成理解偏差。 元数据:即”数据的存档“,作用是帮助理解和使用数据。但是同样的词有以下3种不同的类...

2014-03-17 10:37:26

阅读数 546

评论数 0

从开发人员角度看待性能基准测试

对一个开发人员来说,除了保质保量按时完成功能需求外,非功能也不可忽视。 决定一个软件的成败往往是非功能性需求比如性能,若是用户体验不好那么必定是个失败的作品。 那么一个开发人员如何去做关于自己模块又或者整体的基准性能测试呢?以下将从测试的切入点和具体测试的指标来说明。 切入点: 通常,基准性能...

2014-03-03 09:54:51

阅读数 846

评论数 0

关于秒传文件技术的一些问题

最近项目要实现一个被各大网盘广泛使用的“忽略式快速上传文件技术”。 查阅了相关资料,一方面关于该项技术的深入讨论很少,另一方面关于该项技术的专利少且谈得不够深入。其中最大的一个问题是关于内容的保存问题。大多数网盘由于近乎无限的存储,对他们来说用户上传的内容可以看做永远保留在他们的后台,用户删掉的只...

2014-02-28 10:27:32

阅读数 2049

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭