该电商项目中,我主要负责商品详情和购物车两大模块:
其中商品详情模块的主要涉及到的技术就是多服务之间的远程调用、多线程之间的异步编排、前后端联调和页面静态化。
因为商品详情中包含很多信息,比如商品的基本信息、库存量、营销信息、发货地址等等,所以涉及到多个微服务之间的远程调用,该项目是以nacos为注册中心和配置中心,远程调用使用的是openfeign,还有链路追踪slueth,以及负载均衡使用到的是ribbon,服务容错使用到的是hystrix。
因为商品详情中包含的信息很多,所以如果使用单线程的话会降低效率,因此使用线程池来进行多个线程以异步的方式调用不同的服务器来获取数据以提高效率,这一块呢我使用到的技术是CompletableFuture,他是Future接口的一个实现类,可以获取到线程的返回结果,并对该结果再次进行异步编排,可以大幅度的提高效率。
紧接着就是配合前端进行前后端联调。
商品详情很容易产生高并发,因此需要进行缓存,但是因为商品数很多,每个商品详情占用的内存大概在10kb左右,如果使用redis进行缓存的话会占用大量的内存,因此这一块我使用到的是页面静态化技术,使用到的是thymeleaf模板引擎,将静态页面生成到共享硬盘中,下次用户访问就可以直接访问静态页面,大幅度提高查询效率。



