全国服务热线:400-035-8011

位置:珠海达内IT教育培训学校 > 学校动态 > Java业务架构设计之路

Java业务架构设计之路

来源:珠海达内IT教育培训学校时间:2019/12/6 8:49:54

一、业务为什么难做

IM系统,例如QQ或者微博,每个人都读自己的数据(好友列表、群列表、个人信息)。

微博系统,每个人读你关注的人的数据,一个人读多个人的数据。


Java业务架构设计之路


系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。

例如小米手机每周二的,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。又例如12306抢票,票是有限的,库存一份,瞬时流量非常多,都读相同的库存。

读写冲突,锁非常严重,这是业务难的地方。那我们怎么优化业务的架构呢?

二、优化方向

优化方向有两个:

将请求尽量拦截在系统上游(不要让锁冲突落到数据库上去)。

传统系统之所以挂,请求都压倒了后端数据层,数据读写锁冲突严重,并发高响应慢,几乎所有请求都超时,流量虽大,下单成功的有效流量甚小。

以12306为例,一趟火车其实只有2000张票,200w个人来买,基本没有人能买成功,请求有效率为0。

充分利用缓存,买票,这是一个典型的读多写少的应用场景,大部分请求是车次查询,票查询,下单和支付才是写请求。

一趟火车其实只有2000张票,200w个人来买,多2000个人下单成功,其他人都是查询库存,写比例只有0.1%,读比例占99.9%,非常适合使用缓存来优化。

好,后续讲讲怎么个“将请求尽量拦截在系统上游”法,以及怎么个“缓存”法,讲讲细节。

三、常见架构

常见的站点架构基本是这样的(特别是流量上亿的站点架构):

浏览器端,上层,会执行到一些JS代码

站点层,这一层会访问后端数据,拼HTML页面返回给浏览器

服务层,向上游屏蔽底层数据细节,提供数据访问

数据层,终的库存是存在这里的,MySQL是一个典型(当然还有会缓存)

这个图虽然简单,但能形象的说明大流量高并发的业务架构,大家要记得这一张图。

后面细细解析各个层级怎么优化。

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/1780/news/120531/违者必究! 以上就是珠海达内IT教育培训学校 小编为您整理 Java业务架构设计之路的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-035-8011