Java未来的系统底层开发是什么样子的
原创约 621 字大约 2 分钟...
71-Java未来的系统底层开发是什么样子的?.md
注意
本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。
自定义异常
示例:
使用springmvc完成商品信息修改
- 如果id不存在,报异常

如上实例在生活中是否有遇到?例购物车有这商品,但此商品已下架。。。。可能出现此种情况。 那么为什么会出现这种情况呢?如果商品下架的话我们会是把商品所有相关联的信息都删除, 那么为什么没有删除呢?可能是因为做的应用足够复杂,数据不一定保存到数据库,比如电商平台, 有商品信息,有商品表,还有订单表,还有购物车表,三张表。但是为咯进行系统优化,可能会出现这种情况, 三张表存在不同的数据库里边。还有一种情况,为咯让用户访问的时候性能非常好, 还可能把三张表存在Redis里边, 就是说不但数据库里有这些表,Redis内存里边也有这些表, 所以实际项目中services是非常复杂的。。。下面以pay这个demo为例进行举例说明
系统复杂性说明:
秒课系统:
秒杀商品系统:
用户请求-----》web应用------》访问数据库
秒杀的业务逻辑:查询库存是否大于0---》库存减1----》生成订单
尽量让用户前期少访问数据库,以优化系统的性能:
1.提前把库存数据放入redis内存数据库中
2.用户请求过来---》查询库存是否大于0(查询redis数据库即可)
---》库存减1(对redis数据库中的库存减1)
---》生成订单(karfka技术异步访问数据库)
---》通过轮询技术获取秒杀的结果
dao--->redisDao oracleDao
service--->addBook()---->redisDao.addBook()&oracleDao.addBook()
分割线
相关信息
以上就是我关于 Java未来的系统底层开发是什么样子的? 知识点的整理与总结的全部内容
Powered by Waline v2.15.4