0、详细讲一下你的项目?
项目基于多个微服务模块实现,使用Nacos做为微服务的注册与发现中心。引入gateway组件作为服务入口的统一管理。使用Open Feign作为服务间通信的组件,基于请求与响应的方式。使用seata组件提供分布式事务的服务。基于ES实现商品的检索等等。
1、你项目中的难点是什么?(字节)(华为)(美团)
一、查询商品详情
查询商品详情,也就是从商城主页面点击一个商品到展示一个商品的详细信息这一步骤。由于逻辑比较复杂,而且有些数据还需要进行远程调用。
**(获取SKU基本信息 -> 获取SKU图片信息 -> 获取SKU促销信息 -> 获取SPU销售属性 -> 获取规格参数组以及组下参数-> 获取SPU详情)**为了优化这一部分的时间,引入了线程池技术从而多线程异步的方式执行以上任务。
但是异步任务又涉及到一个异步编排的问题,也就是说有些任务的先后顺序是有要求的。可以使用completableFuture
来完成异步编排。
二、登录问题
抽取SSO单点登录模块,一切的登录请求由该模块处理。是基于相同顶级域名的SSO实现。
2、你用了线程池,为什么用线程池?工作顺序说一下?(顺丰科技)(滴滴)(美团)(shopee)
- 使用线程池可以减少创建和销毁线程的次数,从而降低资源的消耗。每个工作线程都可以重复使用
- 可以根据系统的承受能力,调整线程池中工作线程的数量,防止因为