-
GC 一般耗时50毫秒查看全部
-
高并发方案查看全部
-
....查看全部
-
优化总结查看全部
-
高并发方案查看全部
-
dao中的存储过程秒杀方法传入参数为map查看全部
-
mappers.xml中的配置,使mybatis调用存储过程查看全部
-
采用存储过程后,seckillservice的执行秒杀不需要抛出异常(之前的异常抛出是为了告知spring的声明式事务的回滚及提交)。查看全部
-
并发优化查看全部
-
restful接口 - 用来描述资源,通过不同的提交方式(GET/POST)来达到描述行为的目的 写 一般通过post 读 一般通过get查看全部
-
站在使用者角度设计接口,而不是考虑怎么去实现这个接口,达到干净直接的目的查看全部
-
mybatis中设计dao接口,每个dao方法对应一条sql语句 上层service调用组合这些dao方法完成业务逻辑查看全部
-
项目角色查看全部
-
一部分流量已经被cdn缓存锁拦截 不过秒杀的操作,秒杀的地址获取这样的请求不方便放入cdn中,所以访问到我们的服务器 我们的服务器会通过我们的dns查找到我们的地址 一般找到的是nginx地址,nginx一般部署到不同的机房,比如电信,移动,联通 这样的话智能的dns会根据用户的请求ip地址来智能的dns解析来请求最近的Nginx服务器 nginx还会给我们的服务器做负载均衡 之后会有jetty tomcat等我们的逻辑集群,用来放置我们的代码 访问到tomcat jetty服务器的时候,会用到缓存集群redis(根据数据量,使用规模,一般用一个redis集群) 会根据使用规模来调整集群 mysql,根据关键的id来分库分表,这里关键的id肯定是秒杀的id 因为同一个秒杀的id应该放在同一个数据库中,这样事务才会在同一个数据库中生效 根据seckillId来取模,分表(一般分表都是512张表,1024张表等等这样的翻倍) 然后按照负载及读写的请求量来做到分库 (分库分表框架,阿里巴巴的TDDL) 这样保证了同一个秒杀单在同一个数据库中完成事务,同时保证如果是非常庞大的请求, 可以把流量和读写的事务量分发到不同的数据库中 还会有一个统计分析组件,在多个DB中拉取秒杀单来做分析(类似于BI系统,各种数据统计报表)查看全部
-
系统用到的服务查看全部
举报
0/150
提交
取消