- 博客(18)
- 收藏
- 关注

原创 大型电子商务平台架构
一、大型电商平台的定义大型电商平台,很难给出统一的定义,有几个常用的指标:(1)SKU千万以上;(2)UV千万以上,PV亿以上;(3)峰值订单每秒万单以上,日均订单百万以上;(4)业务线复杂,全渠道多品类;(5)在行业领域内至少排名前五名。满足以上要求的公司,没有几家。阿里、京东、苏宁、唯品会符合以上要求。二、大型电商平台的演进第一,组织演进。成长为大型电商至少
2016-09-15 22:17:49
3913

原创 非JAVA程序员如何转型为一名优秀的JAVA工程师
如何转型为优秀的JAVA工程师,涉及的内容挺多,本文的目的是,在二个月内,将一名有经验的非JAVA工程师,转型成为在简单指导下可以独立工作的JAVA工程师。本文从初、中、高级工程师的定义开始,设计了六个课程帮助完成转型。
2016-09-15 17:24:17
963
原创 稳定性治理
稳定性治理工作,就是要为失败进行设计(Design for failure),容灾和容错是主要手段。可用率、容错率是主要指标。稳定性治理工作,是大促保障的核心内容。一个集容量规划、分布式服务治理系统、分布式服务跟踪系统、分布式日志系统、自动化监控和告警系统、分布式全链路压测系统、Chaos Money 故障演练系统为稳定性治理提供了绝佳的保证。
2016-11-25 20:22:04
1606
原创 分布式数据库选型
1、分库分表:(1) 允许分库分表规则的自定义,包括算法的自定义,能够支持离散型(哈希、一致性哈希,取模),连续区间型(时间区间、列表区间),复合型;(2) 允许通过路由表(或者映射表)来动态路由结点或DB,对于透明的后端结点或DB,可以提供接口支持此功能;(3) 允许基于多字段分库分表,不同字段采用不同的算法(可选)2、读写分离:(1)基于配置的透明的读写分离;(2)可基
2016-10-08 12:04:14
1029
原创 服务容错性设计
服务要有容错设计,为失败而设计。服务主要异常场景:(1)服务内部出错、异常;(2)服务处理延迟;(3)服务处理过载;(4)网络链路延迟或中断;(5)服务依赖链中部分依赖SLA不达标,造成整体服务不可用;(6)服务链条过长,造成SLA整体不可控;解决的思路:隔离(物理或逻辑)、自我保护、失效转移或恢复、降级。1、隔离手段:依据服务重要性分级或流量特
2016-09-30 15:37:06
3073
原创 [置顶]F#学习之路(5)元组类型
元组类型,表示一组有序数据类型的集合。F#通过支持元组类型,方便了我们定义临时数据结构,而不需要为了临时的数据专门定义一个数据类型。 一、元组的定义: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> let tupl
2014-11-23 21:09:43
431
原创 [置顶]F#学习之路(2) 深刻理解函数(上)
函数在函数式编程语言中是一等公民,是函数式语言中最重要的基本组成元素,也是其名称的由来。 F# 中的函数之如C#中的类,是组织程序结构的最基本单元。是命令式编程语言中函数或OO编程语言中方法的超集。超集,有多强大?我将在下面几个方面细细道来。 F#是一种多范式的编程语言。支持命令式、函数式、面向对象的编程范式,还有目前火热的面向语言编程(DSL)。本文不会介绍其他的编程
2014-11-23 21:09:36
429
原创 F#学习之路(7)集合类型
上一篇博客,介绍了列表类型,本篇将介绍数组类型Array、字典类型(Map),以及可变数组(ResizeArray)、Set类型。 一、数组类型 (Array) 数组类型,在语义上表示一组相同类型的集合。这个跟列表(List)相似,两者的区别在于列表类型数据元素不可变,而数组类型可以。虽然数组类型随机访问,在查询访问上性能优先列表,但列表在变更集合(增加、删除集合元素)上有
2014-11-23 21:09:30
379
原创 F#版本更新说明
F#CTP 1.9.6.0更正列表: 1、名称空间必须使用完全限定名打开,名称空间不可以取别名。 2、在fs,fsi文件中,除注释外,第一行必须使用#light或#light "off" 3、元组类型互操作上发生了变动。 新增了两个类型来提供互操作上的支持。TupleEnd,TupleNested,彻底解决了互操作上的不一致性。 Code
2014-11-23 21:09:24
347
原创 F#学习之路(6)列表类型
列表在函数式编程中占据着重要的位置。在Lisp语言中,一切皆是列表,就连函数也是列表,列表在Lisp语言中发挥到了极致。F#语言列表语法来源于Ocaml,与Haskell语言也基本一致。本文只会讲解一些常用的使用方法,要很好的掌握列表,各位朋友可以google一下相关的内容。网络上对列表讨论比较深刻的大多以Haskell语言为例(Lisp语言列表很强大,但与大多数函数式语言列表的区别太大,不好借鉴
2014-11-23 21:09:18
335
原创 F# CTP 版本的发布带来了哪些变化
今天早上看到园子里首页上新闻链接,发现F#发布了CTP版本。这一版本的发布,可以说标志着F#正式进入了.net程序员的视野。 Don Syme 在博客里讲解了主要的变化。原文请看:http://blogs.msdn.com/dsyme/default.aspx 主要的变化有三方面: 1、更好的脚本执行能力,更好地项目、语言服务支持。 这个没有什么可说
2014-11-23 21:09:13
383
原创 F#学习之路(4) 基本类型
F#基本类型包括整型、浮点型、布尔型(bool)、字符型(char)、字符串型(string),还有元组类型(tuple)、列表类型(list)、数组类型(array),序列类型(seq)。另外,还允许我们定义记录类型(record type)、联合类型(union type)、活动模式等。当然,F#作为一种多范式的编程语言,支持所有的OO编程语法,允许我们定义类、接口、委托、结构等,本篇文章只介
2014-11-23 21:09:06
458
原创 F#学习之路(3) 如何组织程序(下)
二、名称空间(namespace) 名称空间,将一组逻辑上相关的类型、模块放在一起,主要是为了解决名称冲突的问题,同时也便于更好的理解程序结构。F#的名称空间概念及定义与C#基本相似。 1、定义名称空间 在F#中定义名称空间,使用关键字namespace。 namespace FSharpLearning
2014-11-23 21:09:00
448
原创 F# 学习之路(3) 如何组织程序(上)
一、模块(module) 在F#中模块通常用来封装一组变量和对某种数据结构的操作,例如F#中的List,Map,Seq等模块,这些模块用来针对List列表、Map键值对、Seq序列等数据结构进行操作。 1、定义一个模块 在F#中定义一个模块,使用关键字module。如果你在一个源代码文件中(.fs文件)没有显式定义一个模块,F#默认你定义了一个以源文件名大
2014-11-23 21:08:56
456
原创 F#学习之路(2) 深刻理解函数(下)
3、函数作用域 在F#中组织程序结构的方法有以下几种,使用类型 (type)来支持自定义数据类型,使用名称空间(namespace)来确保类型唯一,模块(module)则用来封装某一数据类型及其操作,而函数则封装了行为或业务逻辑。本文只简单介绍模块(module),其他内容将在下一主题中讨论。 函数是函数式语言中最基本的组成,是应用程序中具体业务逻辑的实现者,弄清其作用
2014-11-23 21:08:50
385
原创 F#学习之路(1)什么是函数式编程
对于什么是函数式编程,这个是人云亦云。本文并不打算对此进行定义,而是希望与园子里的朋友们共同探讨这个话题,抛砖只为引玉。 本文希望通过介绍F#中的语法,来了解函数式编程中专门的概念。 1、维基百科给出的定义是: 函数式编程是种编程范式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ 演算(lambda calculus)。 而且λ演算的函数可以接受函数
2014-11-23 21:08:43
686
原创 F#学习资源
最近两年动态语言、函数式语言开始流行,其主要原因来源于多核时代的到来,web2.0的理念。传统式语言对并发、扩展本身支持不够好,对程序员素质要求高,开发效率低等诸多因素,迫使一部分人重新审视其他编程范式,Erlang,Python,Ruby这些语言得到了关注。因为本人工作在.net平台下,本着最小化学习的原则,决定学习微软开发的语言,以便更好的利用原有知识。微软的F#,IronPython,Iro
2014-11-23 21:08:38
498
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人