文章分类 -  架构设计

摘要:比如,延迟5分钟。 1、写数据 一个圆环上有5个存储节点, 第一个节点存当前时间的分钟对5取余为0的数据; 第二个节点存当前时间的分钟对5取余为1的数据; 以此类推; 2、读取数据的程序, 计算当前时间的分钟对5取余,记为A;然后A+1再对5取余,记为B; (优化下,获取当前时间的分钟+1,然后对5 阅读全文
posted @ 2017-12-13 18:41 wbinbin 阅读(362) 评论(0) 推荐(0)
摘要:为啥写这篇文章呢?因为我问过几个人,没有一个人把这个事解释清楚。代理的作用,大家都明白,但是正反体现在哪呢? 正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板。简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站, 阅读全文
posted @ 2017-10-24 10:51 wbinbin 阅读(143) 评论(0) 推荐(0)
摘要:1.业务背景 开发了一个App,用户可以和App对话: 2.时序图 3.分析 2.1分解:场景(Scene)和事件(Event)。2.2定义:这里有两个场景:购物和退货,每个场景里面有N个事件,定义如下:scene_shopping={evnt_buy, evnt_next, evnt_submit 阅读全文
posted @ 2017-04-01 19:11 wbinbin 阅读(141) 评论(0) 推荐(0)
摘要:一、数据结构 hbase,mongodb,redis都属于nosql型存储方案。在实际的项目实践上看,他们的系统存储及处理的数量由大到小。 HBase基于列存储,提供<key, family:qualifier, timestamp>三项坐标方式定位数据,由于其qualifier的动态可扩展型(无需 阅读全文
posted @ 2017-03-29 19:19 wbinbin 阅读(491) 评论(0) 推荐(0)
摘要:总体思路 时间戳 + 标识符 + 序列号 时间戳:System.currentTimeMillis() 标识符:可以采用业务编号区分 序列号:自增的值 介绍Snowflake Snowflake采用二进制表示的话,正好是一个64位的Long型。每一位的解释: 第一个bit:只能是0,表示这是个正数, 阅读全文
posted @ 2017-03-22 13:46 wbinbin 阅读(382) 评论(0) 推荐(0)
摘要:1、 Web工程中,Util在各层中的功能特性不一样,coding的时候,务必注意,如果写的地方不对,被人调用了,后期的维护很麻烦。 2、 Api-util 目前没发现什么代码需要写在这里。 3、 Common-util,通用的工具类 Httpclient getIp MD5 DataUtil 重点 阅读全文
posted @ 2017-03-01 22:54 wbinbin 阅读(405) 评论(0) 推荐(0)
摘要:前言 一个好的架构是靠演变而来,而不是单纯的靠设计。刚开始做架构设计,我们不可能全方位的考虑到架构的高性能、高扩展性、高安全等各方面的因素。随着业务需求越来越多、业务访问压力越来越大,架构不断的演变及进化,因而造就了一个成熟稳定的大型架构。如淘宝网、Facebook等大型网站的架构,无不从一个小型规 阅读全文
posted @ 2017-02-28 20:21 wbinbin 阅读(127) 评论(0) 推荐(0)