近几年来java 分布式彷佛已经成为公司招聘的一部份内容,好多从事java工做的人都在努力的去学习一些分布式框架,好比阿里巴巴的 double,zookeeper,包括现有的springCloud,等等,一系列的框架。java
java 的分布式 其实很早就提出来了,至于哪一年不大记得,有兴趣的能够去了解下。在我周围的有那么一些人,偶尔我听到这样的一些说辞:等我学会了分布式我就能拿到更高的薪资。android
也有多是周围环境的局限形成的,在开发的生涯之中 ,代码,语言永远只是一种工具,编程讲究的是思惟,代码辅助于业务。web
咱们来思考一个东西:如今要实现一个 百万用户访问级别的系统,日志大概一秒破百,系统总共分为四端:微信公众,web,android,IOS。 权限实现自由控制,session实现全局统一,事物实现统一。数据库一张表数据量破百万。spring
听起来彷佛这样的业务很唬人。数据库
题外话:写代码内心面首先不要有怕字,团队的人特别是团队的核心人员,能给你的提高远远比通常的本身去苦读野史文章来的更快,去学习他的思惟方式远远比获得他的代码来的更重要。编程
回归正题:先来看一张支付宝的业务图(这图我不知道哪里看到的顺道用了)设计模式
这是一张基于SOA的设计图,在一个SOA的系统架构里,一次业务请求将会跨多个服务,那么session的统一以及权限的控制就贯穿于整个系统之中。在个人设计里面从表到java业务代码里面,遵循树形设计模式,大体的草图以下微信
每个业务块都会细分为多个小业务块,小业务块最终一级一级往上进行处理,自下而上的规则进行业务处理。session